List of usage examples for com.mongodb BasicDBObject append
@Override public BasicDBObject append(final String key, final Object val)
From source file:framework.modules.users.client.Model.DAO.DAO_client_MG.java
/** * Funtion to modify a client and update in DB * @param db/*from w w w .j ava2s .c o m*/ * @param table * @param nombre * @param nuevosAnyos */ public static void update_client(client_class client) { DBCollection table = singleton.collection; BasicDBObject data = new BasicDBObject(); data.append("dni", client.getDni()); data.append("Name", client.getName()); data.append("surname", client.getSurname()); data.append("mobile", client.getMobile()); data.append("email", client.getEmail()); data.append("nick", client.getNick()); data.append("password", client.getPassword()); data.append("avatar", client.getAvatar()); data.append("state", client.getNick()); data.append("birthday", client.getBirthday().toString_DB()); data.append("age", client.getAge()); data.append("up_date", client.getUp_date().toString_DB()); data.append("antique", client.getAntique()); data.append("shopping", client.getShopping()); data.append("benefit", client.getBenefit()); data.append("premium", client.isPremium()); data.append("type", client.getType()); //Prepara para insertar un nuevo campo BasicDBObject updateclient = new BasicDBObject(); updateclient.append("$set", data); //Busca el/los registro/s con el nombre indicado BasicDBObject searchById = new BasicDBObject(); searchById.append("dni", client.getDni()); //Realiza la actualizacin table.updateMulti(searchById, updateclient); }
From source file:generate.MapGenerateAction.java
@Override public String execute() { String file_path = "/home/chanakya/NetBeansProjects/Concepto/UploadedFiles"; try {/*from ww w .j a v a 2s. c o m*/ File fileToCreate = new File(file_path, concept_map.getUploadedFileFileName()); FileUtils.copyFile(concept_map.getUploadedFile(), fileToCreate); } catch (Throwable t) { System.out.println("E1: " + t.getMessage()); return ERROR; } try { List<String> temp_text = FileUtils.readLines(concept_map.getUploadedFile()); StringBuilder text = new StringBuilder(); for (String s : temp_text) { text.append(s); } concept_map.setInput_text(text.toString()); } catch (IOException e) { //e.printStackTrace(); System.out.println("E2: " + e.getMessage()); return ERROR; } String temp_filename = concept_map.getUploadedFileFileName().split("\\.(?=[^\\.]+$)")[0]; temp_filename = temp_filename.trim(); try { String temp = "java -jar /home/chanakya/NetBeansProjects/Concepto/src/java/generate/MajorCore.jar " + file_path + " " + temp_filename; System.out.println(temp); File jarfile = new File("/home/chanakya/NetBeansProjects/Concepto/src/java/generate/MajorCore.jar"); JarFile jar = new JarFile(jarfile); Manifest manifest = jar.getManifest(); Attributes attrs = manifest.getMainAttributes(); String mainClassName = attrs.getValue(Attributes.Name.MAIN_CLASS); System.out.println(mainClassName); URL url = new URL("file", null, jarfile.getAbsolutePath()); ClassLoader cl = new URLClassLoader(new URL[] { url }); Class mainClass = cl.loadClass(mainClassName); Method mainMethod = mainClass.getMethod("main", new Class[] { String[].class }); String[] args = new String[2]; args[0] = file_path; args[1] = temp_filename; System.out.println(args[0]); System.out.println(args[1]); try { mainMethod.invoke(mainClass, new Object[] { args }); } catch (InvocationTargetException e) { System.out.println("This is the exception: " + e.getTargetException().toString()); } } catch (IllegalArgumentException | IllegalAccessException | NoSuchMethodException | ClassNotFoundException | IOException e) { System.out.println("E3: " + e.getMessage()); return ERROR; } try { String temp2 = "java -jar /home/chanakya/NetBeansProjects/Concepto/src/java/generate/MajorCoreII.jar " + file_path + " " + temp_filename; System.out.println(temp2); File jarfile = new File("/home/chanakya/NetBeansProjects/Concepto/src/java/generate/MajorCoreII.jar"); JarFile jar = new JarFile(jarfile); Manifest manifest = jar.getManifest(); Attributes attrs = manifest.getMainAttributes(); String mainClassName = attrs.getValue(Attributes.Name.MAIN_CLASS); System.out.println(mainClassName); URL url = new URL("file", null, jarfile.getAbsolutePath()); ClassLoader cl = new URLClassLoader(new URL[] { url }); Class mainClass = cl.loadClass(mainClassName); Method mainMethod = mainClass.getMethod("main", new Class[] { String[].class }); String[] args = new String[2]; args[0] = file_path; args[1] = temp_filename; mainMethod.invoke(mainClass, new Object[] { args }); } catch (InvocationTargetException | IllegalArgumentException | IllegalAccessException | NoSuchMethodException | ClassNotFoundException | IOException e) { System.out.println("E4: " + e.getMessage()); return ERROR; } String cmd = "python /home/chanakya/NetBeansProjects/Concepto/src/java/generate/add_to_graph.py \"/home/chanakya/NetBeansProjects/Concepto/UploadedFiles/" + temp_filename + "_OllieOutput.txt\""; String[] finalCommand; finalCommand = new String[3]; finalCommand[0] = "/bin/sh"; finalCommand[1] = "-c"; finalCommand[2] = cmd; System.out.println("CMD: " + cmd); try { //ProcessBuilder builder = new ProcessBuilder(finalCommand); //builder.redirectErrorStream(true); //Process process = builder.start(); Process process = Runtime.getRuntime().exec(finalCommand); int exitVal = process.waitFor(); System.out.println("Process exitValue2: " + exitVal); } catch (Throwable t) { System.out.println("E5: " + t.getMessage()); return ERROR; } cmd = "python /home/chanakya/NetBeansProjects/Concepto/src/java/generate/json_correct.py"; finalCommand = new String[3]; finalCommand[0] = "/bin/sh"; finalCommand[1] = "-c"; finalCommand[2] = cmd; try { //Process process = Runtime.getRuntime().exec(finalCommand); ProcessBuilder builder = new ProcessBuilder(finalCommand); // builder.redirectErrorStream(true); Process process = builder.start(); int exitVal = process.waitFor(); System.out.println("Process exitValue3: " + exitVal); } catch (Throwable t) { System.out.println("E6: " + t.getMessage()); return ERROR; } try { List<String> temp_text_1 = FileUtils .readLines(FileUtils.getFile("/home/chanakya/NetBeansProjects/Concepto/web", "new_graph.json")); StringBuilder text_1 = new StringBuilder(); for (String s : temp_text_1) { text_1.append(s); } concept_map.setOutput_text(text_1.toString()); } catch (IOException e) { System.out.println("E7: " + e.getMessage()); return ERROR; } Random rand = new Random(); int unique_id = rand.nextInt(99999999); System.out.println("Going In DB"); try { MongoClient mongo = new MongoClient(); DB db = mongo.getDB("Major"); DBCollection collection = db.getCollection("ConceptMap"); BasicDBObject document = new BasicDBObject(); document.append("InputText", concept_map.getInput_text()); document.append("OutputText", concept_map.getOutput_text()); document.append("ChapterName", concept_map.getChapter_name()); document.append("ChapterNumber", concept_map.getChapter_number()); document.append("SectionName", concept_map.getSection_name()); document.append("SectionNumber", concept_map.getSection_number()); document.append("UniqueID", Integer.toString(unique_id)); collection.insert(document); //collection.save(document); } catch (MongoException e) { System.out.println("E8: " + e.getMessage()); return ERROR; } catch (UnknownHostException ex) { Logger.getLogger(MapGenerateAction.class.getName()).log(Level.SEVERE, null, ex); System.out.println("E9"); return ERROR; } System.out.println("Out DB"); return SUCCESS; }
From source file:GeoHazardServices.Inst.java
License:Apache License
@POST @Path("/computeById") @Produces(MediaType.APPLICATION_JSON)/*from w w w.j a v a 2 s. co m*/ public String computeById(@Context HttpServletRequest request, @FormParam("inst") String inst, @FormParam("secret") String secret, @FormParam("id") String id, @FormParam("refineId") Long refineId, @FormParam("dur") Integer dur, @FormParam("accel") Integer accel, @FormParam("apikey") String apikey, @FormParam("evtid") String evtid, @FormParam("raw") @DefaultValue("0") Integer raw, @FormParam("gridres") Integer gridres, @FormParam("dt_out") @DefaultValue("10") Integer dt_out, @FormParam("algo") @DefaultValue("easywave") String algo) { /* Check for invalid parameter configurations. */ if ((inst != null || secret != null) && apikey != null) return jsfailure("Don't mix 'apikey' and 'secret'."); /* Support 'inst' and 'secret' for compatibility reasons. */ if (inst != null && secret != null) { /* Obtain the 'apikey' and pretend a call to the new api. */ DBObject query = new BasicDBObject("name", inst).append("secret", secret); DBObject tmp_inst = db.getCollection("institutions").findOne(query); if (tmp_inst == null) return jsdenied(); apikey = (String) ((DBObject) tmp_inst.get("api")).get("key"); if (apikey == null) return jsfailure("No 'apikey' set for this institution!"); } /* Authenticate user. */ DBObject db_user = auth_api(apikey, "user"); DBObject db_inst = auth_api(apikey, "inst"); User user; if (db_user != null) { user = new User(db_user, getInst(db_user)); } else if (db_inst != null) { user = new Inst(db_inst); } else { return jsdenied(); } /* Check for invalid parameter configurations. */ if ((id != null || refineId != null) && evtid != null) return jsfailure("Don't mix 'id' and 'evtid'."); if (evtid == null) evtid = new CompId(inst, id, refineId).toString(); /* Check for missing parameters */ if (evtid == null) return jsfailure("Missing parameter."); /* search for given id */ BasicDBObject query = new BasicDBObject("_id", evtid).append("user", user.objId); DBObject entry = db.getCollection("eqs").findOne(query); /* return if id not found */ if (entry == null) return jsfailure("Event ID not found."); /* check if already computed */ Integer progress = _status(evtid, raw); if (progress != STATUS_NO_COMP) { if (raw == 0) return jsfailure("Re-computation not allowed."); if (progress != 100) return jsfailure("A computation is currently running."); } /* Use same duration as in original simulation if available. */ if (dur == null) { Number n = (Number) getField(entry, "process.0.simTime"); /* Duration could not be determined. */ if (n == null) return jsfailure("Missing parameter."); dur = n.intValue(); } /* Use grid resolution of original computation or default to 120 seconds. */ if (gridres == null) { Number res = (Number) getField(entry, "process.0.resolution"); gridres = res == null ? 120 : (int) (res.doubleValue() * 60); } /* get properties of returned entry */ BasicDBObject prop = (BasicDBObject) entry.get("prop"); BasicDBObject process = new BasicDBObject("raw_progress", 0); if (raw == 0) { process.append("process", new BasicDBList()); } BasicDBObject set = new BasicDBObject("$set", process); db.getCollection("eqs").update(entry, set); /* extract properties to pass them to the request method */ double lat = prop.getDouble("latitude"); double lon = prop.getDouble("longitude"); double mag = prop.getDouble("magnitude"); double dip = prop.getDouble("dip"); double strike = prop.getDouble("strike"); double rake = prop.getDouble("rake"); double depth = prop.getDouble("depth"); Date date = prop.getDate("date"); if (accel == null) accel = 1; /* prepare the simulation for execution */ EQParameter eqp = new EQParameter(lon, lat, mag, depth, dip, strike, rake, date); EQTask task = new EQTask(eqp, evtid, user, dur, accel, gridres); task.raw = raw; task.dt_out = dt_out; task.algo = algo; String ret_id = request(evtid, task); return jssuccess(new BasicDBObject("_id", ret_id)); }
From source file:GeoHazardServices.Inst.java
License:Apache License
@POST @Path("/evtset_comp") @Produces(MediaType.APPLICATION_JSON)// w ww. j av a 2s . co m public String evtset_comp(@Context HttpServletRequest request, @FormParam("apikey") String apikey, @FormParam("name") @DefaultValue("Custom Event Set") String name, @FormParam("lon") Double lon, @FormParam("lat") Double lat, @FormParam("mag") String mag_list, @FormParam("mag_min") Double mag_min, @FormParam("mag_step") Double mag_step, @FormParam("mag_max") Double mag_max, @FormParam("depth") String depth_list, @FormParam("depth_min") Double depth_min, @FormParam("depth_step") Double depth_step, @FormParam("depth_max") Double depth_max, @FormParam("dip") String dip_list, @FormParam("dip_min") Double dip_min, @FormParam("dip_step") Double dip_step, @FormParam("dip_max") Double dip_max, @FormParam("strike") String strike_list, @FormParam("strike_min") Double strike_min, @FormParam("strike_step") Double strike_step, @FormParam("strike_max") Double strike_max, @FormParam("rake") String rake_list, @FormParam("rake_min") Double rake_min, @FormParam("rake_step") Double rake_step, @FormParam("rake_max") Double rake_max, @FormParam("dur") @DefaultValue("180") Integer dur, @CookieParam("server_cookie") String session) { final int max_value = Integer.MAX_VALUE; /* Authenticate user. */ User user = auth(apikey, session); if (user == null) { return jsdenied(); } if (!checkPerm(user, "evtset")) return jsdenied(); if (lon == null || lat == null) return jsfailure("Missing parameters."); List<Double> mags = get_values(mag_list, mag_min, mag_step, mag_max); List<Double> depths = get_values(depth_list, depth_min, depth_step, depth_max); List<Double> dips = get_values(dip_list, dip_min, dip_step, dip_max); List<Double> strikes = get_values(strike_list, strike_min, strike_step, strike_max); List<Double> rakes = get_values(rake_list, rake_min, rake_step, rake_max); if (mags == null || depths == null || dips == null || strikes == null || rakes == null) return jsfailure("Invalid range given."); int count = mags.size() * depths.size() * dips.size() * strikes.size() * rakes.size(); if (count > max_value) return jsfailure("Too many combinations. At most " + max_value + " are allowed."); String setid = newRandomId(user.name); EventSet evtset = new EventSet(setid, count, count * (dur + 10)); Date date = new Date(); List<String> evtids = new ArrayList<String>(); int i = 0; for (Double mag : mags) { for (Double depth : depths) { for (Double dip : dips) { for (Double strike : strikes) { for (Double rake : rakes) { EQParameter eqp = new EQParameter(lon, lat, mag, depth, dip, strike, rake, date); String retid = _compute(eqp, user, name + " " + i, null, null, dur, evtset, "easywave", 120); evtids.add(retid); i++; } } } } } BasicDBObject prop = new BasicDBObject("latitude", lat); prop.append("longitude", lon); prop.append("magnitude", get_mean(mags)); prop.append("mag_list", mags); prop.append("mag_min", mag_min); prop.append("mag_step", mag_step); prop.append("mag_max", mag_max); prop.append("depth_list", depths); prop.append("depth_min", depth_min); prop.append("depth_step", depth_step); prop.append("depth_max", depth_max); prop.append("dip_list", dips); prop.append("dip_min", dip_min); prop.append("dip_step", dip_step); prop.append("dip_max", dip_max); prop.append("strike_list", strikes); prop.append("strike_min", strike_min); prop.append("strike_step", strike_step); prop.append("strike_max", strike_max); prop.append("rake_list", rakes); prop.append("rake_min", rake_min); prop.append("rake_step", rake_step); prop.append("rake_max", rake_max); BasicDBObject set = new BasicDBObject("_id", setid); set.append("evtids", evtids); set.append("timestamp", date); set.append("name", name); set.append("duration", dur); set.append("prop", prop); set.append("user", user.objId); set.append("progress", 0.0); db.getCollection("evtsets").insert(set); /* create a new event */ BasicDBObject event = new BasicDBObject(); event.put("id", setid); event.put("user", user.objId); event.put("timestamp", new Date()); event.put("event", "new_evtset"); db.getCollection("events").insert(event); return jssuccess(new BasicDBObject("setid", setid).append("evtids", evtids)); }
From source file:GeoHazardServices.Inst.java
License:Apache License
private DBObject auth_api(String key, String kind) { if (key == null) return null; BasicDBObject query = new BasicDBObject("api.key", key).append("api.enabled", true); DBObject inst = db.getCollection("institutions").findOne(query); DBObject user = db.getCollection("users").findOne(query.append("permissions.api", true)); if (user != null && (kind == null || kind.equals("user"))) return user; if (inst != null && (kind == null || kind.equals("inst"))) return inst; return null;//w w w .j a v a 2 s.c om }
From source file:GeoHazardServices.Inst.java
License:Apache License
private Integer _status(String evtid, Integer raw) { /* Check if event exists. */ DBCollection eqs = db.getCollection("eqs"); BasicDBObject query = new BasicDBObject("_id", evtid); DBObject event = eqs.findOne(query); if (event == null) return null; /* Check if computation has been initiated. */ Integer p;/*from w w w . j a v a2s .com*/ if (raw > 0) { query.append("raw_progress", new BasicDBObject("$ne", null)); event = eqs.findOne(query); if (event == null) return STATUS_NO_COMP; p = ((BasicDBObject) event).getInt("raw_progress"); } else { query.append("process", new BasicDBObject("$ne", null)); if (eqs.findOne(query) == null) return STATUS_NO_COMP; /* Check if computation was started successfully. */ query.append("process", new BasicDBObject("$size", 1)); if (eqs.findOne(query) == null) return STATUS_FAILED; /* Extract the progress from the database object with this clear command ;) */ p = ((BasicDBObject) ((BasicDBList) event.get("process")).get(0)).getInt("progress"); } return p; }
From source file:GeoHazardServices.Inst.java
License:Apache License
@POST @Path("/evtset_status") @Produces(MediaType.APPLICATION_JSON)//ww w.j a v a 2s . c o m public String evtset_status(@Context HttpServletRequest request, @FormParam("apikey") String apikey, @FormParam("setid") String setid, @CookieParam("server_cookie") String session) { /* Validate API-key. For now, it is possible to query foreign events. */ if (auth_api(apikey, null) == null && signedIn(session) == null) return jsdenied(); Integer progress = _evtset_status(setid); if (progress == null) return jsfailure("Event-set not found."); if (progress == STATUS_ABORT) return jssuccess(new BasicDBObject("comp", "abort")); if (progress == STATUS_NO_COMP) return jssuccess(new BasicDBObject("comp", "none")); String comp = progress == 100 ? "success" : "pending"; BasicDBObject ret = new BasicDBObject("comp", comp).append("progress", progress.toString()); /* Append runtime information. */ DBObject evtset = db.getCollection("evtsets").findOne(new BasicDBObject("_id", setid)); ret.append("calcTime", getField(evtset, "calcTime")); return jssuccess(ret); }
From source file:GeoHazardServices.Inst.java
License:Apache License
@POST @Path("/fetch") @Produces(MediaType.APPLICATION_JSON)/*from ww w .jav a 2s .c om*/ public String fetch(@Context HttpServletRequest request, @FormParam("limit") @DefaultValue("0") int limit, @FormParam("delay") @DefaultValue("0") int delay, @FormParam("undersea") @DefaultValue("false") boolean undersea, @CookieParam("server_cookie") String session) { /* check session key and find out if the request comes from an authorized user */ User user = signedIn(session); /* returns null if user is not logged in */ /* create lists for general and user specific earthquake entries */ ArrayList<DBObject> mlist = new ArrayList<DBObject>(); ArrayList<DBObject> ulist = new ArrayList<DBObject>(); /* we want all entries since the beginning of time */ Date maxTimestamp = new Date(); /* used to convert to desired time format used by MongoDB */ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); /* select collection which contain the earthquake entries */ DBCollection coll = db.getCollection("eqs"); //ArrayList<User> users = new ArrayList<User>( institutions.values() ); ArrayList<User> users = new ArrayList<User>(); users.add(user); if (user != null) { if (user.inst != null) { users.add(institutions.get(user.inst)); } else { users.add(institutions.get("gfz")); } DBCursor csr = db.getCollection("users").find( new BasicDBObject("username", user.name).append("provider", new BasicDBObject("$ne", null))); if (csr.hasNext()) { for (Object p : (BasicDBList) csr.next().get("provider")) { DBObject inst = db.getCollection("institutions").findOne(new BasicDBObject("_id", p)); if (inst != null) users.add(institutions.get(inst.get("name"))); } } } /* return only entries that are older than 'delay' minutes */ Date upperTimeLimit = new Date(System.currentTimeMillis() - delay * 60 * 1000); /* get earthquakes for each of the given users */ for (User curUser : users) { if (curUser == null) continue; /* create DB query */ BasicDBObject inQuery = new BasicDBObject("user", curUser.objId); if (undersea) inQuery.append("prop.sea_area", new BasicDBObject("$ne", null)); if (delay > 0) inQuery.append("prop.date", new BasicDBObject("$lt", upperTimeLimit)); inQuery.append("depr", new BasicDBObject("$ne", true)); inQuery.append("evtset", null); /* query DB, sort the results by date and limit the number of returned entries */ DBCursor cursor = coll.find(inQuery).sort(new BasicDBObject("prop.date", -1)); if (limit > 0) cursor = cursor.limit(limit); /* walk through the returned entries */ for (DBObject obj : cursor) { obj.removeField("image"); /* check if entry belongs to general or user specific list */ if (user != null && obj.get("user").equals(user.objId)) { ulist.add(obj); } else { mlist.add(obj); } /* update timestamp */ Date timestamp = (Date) obj.get("timestamp"); if (timestamp.after(maxTimestamp)) { maxTimestamp = timestamp; } } /* clean up query */ cursor.close(); } /* create new JSON object that can be used directly within JavaScript */ JsonObject jsonObj = new JsonObject(); jsonObj.add("main", gson.toJsonTree(mlist)); jsonObj.add("user", gson.toJsonTree(ulist)); if (user != null) { List<DBObject> msglist = msg(limit, user); if (!msglist.isEmpty()) { Date timestamp = (Date) msglist.get(0).get("CreatedTime"); if (timestamp.after(maxTimestamp)) { maxTimestamp = timestamp; } } jsonObj.add("msg", gson.toJsonTree(msglist)); } else { jsonObj.add("msg", gson.toJsonTree(new ArrayList<DBObject>())); } List<DBObject> evtsets = new ArrayList<DBObject>(); if (user != null) { BasicDBObject query = new BasicDBObject("user", user.objId); query.append("timestamp", new BasicDBObject("$lte", maxTimestamp)); DBCursor cursor = db.getCollection("evtsets").find(query).sort(new BasicDBObject("timestamp", -1)) .limit(100); evtsets = cursor.toArray(); } jsonObj.add("evtsets", gson.toJsonTree(evtsets)); /* TODO */ if (user != null) { for (Map.Entry<String, IDataProvider> entry : providers.entrySet()) { List<DBObject> list = entry.getValue().fetch(user, maxTimestamp, limit); jsonObj.add(entry.getKey(), gson.toJsonTree(list)); } } jsonObj.addProperty("ts", sdf.format(maxTimestamp)); return jsonObj.toString(); }
From source file:geojson.sof20181050.ConvertToGeoJSON.java
License:Apache License
/** * Performs the document updates using the legacy driver. * <p>/*from w w w. j av a 2 s . c o m*/ * The main draw back here (other than those discussed in * {@link #doSynchronously()}) is the difficulty creating the GeoJSON * documents. * </p> * * @throws UnknownHostException * On an invalid URI. */ protected static void doLegacy() throws UnknownHostException { // Execute the query to find all of the documents and then // update them. final com.mongodb.MongoClient legacyClient = new com.mongodb.MongoClient(new MongoClientURI(URI)); final com.mongodb.DBCollection legacyCollection = legacyClient.getDB(theCollection.getDatabaseName()) .getCollection(theCollection.getName()); try { int count = 0; for (final DBObject doc : legacyCollection.find()) { final Object id = doc.get("_id"); final Number lat = (Number) doc.get("latitude_deg"); final Number lon = (Number) doc.get("longitude_deg"); final BasicDBObject query = new BasicDBObject(); query.append("_id", id); final ArrayList<Double> coordinates = new ArrayList<>(); coordinates.add(lon.doubleValue()); coordinates.add(lat.doubleValue()); final BasicDBObject geojson = new BasicDBObject("type", "Point"); geojson.append("coordinates", coordinates); final BasicDBObject set = new BasicDBObject("loc", geojson); final BasicDBObject update = new BasicDBObject("$set", set); legacyCollection.update(query, update, /* upsert= */false, /* multi= */false, WriteConcern.ACKNOWLEDGED); count += 1; } System.out.printf("Updated %d documents via the legacy driver.%n", count); } finally { // Always close the client. legacyClient.close(); } }
From source file:gov.llnl.iscr.iris.LDAModel.java
License:Open Source License
/** * returns the topics within the given list of topic IDs less than the given threshold argument * @param semcoArgs/* w ww. j ava 2s.co m*/ * @param threshold * @return */ public DBCursor getTopicsLessThan(List<Integer> semcoArgs, double threshold) { //Building queries for retrieving topic semco values less than threshold BasicDBObject query = new BasicDBObject(); query.put("topic", new BasicDBObject("$in", semcoArgs)); query.append("semco", new BasicDBObject("$lt", threshold)); BasicDBObject query2 = new BasicDBObject(); query2.put("_id", 0); query2.put("words", 0); return semco.find(query, query2); }