Example usage for com.mongodb BasicDBObject append

List of usage examples for com.mongodb BasicDBObject append

Introduction

In this page you can find the example usage for com.mongodb BasicDBObject append.

Prototype

@Override
public BasicDBObject append(final String key, final Object val) 

Source Link

Document

Add a key/value pair to this object

Usage

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);
}