Java 类com.mongodb.gridfs.GridFSInputFile 实例源码

项目:anhalytics-core    文件:MongoFileManager.java   
/**
 * Inserts publication annex document.
 */
public void insertAnnexDocument(BinaryFile bf, String dateString) throws ParseException {
    try {
        GridFS gfs = new GridFS(db, MongoCollectionsInterface.PUB_ANNEXES);
        BasicDBObject whereQuery = new BasicDBObject();
        whereQuery.put("repositoryDocId", bf.getRepositoryDocId());
        whereQuery.put("filename", bf.getFileName());
        gfs.remove(whereQuery);
        //version ?
        GridFSInputFile gfsFile = gfs.createFile(bf.getStream(), true);
        gfsFile.put("uploadDate", Utilities.parseStringDate(dateString));
        gfsFile.setFilename(bf.getFileName());
        gfsFile.put("source", bf.getSource());
        gfsFile.put("version", bf.getRepositoryDocVersion());
        gfsFile.put("repositoryDocId", bf.getRepositoryDocId());
        gfsFile.put("anhalyticsId", bf.getAnhalyticsId());
        gfsFile.save();
    } catch (ParseException e) {
        logger.error(e.getMessage(), e.getCause());
    }
}
项目:KernelHive    文件:DataManager.java   
public DataAddress uploadData(String data, DataAddress dataAddress) throws UnknownHostException {
      ServerAddress server = new ServerAddress(dataAddress.hostname, dataAddress.port);
      GridFS database = connectToDatabase(server);

      logger.info("Database connected");

      GridFSInputFile file = database.createFile(data.getBytes());
      int newID = getNextId(database);
      logger.info("Got new id for uploaded file: " + newID);
file.setFilename(String.valueOf(newID));
      file.put("_id", newID);
      file.save();

      logger.info("after save");

      return new DataAddress(dataAddress.hostname, dataAddress.port, newID);
  }
项目:Rapture    文件:GridFSBlobHandler.java   
@Override
public Boolean storeBlob(CallingContext context, String docPath, InputStream newContent, Boolean append) {
    GridFS gridFS = getGridFS();
    GridFSInputFile file;
    if (!append) {
        gridFS.remove(docPath);
        file = createNewFile(docPath, newContent);
    } else {
        GridFSDBFile existing = gridFS.findOne(docPath);
        if (existing != null) {
            try {
                file = updateExisting(context, docPath, newContent, gridFS, existing);
            } catch (IOException e) {
                file = null;
                log.error(String.format("Error while appending to docPath %s: %s", docPath, ExceptionToString.format(e)));
            }

        } else {
            file = createNewFile(docPath, newContent);
        }
    }
    return file != null;
}
项目:biomedicus    文件:MongoDbXmiWriter.java   
@Override
public void process(CAS aCAS) throws AnalysisEngineProcessException {
  Type documentIdType = aCAS.getTypeSystem()
      .getType("edu.umn.biomedicus.uima.type1_5.DocumentId");
  Feature docIdFeat = documentIdType.getFeatureByBaseName("documentId");

  String documentId = aCAS.getIndexRepository()
      .getAllIndexedFS(documentIdType)
      .get()
      .getStringValue(docIdFeat);

  if (documentId == null) {
    documentId = UUID.randomUUID().toString();
  }

  GridFSInputFile file = gridFS.createFile(documentId + ".xmi");

  try (OutputStream outputStream = file.getOutputStream()) {
    XmiCasSerializer.serialize(aCAS, outputStream);
  } catch (IOException | SAXException e) {
    throw new AnalysisEngineProcessException(e);
  }
}
项目:Wiab.pro    文件:MongoDbStore.java   
@Override
public void storeAttachment(AttachmentId attachmentId, InputStream data)
    throws IOException {
  GridFSInputFile file = getAttachmentGrid().createFile(data, attachmentId.serialise());

  try {
    file.save();
  } catch (MongoException e) {
    // Unfortunately, file.save() wraps any IOException thrown in a
    // 'MongoException'. Since the interface explicitly throws IOExceptions,
    // we unwrap any IOExceptions thrown.
    Throwable innerException = e.getCause();
    if (innerException instanceof IOException) {
      throw (IOException) innerException;
    } else {
      throw e;
    }
  }
}
项目:BLELocalization    文件:MongoService.java   
public String saveFile(InputStream is, String contentType) throws IOException {
    GridFSInputFile file = getNewFile();    
    String id = file.getId().toString();
    OutputStream os = getFileOutputStream(id, contentType);
    if (os != null) {
        try {
            byte data[] = new byte[4096];
            int len = 0;
            while ((len = is.read(data, 0, data.length)) > 0) {
                os.write(data, 0, len);
            }
            return id;
        } finally {
            os.close();
        }
    }
    return null;
}
项目:anhalytics-core    文件:MongoFileManager.java   
/**
 * Inserts grobid tei using GridFS.
 */
public void insertGrobidTei(String teiString, String repositoryDocId, String anhalyticsId, String version, String source, String type, String date) {
    try {
        GridFS gfs = new GridFS(db, MongoCollectionsInterface.GROBID_TEIS);
        gfs.remove(repositoryDocId + ".tei.xml");
        GridFSInputFile gfsFile = gfs.createFile(new ByteArrayInputStream(teiString.getBytes()), true);
        gfsFile.put("uploadDate", Utilities.parseStringDate(date));
        gfsFile.setFilename(repositoryDocId + ".tei.xml");
        gfsFile.put("repositoryDocId", repositoryDocId);
        gfsFile.put("anhalyticsId", anhalyticsId);
        gfsFile.put("source", source);
        gfsFile.put("version", version);
        gfsFile.put("documentType", type);
        gfsFile.save();
    } catch (ParseException e) {
        logger.error(e.getMessage(), e.getCause());
    }
}
项目:anhalytics-core    文件:MongoFileManager.java   
/**
 * Inserts TEI metadata document in the GridFS.
 */
public void insertMetadataTei(String tei, String doi, String pdfUrl, String source, String repositoryDocId, String version, String type, String date) {
    try {
        GridFS gfs = new GridFS(db, MongoCollectionsInterface.METADATAS_TEIS);
        gfs.remove(repositoryDocId + ".tei.xml");
        GridFSInputFile gfsFile = gfs.createFile(new ByteArrayInputStream(tei.getBytes()), true);
        gfsFile.put("uploadDate", Utilities.parseStringDate(date));
        gfsFile.setFilename(repositoryDocId + ".tei.xml");
        gfsFile.put("repositoryDocId", repositoryDocId);
        gfsFile.put("anhalyticsId", generateAnhalyticsId(repositoryDocId, doi, pdfUrl));
        gfsFile.put("source", source);
        gfsFile.put("version", version);
        gfsFile.put("documentType", type);
        gfsFile.save();
    } catch (ParseException e) {
        logger.error(e.getMessage(), e.getCause());
    }
}
项目:anhalytics-core    文件:MongoFileManager.java   
/**
 * Inserts PDF binary document in the GridFS.
 */
public void insertBinaryDocument(BinaryFile bf, String date) {
    try {
        GridFS gfs = new GridFS(db, MongoCollectionsInterface.BINARIES);
        gfs.remove(bf.getFileName());
        GridFSInputFile gfsFile = gfs.createFile(bf.getStream(), true);
        gfsFile.put("uploadDate", Utilities.parseStringDate(date));
        gfsFile.setFilename(bf.getFileName());
        gfsFile.put("repositoryDocId", bf.getRepositoryDocId());
        gfsFile.put("anhalyticsId", bf.getAnhalyticsId());
        gfsFile.put("source", bf.getSource());
        gfsFile.put("version", bf.getRepositoryDocVersion());
        gfsFile.put("documentType", bf.getDocumentType());
        gfsFile.setContentType(bf.getFileType());
        gfsFile.save();
    } catch (ParseException e) {
        logger.error(e.getMessage(), e.getCause());
    }

}
项目:anhalytics-core    文件:MongoFileManager.java   
/**
 * Updates already existing tei with new (more enriched one, fulltext..).
 */
public void updateTei(String newTei, String repositoryDocId, String collection) {
    try {
        GridFS gfs = new GridFS(db, collection);
        GridFSDBFile gdf = gfs.findOne(repositoryDocId + ".tei.xml");
        GridFSInputFile gfsNew = gfs.createFile(new ByteArrayInputStream(newTei.getBytes()), true);
        gfsNew.put("uploadDate", gdf.getUploadDate());
        gfsNew.setFilename(gdf.get("repositoryDocId") + ".tei.xml");
        gfsNew.put("repositoryDocId", gdf.get("repositoryDocId"));
        gfsNew.put("documentType", gdf.get("documentType"));
        gfsNew.put("anhalyticsId", gdf.get("anhalyticsId"));
        gfsNew.put("source", gdf.get("source"));

        gfsNew.save();
        gfs.remove(gdf);
    } catch (Exception e) {
        logger.error(e.getMessage(), e.getCause());
    }
}
项目:anhalytics-core    文件:MongoFileManager.java   
/**
 * inserts a Arxiv/istex TEI document in the GridFS.
 */
public void insertExternalTeiDocument(InputStream file, String identifier, String repository, String namespace, String dateString) {
    try {
        GridFS gfs = new GridFS(db, namespace);
        GridFSInputFile gfsFile = gfs.createFile(file, true);
        gfs.remove(identifier + ".pdf");
        gfsFile.put("uploadDate", Utilities.parseStringDate(dateString));
        gfsFile.setFilename(identifier + ".tei.xml");
        gfsFile.put("identifier", identifier);
        gfsFile.put("repository", repository);
        gfsFile.setContentType("application/tei+xml");
        gfsFile.save();
    } catch (ParseException e) {
        logger.error(e.getMessage(), e.getCause());
    }

}
项目:elasticsearch-repository-gridfs    文件:GridFsImmutableBlobContainer.java   
@Override
public void writeBlob(final String blobName, final InputStream is, final long sizeInBytes, final WriterListener listener) {
    blobStore.executor().execute(new Runnable() {
        @Override
        public void run() {
            try {
                blobStore.gridFS().remove(buildKey(blobName));  // need to remove old file if already exist
                GridFSInputFile file = blobStore.gridFS().createFile(is, buildKey(blobName));
                file.save();
                listener.onCompleted();
            } catch (Exception e) {
                listener.onFailure(e);
            }
        }
    });
}
项目:kurento-java    文件:MongoRepositoryItem.java   
@Override
public OutputStream createOutputStreamToWrite() {
  checkState(State.NEW);

  storingOutputStream = new FilterOutputStream(((GridFSInputFile) dbFile).getOutputStream()) {

    @Override
    public void close() throws IOException {
      putMetadataInGridFS(false);
      super.close();
      refreshAttributesOnClose();
    }
  };

  return storingOutputStream;
}
项目:minicli    文件:MongoQuery.java   
/**
 * 保存文件到Mongo中
 * @param file  文件对象
 * @param id    id_ 自定义序列
 * @param metaData  元数据类型 Key Value
 * @return
 */
public boolean concatGridFile(File file, Object id, DBObject metaData){
    GridFSInputFile gridFSInputFile;
    DBObject query  = new BasicDBObject("_id", id);
    GridFSDBFile gridFSDBFile = myFS.findOne(query);
    if(gridFSDBFile!= null)
        return false;
    try {
        gridFSInputFile = myFS.createFile(file);
        gridFSInputFile.put("_id",id);
        gridFSInputFile.setFilename(file.getName());
        gridFSInputFile.setMetaData(metaData);
        gridFSInputFile.setContentType(file.getName().substring(file.getName().lastIndexOf(".")));
        gridFSInputFile.save();
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
    return true;
}
项目:hdfs-archiver    文件:DumpFileToLocalFS.java   
@Override
public void run() {
    try{
        File localPath = new File(localRoot, file.getFilename());
        log.info("Save to local file:" + localPath.getAbsolutePath());
        File dirName = localPath.getParentFile();
        if(!dirName.exists()){
            dirName.mkdirs();
        }
        file.writeTo(localPath);
        GridFSInputFile newFile = fs.createFile(new byte[]{0, 0,});
        newFile.setMetaData(file.getMetaData());
        newFile.setFilename(file.getFilename());
        newFile.put("localLength", file.getLength());
        newFile.save(10);
        //log.info("remove:%s" + file.getId() + ", fn:" + file.getFilename());
        fs.remove((ObjectId)file.getId());
    }catch(Throwable e){
        log.error("Failed to dump file to local fs, error:" + e.toString(), e);
    }
}
项目:workspace_deluxe    文件:GridFSBlobStore.java   
@Override
public void saveBlob(final MD5 md5, final InputStream data,
        final boolean sorted)
        throws BlobStoreCommunicationException {
    if(data == null || md5 == null) {
        throw new NullPointerException("Arguments cannot be null");
    }
    if (getFile(md5) != null) {
        return; //already exists
    }
    final GridFSInputFile gif = gfs.createFile(data, true);
    gif.setId(md5.getMD5());
    gif.setFilename(md5.getMD5());
    gif.put(Fields.GFS_SORTED, sorted);
    try {
        gif.save();
    } catch (DuplicateKeyException dk) {
        // already here, done
    } catch (MongoException me) {
        throw new BlobStoreCommunicationException(
                "Could not write to the mongo database", me);
    }
}
项目:workspace_deluxe    文件:GridFSBlobStoreTest.java   
@Test
public void dataWithoutSortMarker() throws Exception {
    String s = "pootypoot";
    final GridFSInputFile gif = gfs.createFile(s.getBytes("UTF-8"));
    MD5 md5 = new MD5(a32);
    gif.setId(md5.getMD5());
    gif.setFilename(md5.getMD5());
    gif.save();

    ByteArrayFileCache d = gfsb.getBlob(md5, 
            new ByteArrayFileCacheManager(16000000, 2000000000L, tfm));
    assertThat("data returned marked as unsorted", d.isSorted(), is(false));
    String returned = IOUtils.toString(d.getJSON());
    assertThat("Didn't get same data back from store", returned, is(s));
    gfsb.removeBlob(md5);
}
项目:jclouds-gridfs-blobstore    文件:GridFSBlobStore.java   
@Override
public String putBlob(String container, Blob blob, PutOptions options) {
    if (options != null && !options.isMultipart()) {
        throw new IllegalArgumentException("only multipart is supported by this provider");
    }
    Payload payload = checkNotNull(blob.getPayload());
    BlobMetadata metadata = blob.getMetadata();
    ContentMetadata contentMetadata = metadata.getContentMetadata();
    GridFS gridFS = parseGridFSIdentifier(container).connect(mongo);
    GridFSInputFile inputFile = gridFS.createFile(payload.getInput(), metadata.getName(), true);
    inputFile.setContentType(contentMetadata.getContentType());
    DBObject fileMetadata = new BasicDBObject();
    fileMetadata.putAll(metadata.getUserMetadata());
    inputFile.setMetaData(fileMetadata);
    inputFile.save();
    return inputFile.getMD5();
}
项目:glados-wiki    文件:FileStoreService.java   
public Optional<FileEntry> save(final String name, final String mime,
                                final String creator, final boolean privateFile, final String description,
                                InputStream in) {
    GridFS gf = gridFS;
    GridFSInputFile f = gf.createFile(in);
    f.setFilename(name);
    f.setContentType(mime);
    //
    DBObject metadata = f.getMetaData();
    if (metadata == null) {
        metadata = new BasicDBObject();
        f.setMetaData(metadata);
    }
    metadata.put("creator", creator);
    metadata.put("private", privateFile);
    metadata.put("description", description);
    //
    f.save();
    //
    return this.loadFileEntry((ObjectId) f.getId());
}
项目:emf-fragments    文件:MongoDBDataStore.java   
@Override
synchronized public OutputStream openOutputStream(final byte[] key) {
    return new ByteArrayOutputStream(256) {
        @Override
        public void close() throws IOException {
            super.close();
            byte[] keyString = adoptKey(key);
            byte[] byteArray = toByteArray();
            if (byteArray.length < MAX_BSON_SIZE) {
                collection.update(new BasicDBObject(KEY, keyString), new BasicDBObject(KEY, keyString).append(TYPE, TYPE_BSON).append(VALUE, byteArray), true, false);
            } else {
                // do grid fs
                GridFSInputFile gridFsFile = gridFs.createFile(byteArray);
                String fileName = URIUtils.encode(key);
                gridFsFile.setFilename(fileName);
                gridFsFile.save();
                collection.update(new BasicDBObject(KEY, keyString), new BasicDBObject(KEY, keyString).append(TYPE, TYPE_GRID_FS).append(FILE_NAME, fileName), true, false);
            }
        }
    };
}
项目:MongoWorkBench    文件:GridFSPutFileCommand.java   
@Override
public void execute() throws Exception {
    MongoClient mdb = MongoFactory.getInst().getMongo( sName );

    if ( mdb == null )
        throw new Exception("no server selected");

    if ( sDb == null )
        throw new Exception("no database selected");

    MongoFactory.getInst().setActiveDB(sDb);
    DB db   = mdb.getDB(sDb);

    GridFS  gfs = new GridFS( db, sColl.substring(0,sColl.lastIndexOf(".")) );

    GridFSInputFile gridFSInputFile = gfs.createFile(getFile);
    gridFSInputFile.setContentType( MimetypesFileTypeMap.getDefaultFileTypeMap().getContentType(getFile) );
    gridFSInputFile.save();

    setMessage( "fileLoaded=" + getFile + "; size=" + getFile.length() );
}
项目:KernelHive    文件:DataManager.java   
public DataAddress prefetchData(DataAddress givenAddress, ServerAddress destAddress) throws IOException {
    logger.info("yo2");
    ServerAddress givenServer = new ServerAddress(givenAddress.hostname, givenAddress.port);
    GridFS givenDatabase = connectToDatabase(givenServer);

    logger.info("yo");

       GridFSDBFile givenPackage = givenDatabase.findOne(new BasicDBObject("_id", givenAddress.ID));
       ByteArrayOutputStream baos = new ByteArrayOutputStream((int)givenPackage.getLength());
       givenPackage.writeTo(baos);

       logger.info("Prefetched");

       GridFS destDatabase = connectToDatabase(destAddress);
       GridFSInputFile destPackage = destDatabase.createFile(baos.toByteArray());
       int newID = getNextId(destDatabase);
       logger.info("Got new id for prefetched package: " + newID);
       destPackage.put("_id", newID);
       destPackage.save();

       logger.info("after save");

       DataAddress ret = new DataAddress();
       ret.hostname = destAddress.getHost();
       ret.port = destAddress.getPort();
       ret.ID = newID;            
       return ret;        
}
项目:whatsmars    文件:GridFSClient.java   
/**
 *
 * @param inputStream 文件流
 * @param format 文件格式,“pdf”,“png”等,不包含后缀符号“.”
 * @return
 */
public String saveFile(InputStream inputStream,String format,String uid) {
    try {
        GridFS gridFS = getInstance();

        //随机生成文件名称,多次重试
        String filename = this.randomFileName();
        //如果有文件重复,则重新生成filename
        while (true) {
            GridFSDBFile _current = gridFS.findOne(filename);
            //如果文件不存在,则保存操作
            if (_current == null) {
                break;
            }
            filename = this.randomFileName();
        }

        GridFSInputFile file = gridFS.createFile(inputStream, filename);
        if(format != null) {
            file.put("format", format);
        }
        if(uid != null) {
            file.put("uid",uid);
        }
        file.put("content-type","application/octet-stream");
        file.save();
        return concat(filename,format);
    }catch (Exception e) {

        throw new RuntimeException(e);
    } finally {
        try{
            inputStream.close();
        }catch (Exception ex) {
            //
        }
    }
}
项目:leopard    文件:DfsGridImpl.java   
@Override
public boolean create(String filename, byte[] data) {
    this.delete(filename);
    GridFSInputFile file = getGridFS().createFile(data);
    file.setFilename(filename);
    file.save();
    return true;
}
项目:LiveQA    文件:MongoPojoCache.java   
@Override
public void put(String keyText, T obj) throws IOException {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream objectOutput = new ObjectOutputStream(baos);
    objectOutput.writeObject(obj);
    objectOutput.close();
    byte[] binaryObject = baos.toByteArray();

    GridFSInputFile objFile = gridfs.createFile(binaryObject);
    objFile.setFilename(DigestUtils.sha256Hex(keyText));
    //it will not update content of existing file
    objFile.save();
}
项目:Rapture    文件:GridFSBlobHandler.java   
protected GridFSInputFile createNewFile(String docPath, InputStream content) {
    GridFSInputFile file = getGridFS().createFile(content, docPath);
    if (file != null) {
        file.save();
    }
    return file;
}
项目:geeCommerce-Java-Shop-Software-and-PIM    文件:DefaultMediaAssetHelper.java   
public long createGridFsFile(Id id, InputStream inputStream, String filename, String mimeType) {
    DB db = (DB) connections.getConnection("mongodb.dma");
    GridFS fs = new GridFS(db);
    GridFSInputFile gridFile = fs.createFile(inputStream, filename);
    gridFile.setId(id);
    gridFile.setContentType(mimeType);
    gridFile.save();
    return gridFile.getLength();
}
项目:geeCommerce-Java-Shop-Software-and-PIM    文件:DefaultMediaAssetService.java   
private long createGridFsFile(Id id, InputStream inputStream, String filename, String mimeType) {
    DB db = (DB) connections.getConnection("mongodb.dma");
    GridFS fs = new GridFS(db);
    GridFSInputFile gridFile = fs.createFile(inputStream, filename);
    gridFile.setId(id);
    gridFile.setContentType(mimeType);
    gridFile.save();
    return gridFile.getLength();
}
项目:selenium-screenshot-watcher    文件:UploadScreenshot.java   
@SuppressWarnings("serial")
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response insertImageInDb(String jsonRequest, @Context Request request) throws IOException {
    EndpointUtil.printClientInfo(request);

    DBObject json = ((DBObject) JSON.parse(jsonRequest));
    String imageData = (String) json.get("imageData");
    byte[] screenshotBytes = Base64Utils.decode(imageData);

    String testName = json.get(BaseScreenshotModel.TEST_NAME).toString();
    String testBrowser = json.get(BaseScreenshotModel.TEST_BROWSER).toString();
    String description = json.get(BaseScreenshotModel.DESCRIPTION).toString();

    Type type = new TypeToken<List<Rectangle>>() {
    }.getType();

    String ignoreZonesString = ((Object) json.get(BaseScreenshotModel.IGNORE_ZONES)).toString();
    List<Rectangle> ignoreZones = new ArrayList<>();

    if (ignoreZonesString != null) {
        ignoreZones = GsonUtil.gson.fromJson(ignoreZonesString, type);
    }

    File tmpFile = new File("tmpFile");
    FileUtils.writeByteArrayToFile(tmpFile, screenshotBytes);
    GridFSInputFile gfsFile = GFS_PHOTO.createFile(tmpFile);

    gfsFile.setFilename(String.format("%s|%s|%s", testName, testBrowser, description));
    gfsFile.save();
    // after the file has been saved, get the id and add it into the table of base_images
    BaseScreenshotModel up = new BaseScreenshotModel(testName, testBrowser, description,
        new ObjectId(gfsFile.getId().toString()), ignoreZones);

    TMP_IMAGES.save(up);
    tmpFile.delete();
    return Response.ok().entity(JSON.serialize(up)).build();
}
项目:aet    文件:ArtifactsDAOMongoDBImpl.java   
@Override
public String saveArtifact(DBKey dbKey, InputStream data, String contentType) {
  String resultObjectId = null;
  GridFS gfs = getGridFS(dbKey);
  GridFSInputFile file = gfs.createFile(data);
  if (file != null) {
    file.setContentType(contentType);
    file.save();
    resultObjectId = file.getId().toString();
  }
  return resultObjectId;
}
项目:ymate-platform-v2    文件:GridFSFileBuilder.java   
public GridFSInputFile build(IGridFSSession gridFS) throws Exception {
    GridFSInputFile _inFile = null;
    switch (__type) {
        case 1: // is File
            _inFile = gridFS.getGridFS().createFile((File) __targetObject);
            break;
        case 2: // is InputStream
            _inFile = gridFS.getGridFS().createFile((InputStream) __targetObject);
            break;
        case 3: // is Array
            _inFile = gridFS.getGridFS().createFile((byte[]) __targetObject);
    }
    if (_inFile != null) {
        _inFile.setFilename(__filename);
        _inFile.setContentType(__contentType);
        if (__chunkSize > 0) {
            _inFile.setChunkSize(__chunkSize);
        }
        if (!__attributes.isEmpty()) {
            for (Map.Entry<String, Object> _entry : __attributes.entrySet()) {
                _inFile.put(_entry.getKey(), _entry.getValue());
            }
        }
    }
    return _inFile;
}
项目:BLELocalization    文件:MongoService.java   
private OutputStream getFileOutputStream(String id, String contentType) {
    if (mFS != null) {
        try {
            deleteFile(id);
            GridFSInputFile dbFile = mFS.createFile(id);
            if (contentType != null) {
                dbFile.setContentType(contentType);
            }
            return dbFile.getOutputStream();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return null;
}
项目:anhalytics-core    文件:MongoFileManager.java   
/**
 * Inserts generated tei using GridFS.
 */
public void insertTei(TEIFile tei, String date, String collection) {
    try {
        GridFS gfs = new GridFS(db, collection);
        gfs.remove(tei.getFileName());
        GridFSInputFile gfsFile = gfs.createFile(new ByteArrayInputStream(tei.getTei().getBytes()), true);
        gfsFile.put("uploadDate", Utilities.parseStringDate(date));
        gfsFile.setFilename(tei.getFileName());
        gfsFile.put("repositoryDocId", tei.getRepositoryDocId());
        if (collection.equals(MongoCollectionsInterface.METADATAS_TEIS)) {
            String anhalyticsID = generateAnhalyticsId(tei.getRepositoryDocId(), tei.getDoi(), (tei.getPdfdocument() != null) ? tei.getPdfdocument().getUrl() : null);
            gfsFile.put("anhalyticsId", anhalyticsID);
            if (tei.getPdfdocument() != null) {
                tei.getPdfdocument().setAnhalyticsId(anhalyticsID);
            }
            for (BinaryFile annex : tei.getAnnexes()) {
                annex.setAnhalyticsId(anhalyticsID);
            }
        } else {
            gfsFile.put("anhalyticsId", tei.getAnhalyticsId());
        }
        gfsFile.put("source", tei.getSource());
        gfsFile.put("version", tei.getRepositoryDocVersion());
        gfsFile.put("documentType", tei.getDocumentType());
        gfsFile.setContentType(tei.getFileType());
        gfsFile.save();
    } catch (ParseException e) {
        logger.error(e.getMessage(), e.getCause());
    }
}
项目:XBDD    文件:Report.java   
/**
 * go through all the embedded content, store it to GridFS, replace the doc embeddings with a hyperlink to the saved content.
 */
protected void embedSteps(final DBObject feature, final GridFS gridFS, final Coordinates coordinates) {
    final BasicDBList elements = (BasicDBList) feature.get("elements");
    final String featureId = (String) feature.get("_id");
    if (elements != null) {
        for (int j = 0; j < elements.size(); j++) {
            final DBObject scenario = (DBObject) elements.get(j);
            final String scenarioId = (String) scenario.get("_id");
            final BasicDBList steps = (BasicDBList) scenario.get("steps");
            if (steps != null) {
                for (int k = 0; k < steps.size(); k++) {
                    final DBObject step = (DBObject) steps.get(k);
                    final BasicDBList embeddings = (BasicDBList) step.get("embeddings");
                    if (embeddings != null) {
                        for (int l = 0; l < embeddings.size(); l++) {
                            final DBObject embedding = (DBObject) embeddings.get(l);
                            final GridFSInputFile image = gridFS
                                    .createFile(Base64.decodeBase64(((String) embedding.get("data")).getBytes()));
                            image.setFilename(guid());
                            final BasicDBObject metadata = new BasicDBObject().append("product", coordinates.getProduct())
                                    .append("major", coordinates.getMajor()).append("minor", coordinates.getMinor())
                                    .append("servicePack", coordinates.getServicePack()).append("build", coordinates.getBuild())
                                    .append("feature", featureId)
                                    .append("scenario", scenarioId);
                            image.setMetaData(metadata);
                            image.setContentType((String) embedding.get("mime_type"));
                            image.save();
                            embeddings.put(l, image.getFilename());
                        }
                    }
                }
            }
        }
    }
}
项目:tool.lars    文件:PersistenceBean.java   
/**
 * @param attachmentContentStream
 * @return
 */
@Override
public AttachmentContentMetadata createAttachmentContent(String name, String contentType, InputStream attachmentContentStream) {
    // Do not specify a bucket (so the data will be stored in fs.files and fs.chunks)
    GridFSInputFile gfsFile = gridFS.createFile(attachmentContentStream);
    ObjectId id = new ObjectId();
    gfsFile.setContentType(contentType);
    gfsFile.setId(id);
    String filename = id.toString();
    gfsFile.setFilename(filename);
    gfsFile.save();

    return new AttachmentContentMetadata(gfsFile.getFilename(), gfsFile.getLength());
}
项目:CS-FileTransfer    文件:UsingMongoSavaFile.java   
private void saveToDataBase(Path file) throws IOException{
    // create file
    GridFSInputFile in = model.createFile(file.toFile());
    // set the file name
    in.setFilename(file.getFileName().toString());
    // save
    in.save();
}
项目:leopard-data    文件:DfsGridImpl.java   
@Override
public boolean create(String filename, byte[] data) {
    this.delete(filename);
    GridFSInputFile file = getGridFS().createFile(data);
    file.setFilename(filename);
    file.save();
    return true;
}
项目:LODVader    文件:SuperBucket.java   
private void makeBloomFilter(ArrayList<String> chunk, int distributionID) {

        final String firstResource = chunk.get(0);
        final String lastResource = chunk.get(chunk.size() - 1);
        int chunkSize = chunk.size();
        if (chunkSize < 5000)
            chunkSize = 5000;
        BloomFilterI filter = BloomFilterFactory.newBloomFilter();
        filter.create(chunkSize, fpp);
        for (String resource : chunk) {
            filter.add(resource);
        }

        ByteArrayOutputStream out = new ByteArrayOutputStream();

        try {
            filter.writeTo(out);
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

        GridFS gfs = new GridFS(DBSuperClass2.getDBInstance(), COLLECTION_NAME);
        GridFSInputFile gfsFile;
        try {
            gfsFile = gfs.createFile(new BufferedInputStream(new ByteArrayInputStream(out.toByteArray())));
            gfsFile.put(FIRST_RESOURCE, firstResource);
            gfsFile.put(LAST_RESOURCE, lastResource);
            gfsFile.put(DISTRIBUTION_ID, distributionID);
            gfsFile.save();

        } catch (Exception e) {
            System.out.println(firstResource);
            System.out.println(lastResource);
            System.out.println(distributionID);
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
项目:telosys-tools-saas-back    文件:GridFSDao.java   
public String update(String gridFSId, InputStream in, String database) throws FileNotFoundException {
    // Récupération de l'ancien fichier et suppression
    final GridFSDBFile oldFile = gridFS(database).findOne(new ObjectId(gridFSId));
    if (oldFile != null) {
        GridFSInputFile updatedFile = gridFS(database).createFile(in, oldFile.getFilename());
        updatedFile.save();
        gridFS(database).remove(oldFile);
        return updatedFile.getId().toString();
    } else {
        throw new FileNotFoundException(gridFSId);
    }
}
项目:s1    文件:GridFSFileStorage.java   
@Override
public FileStorage.FileWriteBean createFileWriteBean(Id id, FileStorage.FileMetaBean meta) {
    meta.setLastModified(new Date());
    meta.setCreated(new Date());
    GridFS fs = new GridFS(MongoDBConnectionHelper.getConnection(id.getDatabase()), id.getCollection());
    fs.remove(id.getEntity());

    GridFSInputFile gfsFile = fs.createFile(id.getEntity());
    gfsFile.setContentType(meta.getContentType());
    gfsFile.setMetaData(MongoDBFormat.fromMap(meta.toMap()));

    GridFSFileWriteBean gridFSFileWriteBean = new GridFSFileWriteBean(id,gfsFile.getOutputStream(),meta);
    gridFSFileWriteBean.gfsFile = gfsFile;
    return gridFSFileWriteBean;
}