Example usage for com.google.gson JsonObject JsonObject

List of usage examples for com.google.gson JsonObject JsonObject

Introduction

In this page you can find the example usage for com.google.gson JsonObject JsonObject.

Prototype

JsonObject

Source Link

Usage

From source file:ch.epfl.leb.sass.models.fluorophores.internal.PhysicalFluorophore.java

License:Open Source License

@Override
public JsonElement serialize(PhysicalFluorophore src, Type typeOfSrc, JsonSerializationContext context) {
    JsonObject result = new JsonObject();
    result.add("id", new JsonPrimitive(src.getId()));
    result.add("x", new JsonPrimitive(src.x));
    result.add("y", new JsonPrimitive(src.y));
    result.add("z", new JsonPrimitive(src.z));
    result.add("currentState", new JsonPrimitive(src.getCurrentState()));
    result.add("maxPhotonsPerFrame", new JsonPrimitive(src.getSignal()));
    result.add("bleached", new JsonPrimitive(src.isBleached()));
    result.add("emitting", new JsonPrimitive(src.isOn()));
    result.add("onTime", new JsonPrimitive(src.getOnTimeThisFrame()));
    result.add("photonsEmittedLastFrame", new JsonPrimitive(src.getPhotonsThisFrame()));
    return result;
}

From source file:ch.epfl.leb.sass.simulator.internal.DefaultSimulator.java

License:Open Source License

/**
 * Returns information on the simulation's current state as a JSON object.
 * // ww  w.j a v  a  2  s .  c o m
 * Unlike {@link #toJsonMessages() toJsonMessages()}, which returns
 * information about previous changes in the simulation's state, this method
 * reports on the current state of the simulation.
 * 
 * @return A JSON object containing information on the simulation state.
 */
@Override
public JsonElement toJsonState() {
    JsonObject json = new JsonObject();
    json.add(CAMERA_MEMBER_NAME, this.microscope.toJsonCamera());
    json.add(FLUOR_MEMBER_NAME, this.microscope.toJsonFluorescence());
    json.add(LASER_MEMBER_NAME, this.microscope.toJsonLaser());
    json.add(OBJECTIVE_MEMBER_NAME, this.microscope.toJsonObjective());
    json.add(STAGE_MEMBER_NAME, this.microscope.toJsonStage());
    return json;
}

From source file:ch.ethz.coss.nervous.pulse.sql.SqlRequestWorker.java

License:Open Source License

@Override
public void run() {
    try {/*from www  .java2  s. c  o m*/

        JsonObject feature = null;
        JsonArray features = null;
        JsonObject featureCollection = null;

        try {

            /***** SQL get ********/
            // Fetch data
            PreparedStatement datastmt = sqlse.getSensorValuesFetchStatement(connection, ptmRequest.readingType,
                    ptmRequest.startTime, ptmRequest.endTime);
            ResultSet rs = datastmt.executeQuery();
            featureCollection = new JsonObject();
            features = new JsonArray();
            // System.out.println("SQL query result size =
            // "+rs.getFetchSize());
            long currentTimeMillis = System.currentTimeMillis();
            while (rs.next()) {
                long volatility = rs.getLong("Volatility");
                long recordTime = rs.getLong("RecordTime");

                //               System.out.println("Volatility = " + volatility);
                //               System.out.println("currentTimeMillis = " + currentTimeMillis);
                //               System.out.println("left time = " + (currentTimeMillis - (recordTime + (volatility * 1000))));
                if (volatility != -1)
                    if (volatility == 0 || currentTimeMillis > (recordTime + (volatility * 1000))) {
                        //                  System.out.println("Continue");
                        continue;
                    }

                String lat = rs.getString("lat");
                String lon = rs.getString("lon");

                feature = new JsonObject();
                feature.addProperty("type", "Feature");
                JsonObject point = new JsonObject();
                point.addProperty("type", "Point");
                JsonArray coord = new JsonArray();
                coord.add(new JsonPrimitive(lat));
                coord.add(new JsonPrimitive(lon));
                point.add("coordinates", coord);
                feature.add("geometry", point);

                JsonObject properties = new JsonObject();

                properties.addProperty("volatility", volatility);
                if (ptmRequest.readingType == 0) {
                    String luxVal = rs.getString("Light");
                    // System.out.println("Reading instance of light");
                    properties.addProperty("readingType", "" + 0);
                    properties.addProperty("level", luxVal);
                } else if (ptmRequest.readingType == 1) {
                    String soundVal = rs.getString("Decibel");
                    properties.addProperty("readingType", "" + 1);
                    properties.addProperty("level", soundVal);
                } else if (ptmRequest.readingType == 2) {
                    String message = rs.getString("Message");
                    message = message.trim();
                    properties.addProperty("readingType", "" + 2);

                    if (message.length() <= 0) {
                        message = "***Empty Message***";
                        continue;
                    }

                    properties.addProperty("message", message);

                } else {
                    // System.out.println("Reading instance not known");
                }

                feature.add("properties", properties);
                features.add(feature);

                // if((features.getAsJsonArray()).size() >= 60000){
                // featureCollection.add("features", features);
                // pSocketServer.sendToSocket(ptmRequest.webSocket,
                // ptmRequest.requestID, featureCollection.toString(),
                // false);
                // featureCollection = new JsonObject();
                // featureCollection = new JsonObject();
                // features = new JsonArray();
                // try {
                // Thread.sleep(10);
                // } catch (Exception e) {
                // // TODO Auto-generated catch block
                // e.printStackTrace();
                // }
                // break;
                // }
            }

            featureCollection.add("features", features);
            // System.out.println("Feature collection +
            // "+featureCollection.toString());
            pSocketServer.sendToSocket(ptmRequest.webSocket, ptmRequest.requestID, featureCollection.toString(),
                    true);

            /*************/

        } catch (JsonParseException e) {
            System.out.println("can't save json object: " + e.toString());
        }

    } catch (Exception e) {
        e.printStackTrace();
        Log.getInstance().append(Log.FLAG_WARNING, "Generic error");
    } finally {
        cleanup();
    }
}

From source file:ch.ethz.coss.nervous.pulse.sql.SqlUploadWorker.java

License:Open Source License

@SuppressWarnings("deprecation")
@Override//ww  w.  jav  a 2 s. com
public void run() {
    // InputStream is;
    DataInputStream in = null;

    try {
        in = new DataInputStream(socket.getInputStream());
        boolean connected = true;
        while (connected) {
            connected &= !socket.isClosed();
            Visual reading = null;
            JsonObject featureCollection = new JsonObject();
            JsonArray features = new JsonArray();
            JsonObject feature = null;
            try {
                // String json = in.readUTF();

                // StringBuffer json = new StringBuffer();
                // String tmp;
                String json = null;
                try {
                    // while ((tmp = in.read()) != null) {
                    // json.append(tmp);
                    // }

                    ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    byte buffer[] = new byte[1024];
                    for (int s; (s = in.read(buffer)) != -1;) {
                        baos.write(buffer, 0, s);
                    }
                    byte result[] = baos.toByteArray();
                    json = new String(result);

                    // use inputLine.toString(); here it would have whole
                    // source
                    in.close();
                } catch (MalformedURLException me) {
                    System.out.println("MalformedURLException: " + me);
                } catch (IOException ioe) {
                    System.out.println("IOException: " + ioe);
                }
                System.out.println("JSON STRING = " + json);
                System.out.println("JSON Length = " + json.length());

                if (json.length() <= 0)
                    continue;
                reading = new JSONDeserializer<Visual>().deserialize(json, Visual.class);
                feature = new JsonObject();

                feature.addProperty("type", "Feature");
                // JsonArray featureList = new JsonArray();
                // iterate through your list
                // for (ListElement obj : list) {
                // {"geometry": {"type": "Point", "coordinates":
                // [-94.149, 36.33]}
                JsonObject point = new JsonObject();
                point.addProperty("type", "Point");
                // construct a JSONArray from a string; can also use an
                // array or list
                JsonArray coord = new JsonArray();
                if (reading == null || reading.location == null)
                    continue;
                else if (reading.location.latnLong[0] == 0 && reading.location.latnLong[1] == 0)
                    continue;

                coord.add(new JsonPrimitive(new String("" + reading.location.latnLong[0])));
                coord.add(new JsonPrimitive(new String("" + reading.location.latnLong[1])));

                point.add("coordinates", coord);
                feature.add("geometry", point);

                JsonObject properties = new JsonObject();
                if (reading.type == 0) {
                    // System.out.println("Reading instance of light");
                    properties.addProperty("readingType", "" + 0);
                    properties.addProperty("level", "" + ((LightReading) reading).lightVal);
                } else if (reading.type == 1) {
                    properties.addProperty("readingType", "" + 1);
                    properties.addProperty("level", "" + ((NoiseReading) reading).soundVal);
                } else if (reading.type == 2) {
                    properties.addProperty("readingType", "" + 2);
                    properties.addProperty("message", "" + ((TextVisual) reading).textMsg);
                } else {
                    // System.out.println("Reading instance not known");
                }
                properties.addProperty("recordTime", reading.timestamp);
                properties.addProperty("volatility", reading.volatility);
                feature.add("properties", properties);
                features.add(feature);
                featureCollection.add("features", features);

                if (reading.volatility != 0) {
                    /***** SQL insert ********/
                    // Insert data
                    System.out.println("before uploading SQL - reading uuid = " + reading.uuid);
                    System.out.println("Reading volatility = " + reading.volatility);
                    PreparedStatement datastmt = sqlse.getSensorInsertStatement(connection, reading.type);
                    if (datastmt != null) {
                        // System.out.println("datastmt - " +
                        // datastmt.toString());
                        List<Integer> types = sqlse.getArgumentExpectation((long) reading.type);
                        datastmt.setString(1, reading.uuid);
                        if (reading.type == 0) {
                            datastmt.setLong(2, reading.timestamp);
                            datastmt.setLong(3, reading.volatility);
                            datastmt.setDouble(4, ((LightReading) reading).lightVal);
                            datastmt.setDouble(5, reading.location.latnLong[0]);
                            datastmt.setDouble(6, reading.location.latnLong[1]);
                        } else if (reading.type == 1) {
                            datastmt.setLong(2, reading.timestamp);
                            datastmt.setLong(3, reading.volatility);
                            datastmt.setDouble(4, ((NoiseReading) reading).soundVal);
                            datastmt.setDouble(5, reading.location.latnLong[0]);
                            datastmt.setDouble(6, reading.location.latnLong[1]);
                        } else if (reading.type == 2) {
                            datastmt.setLong(2, reading.timestamp);
                            datastmt.setLong(3, reading.volatility);
                            datastmt.setString(4, ((TextVisual) reading).textMsg);
                            datastmt.setDouble(5, reading.location.latnLong[0]);
                            datastmt.setDouble(6, reading.location.latnLong[1]);
                        }
                        // System.out.println("datastmt after populating - "
                        // + datastmt.toString());

                        datastmt.addBatch();
                        datastmt.executeBatch();
                        datastmt.close();
                    }
                    /*************/

                }

            } catch (JsonParseException e) {
                System.out.println("can't save json object: " + e.toString());
            }
            // output the result
            // System.out.println("featureCollection=" +
            // featureCollection.toString());

            String message = featureCollection.toString();
            pSocketServer.sendToAll(message);

        }

    } catch (EOFException e) {
        e.printStackTrace();
        Log.getInstance().append(Log.FLAG_WARNING, "EOFException occurred, but ignored it for now.");
    } catch (IOException e) {
        e.printStackTrace();
        Log.getInstance().append(Log.FLAG_WARNING, "Opening data stream from socket failed");
    } catch (Exception e) {
        e.printStackTrace();
        Log.getInstance().append(Log.FLAG_WARNING, "Generic error");
    } finally {
        cleanup();
        try {
            in.close();
            in = null;
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            ;
        }
    }
}

From source file:ch.ethz.coss.nervous.pulse.WriteJSON.java

License:Open Source License

public static void sendGeoJSON(Socket socket, Object o) {

    try {//  w  w w . j  av a  2  s.  c om
        Scanner in = new Scanner(socket.getInputStream());

        while (!in.nextLine().isEmpty())
            ;

        PrintWriter out = new PrintWriter(socket.getOutputStream());

        Visual reading = (Visual) o;

        JsonObject feature = new JsonObject();
        try {
            feature.addProperty("type", "Feature");
            // JsonArray featureList = new JsonArray();
            // iterate through your list
            // for (ListElement obj : list) {
            // {"geometry": {"type": "Point", "coordinates": [-94.149,
            // 36.33]}
            JsonObject point = new JsonObject();
            point.addProperty("type", "Point");
            // construct a JSONArray from a string; can also use an array or
            // list
            JsonArray coord = new JsonArray();
            coord.add(new JsonPrimitive(reading.location.latnLong[0]));
            coord.add(new JsonPrimitive(reading.location.latnLong[1]));
            point.add("coordinates", coord);
            feature.add("geometry", point);
            JsonObject properties = new JsonObject();
            if (reading.type == 0) {
                // System.out.println("Reading instance of light");
                properties.addProperty("readingType", "" + 0);
                properties.addProperty("lightLevel", "" + ((LightReading) reading).lightVal);
            } else if (reading.type == 1) {
                properties.addProperty("readingType", "" + 1);
                properties.addProperty("noiseLevel", "" + ((NoiseReading) reading).soundVal);
            } else if (reading.type == 2) {
                properties.addProperty("readingType", "" + 2);
                properties.addProperty("message", "" + ((TextVisual) reading).textMsg);
            } else {
                // System.out.println("Reading instance not known");
            }

            feature.add("properties", properties);

            // }
        } catch (JsonParseException e) {
            // System.out.println("can't save json object: " +
            // e.toString());
        }
        // output the result
        // System.out.println("featureCollection=" + feature.toString());

        String message = feature.toString();

        out.println("HTTP/1.0 200 OK");
        out.println("Content-Type: text/json");
        out.printf("Content-Length: %d%n", message.length());
        out.println("Access-Control-Allow-Origin: *");
        out.println();
        out.println(message);
        out.flush();

        socket.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:ch.ethz.inf.vs.hypermedia.corehal.block.CoREHalResourceFuture.java

License:Open Source License

public static <V extends CoREHalResourceFuture> V createFromWebLink(Supplier<V> type, WebLink item) {
    String location = Utils.getWebLinkAttribute(item, "location");
    V block = type.get();//from   w  w  w  .  ja v  a 2  s .c  o  m
    JsonObject jo = new JsonObject();
    jo.addProperty("_self", item.getURI());
    if (location != null) {
        jo.addProperty("location", location);
    }
    block.loadPartial(jo);
    return block;
}

From source file:ch.ethz.inf.vs.hypermedia.corehal.block.LocationDescriptionFuture.java

License:Open Source License

public CoapRequestFuture addChildLocation(LocationDescription description) {
    JsonObject partialDescription = new JsonObject();
    partialDescription.addProperty("_self", description.getSelf(description.getSelf("")));
    partialDescription.addProperty("location", description.getLocation());
    return getFormRequest("add-child", partialDescription);
}

From source file:ch.ethz.inf.vs.hypermedia.corehal.block.LocationDescriptionFuture.java

License:Open Source License

public CoapRequestFuture addThing(ThingDescription description) {
    JsonObject partialDescription = new JsonObject();
    partialDescription.addProperty("_self", description.getSelf(description.getSelf("")));
    partialDescription.addProperty("location", description.getLocation());
    return getFormRequest("add-thing", partialDescription);
}

From source file:ch.ethz.inf.vs.hypermedia.corehal.block.LocationDescriptionFuture.java

License:Open Source License

public CoapRequestFuture removeThing(ThingDescription description) {
    JsonObject partialDescription = new JsonObject();
    partialDescription.addProperty("_self", description.getSelf(description.getSelf("")));
    partialDescription.addProperty("location", description.getLocation());
    return getFormRequest("remove-thing", partialDescription);
}

From source file:ch.gaps.slasher.views.main.MainController.java

License:Open Source License

/**
 * To save the state of the software, the tab, the servers and the databases.
 *///from   www  . j  a  va  2  s  .  c  om
public void saveState() {
    try {
        os = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("save.json")));
        Gson jsonEngine = new GsonBuilder().setPrettyPrinting().create();
        JsonArray mainArray = new JsonArray();

        for (Server s : servers) {
            JsonObject server = new JsonObject();

            server.addProperty("serverDescription", s.getDescription());
            server.addProperty("serverDriver", s.getDiverName());
            server.addProperty("serverHost", s.getHost());
            server.addProperty("serverPort", s.getPort());

            JsonArray databases = new JsonArray();

            for (Database db : s.getDatabases()) {

                JsonObject database = new JsonObject();

                database.addProperty("databaseDescritpion", db.getDescritpion());
                database.addProperty("databaseName", db.getName());
                database.addProperty("databaseUsername", db.getUsername());

                JsonArray tabsJson = new JsonArray();

                tabs.forEach(editorTab -> {
                    if (editorTab.getDatabase() == db) {

                        JsonObject tabJson = new JsonObject();
                        tabJson.addProperty("tabName", "name");
                        tabJson.addProperty("moduleName", editorTab.getModuleName());
                        tabJson.addProperty("content", editorTab.getEditorController().getContent());
                        tabsJson.add(tabJson);
                    }
                });

                database.add("tabs", tabsJson);

                databases.add(database);

            }
            server.add("databases", databases);

            mainArray.add(server);
        }

        os.write(jsonEngine.toJson(mainArray));
        os.flush();

    } catch (IOException e) {
        addToUserCommunication(e.getMessage());
    }
}