List of usage examples for com.mongodb.gridfs GridFS GridFS
public GridFS(final DB db, final String bucket)
From source file:cn.vlabs.clb.server.storage.mongo.MongoStorageService.java
License:Apache License
protected void writeTrivialFile(InputStream ins, MTrivialFile mtf, String tableName) { DB db = options.getCollection(TABLE_TEMP_KEY).getDB(); db.requestStart();// w ww . j a v a 2s . c o m GridFSInputFile gfsInput; DBCollection col = db.getCollection(tableName + ".files"); col.setWriteConcern(WriteConcern.SAFE); gfsInput = new GridFS(db, tableName).createFile(ins); gfsInput.setFilename(mtf.getFileName()); gfsInput.put(FIELD_STORAGE_KEY, mtf.getStorageKey()); gfsInput.put(FIELD_SPACE_NAME, mtf.getSpaceName()); gfsInput.setContentType(mtf.getContentType()); gfsInput.save(); db.requestDone(); }
From source file:cn.vlabs.clb.server.storage.mongo.MongoStorageService.java
License:Apache License
@Override public void removeTrivial(String spaceName) { DB db = options.getCollection(TABLE_TEMP_KEY).getDB(); DBObject query = new BasicDBObject(); query.put(FIELD_SPACE_NAME, new ObjectId(spaceName)); GridFS gfs = new GridFS(db, TABLE_TRIVIAL); gfs.remove(query);/* w w w . j a va 2s.c o m*/ }
From source file:cn.vlabs.clb.server.storage.mongo.MongoStorageService.java
License:Apache License
private void deleteMetaAndContent(String storageKey, String tableName) { DB db = options.getCollection(TABLE_TEMP_KEY).getDB(); DBObject query = new BasicDBObject(); query.put(FIELD_STORAGE_KEY, new ObjectId(storageKey)); GridFS gfs = new GridFS(db, tableName); gfs.remove(query);/*from ww w. j a v a 2 s. c o m*/ }
From source file:com.andreig.jetty.GridfsServlet.java
License:GNU General Public License
@SuppressWarnings("unused") @Override//from w ww.j ava2s.c o m protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { log.fine("doPost()"); if (!can_write(req)) { res.sendError(SC_UNAUTHORIZED); return; } InputStream tmp = req.getInputStream(); InputStream is = new BufferedInputStream(tmp); String db_name = req.getParameter("dbname"); String bucket_name = req.getParameter("bucketname"); if (db_name == null || bucket_name == null) { String names[] = req2mongonames(req); if (names != null) { db_name = names[0]; bucket_name = names[1]; } if (db_name == null) { error(res, SC_BAD_REQUEST, Status.get("param name missing")); return; } } if (bucket_name == null) bucket_name = "fs"; String file_name = req.getParameter("filename"); if (file_name == null) { error(res, SC_BAD_REQUEST, Status.get("param name missing")); return; } DB db = mongo.getDB(db_name); String fs_cache_key = db_name + bucket_name; GridFS fs = fs_cache.get(fs_cache_key); if (fs == null) { fs = new GridFS(db, bucket_name); fs_cache.put(fs_cache_key, fs); } GridFSDBFile db_file_old = fs.findOne(file_name); if (db_file_old == null) { error(res, SC_NOT_FOUND, Status.get("file doe not exists, use PUT")); return; } String ct = req.getContentType(); GridFSInputFile db_file = fs.createFile(file_name); if (ct != null) db_file.setContentType(ct); OutputStream os = db_file.getOutputStream(); final int len = 4096; byte data[] = new byte[len]; int n = 0, bytesno = 0; while ((n = is.read(data, 0, len)) > 0) { os.write(data, 0, n); bytesno += n; } os.close(); if (is != null) is.close(); out_json(req, Status.OK); }
From source file:com.andreig.jetty.GridfsServlet.java
License:GNU General Public License
@Override protected void doPut(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { log.fine("doPut()"); if (!can_write(req)) { res.sendError(SC_UNAUTHORIZED);//from w ww. j a v a 2s. c o m return; } InputStream tmp = req.getInputStream(); InputStream is = new BufferedInputStream(tmp); String db_name = req.getParameter("dbname"); String bucket_name = req.getParameter("bucketname"); if (db_name == null || bucket_name == null) { String names[] = req2mongonames(req); if (names != null) { db_name = names[0]; bucket_name = names[1]; } if (db_name == null) { error(res, SC_BAD_REQUEST, Status.get("param name missing")); return; } } if (bucket_name == null) bucket_name = "fs"; String file_name = req.getParameter("filename"); if (file_name == null) { error(res, SC_BAD_REQUEST, Status.get("param name missing")); return; } DB db = mongo.getDB(db_name); String fs_cache_key = db_name + bucket_name; GridFS fs = fs_cache.get(fs_cache_key); if (fs == null) { fs = new GridFS(db, bucket_name); fs_cache.put(fs_cache_key, fs); } GridFSDBFile db_file_old = fs.findOne(file_name); if (db_file_old != null) { error(res, SC_BAD_REQUEST, Status.get("file already exists, use POST")); return; } String ct = req.getContentType(); GridFSInputFile db_file = fs.createFile(file_name); if (ct != null) db_file.setContentType(ct); OutputStream os = db_file.getOutputStream(); final int len = 4096; byte data[] = new byte[len]; @SuppressWarnings("unused") int n = 0, bytesno = 0; while ((n = is.read(data, 0, len)) > 0) { os.write(data, 0, n); bytesno += n; } os.flush(); os.close(); if (is != null) is.close(); out_json(req, Status.OK); }
From source file:com.andreig.jetty.GridfsServlet.java
License:GNU General Public License
@Override protected void doDelete(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { log.fine("doDelete()"); if (!can_write(req)) { res.sendError(SC_UNAUTHORIZED);/*ww w .jav a 2 s. c o m*/ return; } String db_name = req.getParameter("dbname"); String bucket_name = req.getParameter("bucketname"); if (db_name == null || bucket_name == null) { String names[] = req2mongonames(req); if (names != null) { db_name = names[0]; bucket_name = names[1]; } if (db_name == null) { error(res, SC_BAD_REQUEST, Status.get("param name missing")); return; } } if (bucket_name == null) bucket_name = "fs"; DB db = mongo.getDB(db_name); String fs_cache_key = db_name + bucket_name; GridFS fs = fs_cache.get(fs_cache_key); if (fs == null) { fs = new GridFS(db, bucket_name); fs_cache.put(fs_cache_key, fs); } // mongo auth String user = req.getParameter("user"); String passwd = req.getParameter("passwd"); if (user != null && passwd != null && (!db.isAuthenticated())) { boolean auth = db.authenticate(user, passwd.toCharArray()); if (!auth) { res.sendError(SC_UNAUTHORIZED); return; } } String file_name = req.getParameter("filename"); if (file_name == null) { error(res, SC_BAD_REQUEST, Status.get("param name missing")); return; } fs.remove(file_name); out_json(req, Status.OK); }
From source file:com.andreig.jetty.GridfsServlet.java
License:GNU General Public License
@Override protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { log.fine("doGet()"); if (!can_read(req)) { res.sendError(SC_UNAUTHORIZED);//from w ww . ja v a2s. c o m return; } String db_name = req.getParameter("dbname"); String bucket_name = req.getParameter("bucketname"); if (db_name == null || bucket_name == null) { String names[] = req2mongonames(req); if (names != null) { db_name = names[0]; bucket_name = names[1]; } if (db_name == null) { error(res, SC_BAD_REQUEST, Status.get("param name missing")); return; } } if (bucket_name == null) bucket_name = "fs"; DB db = mongo.getDB(db_name); String fs_cache_key = db_name + bucket_name; GridFS fs = fs_cache.get(fs_cache_key); if (fs == null) { fs = new GridFS(db, bucket_name); fs_cache.put(fs_cache_key, fs); } // mongo auth String user = req.getParameter("user"); String passwd = req.getParameter("passwd"); if (user != null && passwd != null && (!db.isAuthenticated())) { boolean auth = db.authenticate(user, passwd.toCharArray()); if (!auth) { res.sendError(SC_UNAUTHORIZED); return; } } String op = req.getParameter("op"); if (op == null) op = "get"; StringBuilder buf = tl.get(); // reset buf buf.setLength(0); // list if ("get".equals(op)) { String file_name = req.getParameter("filename"); if (file_name == null) { error(res, SC_BAD_REQUEST, Status.get("param name missing")); return; } GridFSDBFile db_file = fs.findOne(file_name); if (db_file == null) { error(res, SC_NOT_FOUND, Status.get("file does not exists")); return; } res.setContentLength((int) db_file.getLength()); String ct = db_file.getContentType(); if (ct != null) res.setContentType(ct); OutputStream os = res.getOutputStream(); @SuppressWarnings("unused") long l; while ((l = db_file.writeTo(os)) > 0) ; os.flush(); os.close(); } // list else if ("list".equals(op)) { DBCursor c = fs.getFileList(); if (c == null) { error(res, SC_NOT_FOUND, Status.get("no documents found")); return; } int no = 0; buf.append("["); while (c.hasNext()) { DBObject o = c.next(); JSON.serialize(o, buf); buf.append(","); no++; } if (no > 0) buf.setCharAt(buf.length() - 1, ']'); else buf.append(']'); out_str(req, buf.toString(), "application/json"); } // info else if ("info".equals(op)) { String file_name = req.getParameter("filename"); if (file_name == null) { error(res, SC_BAD_REQUEST, Status.get("param name missing")); return; } GridFSDBFile db_file = fs.findOne(file_name); if (db_file == null) { error(res, SC_NOT_FOUND, Status.get("no documents found")); return; } buf.append("{"); buf.append(String.format("\"ContentType\":%s,", db_file.getContentType())); buf.append(String.format("\"Length\":%d,", db_file.getLength())); buf.append(String.format("\"MD5\":%s", db_file.getMD5())); buf.append("}"); out_str(req, buf.toString(), "application/json"); } else res.sendError(SC_BAD_REQUEST); }
From source file:com.bluedragon.mongo.gridfs.Add.java
License:Open Source License
protected GridFS getGridFS(cfSession _session, cfArgStructData argStruct, DB db) throws cfmRunTimeException { String bucket = getNamedStringParam(argStruct, "bucket", null); if (bucket == null) throwException(_session, "please specify a bucket"); return new GridFS(db, bucket); }
From source file:com.bugull.mongo.fs.BuguFS.java
License:Apache License
public BuguFS(String bucketName, long chunkSize) { this.bucketName = bucketName; this.chunkSize = chunkSize; DB db = null;/*from w w w .j a v a2s. co m*/ try { db = BuguConnection.getInstance().getDB(); } catch (DBConnectionException ex) { logger.error(ex.getMessage(), ex); } fs = new GridFS(db, bucketName); files = db.getCollection(bucketName + ".files"); //ensure the DBCursor can be cast to GridFSDBFile files.setObjectClass(GridFSDBFile.class); }
From source file:com.card.loop.xyz.dao.LearningElementDAO.java
public boolean addFile(LearningElement le) throws UnknownHostException, IOException { File file = new File(AppConfig.USER_VARIABLE + le.getFilePath() + le.getFilename()); Mongo mongo = new Mongo(AppConfig.mongodb_host, AppConfig.mongodb_port); DB db = mongo.getDB(AppConfig.DATABASE_LOOP); GridFS gf = new GridFS(db, "le.meta"); GridFSInputFile gfsFile = gf.createFile(file); gfsFile.setFilename(le.getFilename()); gfsFile.setContentType(le.getContentType()); gfsFile.put("_class", "com.card.loop.xyz.model.LearningElement"); gfsFile.put("title", le.getTitle()); gfsFile.put("filePath", le.getFilePath()); gfsFile.put("subject", le.getSubject()); gfsFile.put("description", le.getDescription()); gfsFile.put("downloads", le.getDownloads()); gfsFile.put("rating", le.getRating()); gfsFile.put("comments", le.getComments()); gfsFile.put("uploadedBy", le.getUploadedBy()); gfsFile.put("status", le.getStatus()); gfsFile.put("rev", le.getRev()); gfsFile.put("type", le.getType()); gfsFile.save();//from ww w . jav a2s.c om // Let's store our document to MongoDB /* System.out.println("SEARCH: " + search(gfsFile.getMD5(), "le.meta")); if(search(gfsFile.getMD5(), "le.meta") > 1){ deleteLE(le.getFileName(),"le.meta"); }*/ // // collection.insert(info, WriteConcern.SAFE); return true; }