Example usage for com.google.gson JsonArray JsonArray

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

Introduction

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

Prototype

public JsonArray() 

Source Link

Document

Creates an empty JsonArray.

Usage

From source file:be.iminds.iot.dianne.builder.DianneVAE.java

License:Open Source License

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("application/json");
    String d = request.getParameter("dataset");
    if (d == null) {
        System.out.println("No dataset provided");
        return;/*from www .  j av a2  s .  c o  m*/
    }
    Dataset dataset = datasets.getDataset(d);
    if (dataset == null) {
        System.out.println("No such dataset found: " + d);
        return;
    }

    String enc = request.getParameter("encoder");
    if (enc == null) {
        System.out.println("No encoder provided");
        return;
    }

    NeuralNetwork encoder = nns.get(enc);
    if (encoder == null) {
        try {
            encoder = dianne.getNeuralNetwork(platform.deployNeuralNetwork(enc, new String[] { "vae" }))
                    .getValue();
            nns.put(enc, encoder);
        } catch (Exception e) {
            e.printStackTrace();
            return;
        }
    }

    NeuralNetwork decoder = null;
    String dec = request.getParameter("decoder");
    if (dec != null) {
        decoder = nns.get(dec);
        if (decoder == null) {
            try {
                decoder = dianne.getNeuralNetwork(platform.deployNeuralNetwork(dec, new String[] { "vae" }))
                        .getValue();
                nns.put(dec, decoder);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    int size = this.size;
    String s = request.getParameter("size");
    if (s != null) {
        size = Integer.parseInt(s);
    }

    JsonArray result = new JsonArray();

    String sample = request.getParameter("sample");
    String l = request.getParameter("latent");
    if (sample == null && l == null) {
        // fetch random samples from dataset
        for (int i = 0; i < size; i++) {
            JsonObject o = new JsonObject();
            int index = random.nextInt(dataset.size());
            Tensor data = dataset.getSample(index).input;
            Tensor latent = encoder.forward(data);

            o.add("index", new JsonPrimitive(index));
            o.add("data", converter.toJson(data));
            o.add("latent", converter.toJson(latent));

            result.add(o);
        }

    } else {
        Tensor latent = null;
        if (sample != null) {
            int index = Integer.parseInt(sample);
            Tensor base = dataset.getSample(index).input;
            latent = encoder.forward(base).clone();
        } else {
            Tensor lmeans = converter.fromString(l);
            latent = new Tensor(lmeans.size() * 2);
            latent.fill(0.0f);
            lmeans.copyInto(latent.narrow(0, lmeans.size()));
        }
        if (decoder != null) {
            // generate samples using the decoder
            Tensor mean = latent.narrow(0, latent.size() / 2);
            Tensor stdev = latent.narrow(latent.size() / 2, latent.size() / 2);
            Tensor rand = new Tensor(latent.size() / 2);
            Tensor rand2 = null;

            for (int i = 0; i < size; i++) {
                rand.randn();
                TensorOps.cmul(rand, rand, stdev);
                TensorOps.add(rand, rand, mean);

                Tensor reconstruction = decoder.forward(rand);
                Tensor rmean = reconstruction.narrow(0, reconstruction.size() / 2);
                Tensor rstdev = reconstruction.narrow(reconstruction.size() / 2, reconstruction.size() / 2);

                if (rand2 == null) {
                    rand2 = new Tensor(rmean.dims());
                }
                rand2.randn();
                TensorOps.cmul(rand2, rand2, rstdev);
                TensorOps.add(rand2, rand2, rmean);

                JsonObject o = new JsonObject();
                o.add("index", new JsonPrimitive(-1));
                o.add("data", converter.toJson(rand2));
                o.add("latent", converter.toJson(latent));
                result.add(o);
            }

        } else {
            // search for samples close to this sample in the dataset
            final Tensor baseline = latent;
            SortedSet<LatentSample> set = new TreeSet<>(new Comparator<LatentSample>() {
                @Override
                public int compare(LatentSample o1, LatentSample o2) {
                    Tensor diff = TensorOps.sub(null, o1.latent.narrow(0, baseline.size() / 2),
                            baseline.narrow(0, baseline.size() / 2));
                    Float d1 = TensorOps.dot(diff, diff);
                    diff = TensorOps.sub(null, o2.latent.narrow(0, baseline.size() / 2),
                            baseline.narrow(0, baseline.size() / 2));
                    Float d2 = TensorOps.dot(diff, diff);
                    return d1.compareTo(d2);
                }
            });

            for (int i = 0; i < tries; i++) {
                LatentSample ls = new LatentSample();
                ls.index = random.nextInt(dataset.size());
                ls.data = dataset.getSample(ls.index).input;
                ls.latent = encoder.forward(ls.data).clone();
                set.add(ls);

                if (set.size() > size) {
                    set.remove(set.last());
                }
            }

            for (LatentSample ls : set) {
                JsonObject o = new JsonObject();
                o.add("index", new JsonPrimitive(ls.index));
                o.add("data", converter.toJson(ls.data));
                o.add("latent", converter.toJson(ls.latent));
                result.add(o);
            }
        }
    }

    response.getWriter().println(result);
    response.getWriter().flush();
}

From source file:be.iminds.iot.dianne.nn.util.DianneJSONConverter.java

License:Open Source License

public static JsonObject toJson(ModuleDTO dto) {
    JsonObject module = new JsonObject();

    module.add("id", new JsonPrimitive(dto.id.toString()));
    module.add("type", new JsonPrimitive(dto.type));

    if (dto.next != null) {
        JsonArray next = new JsonArray();
        for (UUID n : dto.next) {
            next.add(new JsonPrimitive(n.toString()));
        }/*w  ww  .j av a2 s  . c om*/
        module.add("next", next);
    }

    if (dto.prev != null) {
        JsonArray prev = new JsonArray();
        for (UUID p : dto.prev) {
            prev.add(new JsonPrimitive(p.toString()));
        }
        module.add("prev", prev);
    }

    if (dto.properties != null) {
        for (String k : dto.properties.keySet()) {
            module.add(k, new JsonPrimitive(dto.properties.get(k)));
        }
    }

    return module;
}

From source file:be.iminds.iot.dianne.nn.util.DianneJSONRPCRequestFactory.java

License:Open Source License

public static JsonObject createLearnRequest(int id, NeuralNetworkDTO nn, String dataset,
        Map<String, String> properties) {
    JsonObject request = new JsonObject();
    request.add("jsonrpc", new JsonPrimitive("2.0"));
    request.add("method", new JsonPrimitive("learn"));
    request.add("id", new JsonPrimitive(id));

    JsonArray params = new JsonArray();
    params.add(DianneJSONConverter.toJson(nn));
    params.add(new JsonPrimitive(dataset));
    params.add(createJsonFromMap(properties));
    request.add("params", params);

    return request;
}

From source file:be.iminds.iot.dianne.nn.util.DianneJSONRPCRequestFactory.java

License:Open Source License

public static JsonObject createEvalRequest(int id, String nnName, String dataset,
        Map<String, String> properties) {
    JsonObject request = new JsonObject();
    request.add("jsonrpc", new JsonPrimitive("2.0"));
    request.add("method", new JsonPrimitive("eval"));
    request.add("id", new JsonPrimitive(id));

    JsonArray params = new JsonArray();
    params.add(new JsonPrimitive(nnName));
    params.add(new JsonPrimitive(dataset));
    params.add(createJsonFromMap(properties));
    request.add("params", params);

    return request;

}

From source file:be.iminds.iot.dianne.nn.util.DianneJSONRPCRequestFactory.java

License:Open Source License

public static JsonObject createDeployRequest(int id, String nnName) {
    JsonObject request = new JsonObject();
    request.add("jsonrpc", new JsonPrimitive("2.0"));
    request.add("method", new JsonPrimitive("deploy"));
    request.add("id", new JsonPrimitive(id));

    JsonArray params = new JsonArray();
    params.add(new JsonPrimitive(nnName));
    request.add("params", params);

    return request;
}

From source file:be.iminds.iot.dianne.nn.util.DianneJSONRPCRequestFactory.java

License:Open Source License

public static JsonObject createUndeployRequest(int id, String nnId) {
    JsonObject request = new JsonObject();
    request.add("jsonrpc", new JsonPrimitive("2.0"));
    request.add("method", new JsonPrimitive("undeploy"));
    request.add("id", new JsonPrimitive(id));

    JsonArray params = new JsonArray();
    params.add(new JsonPrimitive(nnId));
    request.add("params", params);

    return request;
}

From source file:be.iminds.iot.dianne.nn.util.DianneJSONRPCRequestFactory.java

License:Open Source License

public static JsonObject createForwardRequest(int id, String nnId, int[] dims) {
    JsonObject request = new JsonObject();
    request.add("jsonrpc", new JsonPrimitive("2.0"));
    request.add("method", new JsonPrimitive("forward"));
    request.add("id", new JsonPrimitive(id));

    JsonArray params = new JsonArray();
    params.add(new JsonPrimitive(nnId));

    // create input
    JsonArray input = new JsonArray();
    List<JsonArray> toAdd = new ArrayList<>();
    toAdd.add(input);/*from w w w  . j  a  va2  s  .  co  m*/
    for (int i = 0; i < dims.length; i++) {
        List<JsonArray> nextAdd = new ArrayList<>();
        int d = dims[i];
        for (int k = 0; k < d; k++) {
            if (i == dims.length - 1) {
                // add floats
                for (JsonArray a : toAdd) {
                    a.add(new JsonPrimitive(0.0f));
                }
            } else {
                // add jsonarrays
                for (JsonArray a : toAdd) {
                    JsonArray newArray = new JsonArray();
                    a.add(newArray);
                    nextAdd.add(newArray);
                }
            }
        }
        toAdd = nextAdd;
    }
    params.add(input);

    request.add("params", params);

    return request;
}

From source file:be.uantwerpen.dc.studyassistant.StudyAssistant.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//ww w. j  a  va2  s  . c om
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");

    String urlPath = request.getServletPath();

    if (urlPath.equalsIgnoreCase("/resources")) {

        ArrayList<Environment> lcs = this.getEnvironmentResources();

        Integer min = Integer.MAX_VALUE;
        Integer max = Integer.MIN_VALUE;
        for (Environment e : lcs) {
            if (e.getArduinoloudness() != null && e.getArduinoloudness() < min) {
                min = e.getArduinoloudness();
            }
            if (e.getArduinoloudness() != null && e.getArduinoloudness() > max) {
                max = e.getArduinoloudness();
            }
        }

        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet StudyAssistant</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet StudyAssistant at " + request.getContextPath() + "</h1>");
            for (Environment e : lcs) {
                out.println(e.toString());
            }

            out.println("Noise MAX: " + max);
            out.println("Noise MIN: " + min);

            out.println("</body>");
            out.println("</html>");
        }
    } else if (urlPath.equalsIgnoreCase("/resources/gauge")) {
        Environment lastRecord = this.getLastEnvironmentRecord();

        StudyIndex inx = new StudyIndex(lastRecord);
        double index = inx.getStudyIndex();
        index *= 100;

        index = Math.round(index * 100.0) / 100.0;

        JsonObject obj = new JsonObject();

        // create an array called cols
        JsonArray cols = new JsonArray();
        JsonArray rows = new JsonArray();
        JsonArray messages = new JsonArray();

        JsonObject col = new JsonObject();
        col.addProperty("id", "Index");
        col.addProperty("label", "Index");
        col.addProperty("type", "string");
        cols.add(col);

        JsonObject col2 = new JsonObject();
        col2.addProperty("id", "Value");
        col2.addProperty("label", "Value");
        col2.addProperty("type", "number");
        cols.add(col2);

        obj.add("cols", cols);

        JsonObject c = new JsonObject();
        JsonArray row = new JsonArray();

        JsonObject v1 = new JsonObject();
        v1.addProperty("v", "Index");
        row.add(v1);

        JsonObject v2 = new JsonObject();
        v2.addProperty("v", index);
        row.add(v2);

        c.add("c", row);

        rows.add(c);

        obj.add("rows", rows);

        String msg = "";
        if ((inx.alcoholIndex < 0.90) || (inx.methaneIndex < 0.90)) {
            msg += "Room needs better air circulation.";
            JsonObject msg1 = new JsonObject();
            msg1.addProperty("text", msg);
            messages.add(msg1);
        }

        JsonObject msg2 = new JsonObject();
        msg = "";
        if (lastRecord.getArduinolight() < StudyIndex.lightOptimalValue) {
            msg += "Increase room luminance!";
        } else if (lastRecord.getArduinolight() > StudyIndex.lightOptimalValue) {
            msg += "Lower room luminance!";
        } else {
            msg += "Room luminance is optimal!";
        }
        msg2.addProperty("text", msg);
        messages.add(msg2);

        JsonObject msg3 = new JsonObject();
        msg = "";
        if (lastRecord.getDs18b20temp() < StudyIndex.temperatureOptimalValue) {
            msg += "Increase room temperature!";
        } else if (lastRecord.getDs18b20temp() > StudyIndex.temperatureOptimalValue) {
            msg += "Lower room temperature!";
        } else {
            msg += "Room temperature is optimal!";
        }
        msg3.addProperty("text", msg);
        messages.add(msg3);

        JsonObject msg4 = new JsonObject();
        msg = "";
        if (lastRecord.getArduinoloudness() > StudyIndex.loudnessOptimalValue) {
            msg += "Room is too noisy!";
            msg4.addProperty("text", msg);
            messages.add(msg4);
        }

        JsonObject msg5 = new JsonObject();
        msg = "";
        if (lastRecord.getDs18b20temp() < StudyIndex.temperatureOptimalValue) {
            msg += "Humidity is less than optimal.";
        } else if (lastRecord.getDs18b20temp() > StudyIndex.temperatureOptimalValue) {
            msg += "Humidity is above optimal.";
        } else {
            msg += "Humidity is optimal!";
        }
        msg5.addProperty("text", msg);
        messages.add(msg5);

        obj.add("messages", messages);

        Gson gson = new GsonBuilder().setPrettyPrinting().serializeNulls()
                .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE).create();

        response.setContentType("application/json");
        response.setCharacterEncoding("utf-8");

        PrintWriter out = response.getWriter();

        out.print(gson.toJson(obj));
    } else if (urlPath.equalsIgnoreCase("/resources/humidity")) {
        JsonObject obj = this.getCoreChartsJson("Humidity");
        this.printJson(obj, response);
    } else if (urlPath.equalsIgnoreCase("/resources/temperature")) {
        JsonObject obj = this.getCoreChartsJson("Temperature");
        this.printJson(obj, response);
    } else if (urlPath.equalsIgnoreCase("/resources/loudness")) {
        JsonObject obj = this.getCoreChartsJson("Loudness");
        this.printJson(obj, response);
    } else if (urlPath.equalsIgnoreCase("/resources/light")) {
        JsonObject obj = this.getCoreChartsJson("Light");
        this.printJson(obj, response);
    } else if (urlPath.equalsIgnoreCase("/resources/bubbleindex")) {
        JsonObject obj = this.getCoreChartsJson("Environment Index Score");
        this.printJson(obj, response);
    } else if (urlPath.equalsIgnoreCase("/resources/minmax")) {
        JsonObject obj = this.findMinMax();
        this.printJson(obj, response);
    }
}

From source file:be.uantwerpen.dc.studyassistant.StudyAssistant.java

private JsonObject getCoreChartsJson(String property) {

    ArrayList<Environment> envs = this.getEnvironmentResources();

    JsonObject obj = new JsonObject();

    // create an array called cols
    JsonArray cols = new JsonArray();
    JsonArray rows = new JsonArray();

    JsonObject col = new JsonObject();
    col.addProperty("id", "Time");
    col.addProperty("label", "Time");
    col.addProperty("type", "date");
    cols.add(col);/* ww  w . j a va 2s  .  com*/

    JsonObject col2 = new JsonObject();
    col2.addProperty("id", property);
    col2.addProperty("label", property);
    col2.addProperty("type", "number");
    cols.add(col2);

    obj.add("cols", cols);

    for (Environment e : envs) {
        JsonObject c = new JsonObject();
        JsonArray row = new JsonArray();

        JsonObject v1 = new JsonObject();
        v1.addProperty("v", "Date(" + e.getCreated().getTime() + ")");
        row.add(v1);

        JsonObject v2 = new JsonObject();

        if (property.equalsIgnoreCase("temperature")) {
            v2.addProperty("v", e.getDs18b20temp());
            row.add(v2);
            c.add("c", row);
            rows.add(c);
            obj.add("rows", rows);
        } else if (property.equalsIgnoreCase("humidity")) {
            v2.addProperty("v", e.getDht11hum());
            row.add(v2);
            c.add("c", row);
            rows.add(c);
            obj.add("rows", rows);
        } else if (property.equalsIgnoreCase("loudness")) {
            v2.addProperty("v", e.getArduinoloudness());
            row.add(v2);
            c.add("c", row);
            rows.add(c);
            obj.add("rows", rows);
        } else if (property.equalsIgnoreCase("light")) {
            v2.addProperty("v", e.getArduinolight());
            row.add(v2);
            c.add("c", row);
            rows.add(c);
            obj.add("rows", rows);
        } else if (property.equalsIgnoreCase("Environment Index Score")) {
            StudyIndex in = null;
            double index = 0;
            try {
                in = new StudyIndex(e);
                index = in.getStudyIndex();
            } catch (Exception exc) {
                //Logger.getLogger(StudyAssistant.class.getName()).log(Level.SEVERE, null, exc);                                                
            }
            v2.addProperty("v", index);
            row.add(v2);
            c.add("c", row);
            rows.add(c);
            obj.add("rows", rows);
        }
    }

    return obj;
}

From source file:be.uantwerpen.dc.studyassistant.StudyAssistant.java

private JsonObject findMinMax() {
    ArrayList<Environment> envs = this.getEnvironmentResources();

    Double minTemperature = Double.MAX_VALUE;
    Double maxTemperature = Double.MIN_NORMAL;

    Double minHumidity = Double.MAX_VALUE;
    Double maxHumidity = Double.MIN_NORMAL;

    Double minLoudness = Double.MAX_VALUE;
    Double maxLoudness = Double.MIN_NORMAL;

    Double minLight = Double.MAX_VALUE;
    Double maxLight = Double.MIN_NORMAL;

    Double minAlcohol = Double.MAX_VALUE;
    Double maxAlcohol = Double.MIN_NORMAL;

    Double minMethaine = Double.MAX_VALUE;
    Double maxMethaine = Double.MIN_NORMAL;

    Double minPressure = Double.MAX_VALUE;
    Double maxPressure = Double.MIN_NORMAL;

    for (Environment e : envs) {
        if (e.getDs18b20temp() != null && e.getDs18b20temp() < minTemperature) {
            minTemperature = Double.parseDouble(e.getDs18b20temp() + "");
        }//from   www. j a va  2 s  . c  om

        if (e.getDs18b20temp() != null && e.getDs18b20temp() > maxTemperature) {
            maxTemperature = Double.parseDouble(e.getDs18b20temp() + "");
        }

        if (e.getDht11hum() != null && e.getDht11hum() < minHumidity) {
            minHumidity = Double.parseDouble(e.getDht11hum() + "");
        }

        if (e.getDht11hum() != null && e.getDht11hum() > maxHumidity) {
            maxHumidity = Double.parseDouble(e.getDht11hum() + "");
        }

        if (e.getArduinolight() != null && e.getArduinolight() < minLight) {
            minLight = Double.parseDouble(e.getArduinolight() + "");
        }

        if (e.getArduinolight() != null && e.getArduinolight() > maxLight) {
            maxLight = Double.parseDouble(e.getArduinolight() + "");
        }

        if (e.getArduinoloudness() != null && e.getArduinoloudness() < minLoudness) {
            minLoudness = Double.parseDouble(e.getArduinoloudness() + "");
        }

        if (e.getArduinoloudness() != null && e.getArduinoloudness() > maxLoudness) {
            maxLoudness = Double.parseDouble(e.getArduinoloudness() + "");
        }

        if (e.getArduinoalcohol() != null && e.getArduinoalcohol() < minAlcohol) {
            minAlcohol = Double.parseDouble(e.getArduinoalcohol() + "");
        }

        if (e.getArduinoalcohol() != null && e.getArduinoalcohol() > maxAlcohol) {
            maxAlcohol = Double.parseDouble(e.getArduinoalcohol() + "");
        }

        if (e.getArduinomethaine() != null && e.getArduinomethaine() < minMethaine) {
            minMethaine = Double.parseDouble(e.getArduinomethaine() + "");
        }

        if (e.getArduinomethaine() != null && e.getArduinomethaine() > maxMethaine) {
            maxMethaine = Double.parseDouble(e.getArduinomethaine() + "");
        }

        if (e.getBmp180pressure() != null && e.getBmp180pressure() < minPressure) {
            minPressure = Double.parseDouble(e.getBmp180pressure() + "");
        }

        if (e.getBmp180pressure() != null && e.getBmp180pressure() > maxPressure) {
            maxPressure = Double.parseDouble(e.getBmp180pressure() + "");
        }

    }

    ArrayList<String> types = new ArrayList<String>();
    types.add("Temperature");
    types.add("Humidity");
    types.add("Loudness");
    types.add("Luminance");
    types.add("Alcohol");
    types.add("Methane");
    types.add("Pressure");

    JsonObject obj = new JsonObject();

    // create an array called cols
    JsonArray cols = new JsonArray();
    JsonArray rows = new JsonArray();

    JsonObject col = new JsonObject();
    col.addProperty("id", "Variable");
    col.addProperty("label", "Variable");
    col.addProperty("type", "string");
    cols.add(col);

    JsonObject col2 = new JsonObject();
    col2.addProperty("id", "Minimum");
    col2.addProperty("label", "Minimum");
    col2.addProperty("type", "number");
    cols.add(col2);

    JsonObject col3 = new JsonObject();
    col3.addProperty("id", "Maximum");
    col3.addProperty("label", "Maximum");
    col3.addProperty("type", "number");
    cols.add(col3);

    obj.add("cols", cols);

    for (String s : types) {
        JsonObject c = new JsonObject();
        JsonArray row = new JsonArray();

        JsonObject v1 = new JsonObject();
        v1.addProperty("v", s);
        row.add(v1);

        if (s.equalsIgnoreCase("temperature")) {
            JsonObject v2 = new JsonObject();
            v2.addProperty("v", minTemperature);
            row.add(v2);

            JsonObject v3 = new JsonObject();
            v3.addProperty("v", maxTemperature);
            row.add(v3);

            c.add("c", row);
            rows.add(c);
        } else if (s.equalsIgnoreCase("humidity")) {
            JsonObject v2 = new JsonObject();
            v2.addProperty("v", minHumidity);
            row.add(v2);

            JsonObject v3 = new JsonObject();
            v3.addProperty("v", maxHumidity);
            row.add(v3);

            c.add("c", row);
            rows.add(c);
        } else if (s.equalsIgnoreCase("loudness")) {
            JsonObject v2 = new JsonObject();
            v2.addProperty("v", minLoudness);
            row.add(v2);

            JsonObject v3 = new JsonObject();
            v3.addProperty("v", maxLoudness);
            row.add(v3);

            c.add("c", row);
            rows.add(c);
        } else if (s.equalsIgnoreCase("luminance")) {
            JsonObject v2 = new JsonObject();
            v2.addProperty("v", minLight);
            row.add(v2);

            JsonObject v3 = new JsonObject();
            v3.addProperty("v", maxLight);
            row.add(v3);

            c.add("c", row);
            rows.add(c);
        } else if (s.equalsIgnoreCase("alcohol")) {
            JsonObject v2 = new JsonObject();
            v2.addProperty("v", minAlcohol);
            row.add(v2);

            JsonObject v3 = new JsonObject();
            v3.addProperty("v", maxAlcohol);
            row.add(v3);

            c.add("c", row);
            rows.add(c);
        } else if (s.equalsIgnoreCase("methane")) {
            JsonObject v2 = new JsonObject();
            v2.addProperty("v", minMethaine);
            row.add(v2);

            JsonObject v3 = new JsonObject();
            v3.addProperty("v", maxMethaine);
            row.add(v3);

            c.add("c", row);
            rows.add(c);
        } else if (s.equalsIgnoreCase("pressure")) {
            JsonObject v2 = new JsonObject();
            v2.addProperty("v", minPressure);
            row.add(v2);

            JsonObject v3 = new JsonObject();
            v3.addProperty("v", maxPressure);
            row.add(v3);

            c.add("c", row);
            rows.add(c);
        }
    }

    obj.add("rows", rows);

    return obj;

}