Example usage for java.sql ResultSet getDouble

List of usage examples for java.sql ResultSet getDouble

Introduction

In this page you can find the example usage for java.sql ResultSet getDouble.

Prototype

double getDouble(String columnLabel) throws SQLException;

Source Link

Document

Retrieves the value of the designated column in the current row of this ResultSet object as a double in the Java programming language.

Usage

From source file:rems.Global.java

public static double getAccntLstDailyCrdtCurrBals(int accntID, String balsDate) {
    try {//from  w w  w .  j a  va  2  s.c om
        SimpleDateFormat frmtr = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
        SimpleDateFormat frmtr1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        balsDate = frmtr1.format(frmtr.parse(balsDate));
        balsDate = balsDate.substring(0, 10);

        String strSql = "SELECT a.crdt_bal " + "FROM accb.accb_accnt_crncy_daily_bals a "
                + "WHERE(to_timestamp(a.as_at_date,'YYYY-MM-DD') <=  to_timestamp('" + balsDate
                + "','YYYY-MM-DD') and a.accnt_id = " + accntID
                + ") ORDER BY to_timestamp(a.as_at_date,'YYYY-MM-DD') DESC LIMIT 1 OFFSET 0";

        ResultSet dtst = Global.selectDataNoParams(strSql);
        while (dtst.next()) {
            return dtst.getDouble(1);
        }
        return 0.00;
    } catch (SQLException ex) {
        return 0.00;
    } catch (ParseException ex) {
        return 0.00;
    }
}

From source file:rems.Global.java

public static double getAccntLstDailyDbtCurrBals(int accntID, String balsDate) {
    try {//from  ww  w.j a  v a2s .  com
        SimpleDateFormat frmtr = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
        SimpleDateFormat frmtr1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        balsDate = frmtr1.format(frmtr.parse(balsDate));
        balsDate = balsDate.substring(0, 10);

        String strSql = "SELECT a.dbt_bal " + "FROM accb.accb_accnt_crncy_daily_bals a "
                + "WHERE(to_timestamp(a.as_at_date,'YYYY-MM-DD') <=  to_timestamp('" + balsDate
                + "','YYYY-MM-DD') and a.accnt_id = " + accntID
                + ") ORDER BY to_timestamp(a.as_at_date,'YYYY-MM-DD') DESC LIMIT 1 OFFSET 0";

        ResultSet dtst = Global.selectDataNoParams(strSql);
        while (dtst.next()) {
            return dtst.getDouble(1);
        }
        return 0.00;
    } catch (SQLException ex) {
        return 0.00;
    } catch (ParseException ex) {
        return 0.00;
    }
}

From source file:rems.Global.java

public static double getTrnsSum(int accntid, String strDte, String endDte, String ispsted) {
    try {/* w w  w .j  a  va 2 s .  c o  m*/
        SimpleDateFormat frmtr = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
        SimpleDateFormat frmtr1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        strDte = frmtr1.format(frmtr.parse(strDte));
        endDte = frmtr1.format(frmtr.parse(endDte));

        String strSql = "";
        strSql = "SELECT SUM(a.net_amount) " + "FROM accb.accb_trnsctn_details a " + "WHERE(a.trns_status='"
                + ispsted + "' and a.accnt_id = " + accntid
                + " and (to_timestamp(a.trnsctn_date,'YYYY-MM-DD HH24:MI:SS') " + "between to_timestamp('"
                + strDte + "','YYYY-MM-DD HH24:MI:SS')" + " AND to_timestamp('" + endDte
                + "','YYYY-MM-DD HH24:MI:SS')))";
        ResultSet dtst = Global.selectDataNoParams(strSql);
        while (dtst.next()) {
            return dtst.getDouble(1);
        }
        return 0;
    } catch (ParseException ex) {
        return 0;
    } catch (SQLException ex) {
        return 0;
    }
}

From source file:rems.Global.java

public static double get_LtstExchRate(int fromCurrID, int toCurrID, String asAtDte) {
    try {/*  ww  w .  jav a  2s. co  m*/
        int fnccurid = Global.getOrgFuncCurID(Global.UsrsOrg_ID);
        //this.curCode = Global.getPssblValNm(this.curid);
        if (fromCurrID == toCurrID) {
            return 1;
        }
        String strSql = "SELECT CASE WHEN a.currency_from_id=" + fromCurrID
                + " THEN a.multiply_from_by ELSE (1/a.multiply_from_by) END "
                + "FROM accb.accb_exchange_rates a WHERE((a.currency_from_id =" + fromCurrID
                + " and a.currency_to_id=" + toCurrID + ") or (a.currency_to_id=" + fromCurrID
                + " and a.currency_from_id=" + toCurrID
                + ")) and to_timestamp(a.conversion_date,'YYYY-MM-DD') <= to_timestamp('" + asAtDte
                + "','DD-Mon-YYYY HH24:MI:SS') ORDER BY to_timestamp(a.conversion_date,'YYYY-MM-DD') DESC LIMIT 1 OFFSET 0";
        ResultSet dtst = Global.selectDataNoParams(strSql);
        while (dtst.next()) {
            return dtst.getDouble(1);
        }

        if (fromCurrID != fnccurid && toCurrID != fnccurid) {
            double a = Global.get_LtstExchRate(fromCurrID, fnccurid, asAtDte);
            double b = Global.get_LtstExchRate(toCurrID, fnccurid, asAtDte);
            if (a != 0 && b != 0) {
                return a / b;
            } else {
                return 1;
            }
        } else {
            return 1;
        }
    } catch (SQLException ex) {
        return 1;
    }
}

From source file:rems.Global.java

public static String getAcntsBdgtdAmnt(long bdgtID, int accntID, String strtdate, String enddate) {
    try {/*from  w  w w.  java2  s.co m*/
        SimpleDateFormat frmtr = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
        SimpleDateFormat frmtr1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        strtdate = frmtr1.format(frmtr.parse(strtdate));
        enddate = frmtr1.format(frmtr.parse(enddate));

        String strSql = "SELECT a.limit_amount " + "FROM accb.accb_budget_details a " + "WHERE((a.budget_id = "
                + bdgtID + ") and (a.accnt_id = " + accntID + ") and (a.start_date = '" + strtdate + "')"
                + " and (a.end_date = '" + enddate + "'))";
        ResultSet dtst = Global.selectDataNoParams(strSql);
        while (dtst.next()) {
            return String.valueOf(dtst.getDouble(1));
        }
        return "0.00";
    } catch (ParseException ex) {
        return "0.00";
    } catch (SQLException ex) {
        return "0.00";
    }
}

From source file:rems.Global.java

public static double get_Batch_CrdtSum(long batchID) {
    double sumRes = 0.00;
    try {//www .  jav a  2s  .co  m
        String strSql = "SELECT SUM(a.crdt_amount)" + "FROM accb.accb_trnsctn_details a "
                + "WHERE(a.batch_id = " + batchID + ")";
        ResultSet dtst = Global.selectDataNoParams(strSql);
        while (dtst.next()) {
            sumRes = (double) Math.round(dtst.getDouble(1) * 100) / 100;
        }
        return sumRes;
    } catch (SQLException ex) {
        return sumRes;
    }
}

From source file:rems.Global.java

public static double get_Batch_DbtSum(long batchID) {
    double sumRes = 0.00;
    try {//from  ww w .  j  a v  a  2  s  .  co  m
        String strSql = "SELECT SUM(a.dbt_amount)" + "FROM accb.accb_trnsctn_details a " + "WHERE(a.batch_id = "
                + batchID + ")";

        ResultSet dtst = Global.selectDataNoParams(strSql);
        while (dtst.next()) {
            sumRes = (double) Math.round(dtst.getDouble(1) * 100) / 100;
        }
        return sumRes;
    } catch (SQLException ex) {
        return sumRes;
    }
}

From source file:rems.Global.java

public static double get_Accnt_BalsTrnsSum(int accntID, String amntCol, String balsDte) {
    double sumRes = 0.00;
    try {//ww  w. j a  v  a 2s.  c  o m
        SimpleDateFormat frmtr = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
        SimpleDateFormat frmtr1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        balsDte = frmtr1.format(frmtr.parse(balsDte));

        String strSql = "SELECT SUM(a." + amntCol + ") "
                + "FROM accb.accb_trnsctn_details a, accb.accb_chart_of_accnts b "
                + "WHERE ((a.accnt_id=b.accnt_id) and (a.accnt_id = " + accntID + " or b.control_account_id="
                + accntID + ") and (to_timestamp(a.trnsctn_date, "
                + "'YYYY-MM-DD HH24:MI:SS') <= to_timestamp('" + balsDte + "', 'YYYY-MM-DD HH24:MI:SS')) and "
                + "(a.trns_status = '1'))";
        ResultSet dtst = Global.selectDataNoParams(strSql);
        while (dtst.next()) {
            sumRes = (double) Math.round(dtst.getDouble(1) * 100) / 100;
        }
        return sumRes;
    } catch (ParseException ex) {
        return sumRes;
    } catch (SQLException ex) {
        return sumRes;
    }
}

From source file:de.fau.amos.ChartRenderer.java

/**
 * //from w  w w  .  j a v  a  2s .c o m
 * Creates TimeSeriesCollection by querying energy data from database.
 * 
 * @param granularity Accuracy of distinguishment of displayed values (Summarise data to hours, days, months, years).
 * @param startTime Start of queried period.
 * @param endTime End of queried period.
 * @param sumOrAvg Shall values be added or averaged.
 * @param groupParameters Controlpoints that are affected.
 * @param unit Sets Unit (kWh or kWh/TNF)
 * @return TimeSeriesCollection that privedes the basis for creation of a png-chart
 */
private TimeSeriesCollection createTimeCollection(String granularity, String startTime, String endTime,
        String sumOrAvg, String groupParameters, String unit) {

    //time series containing all data
    TimeSeriesCollection collection = new TimeSeriesCollection();
    //split groupParameter string to get all queryed groups seperated
    groupParameters = groupParameters.replace("||", "splitHere");
    String[] groups = groupParameters.split("splitHere");

    //handle groups one after another
    for (int i = 0; i < groups.length; i++) {
        //get group name
        String groupName = groups[i].contains("'") ? groups[i].substring(0, groups[i].indexOf("'")) : groups[i];
        groups[i] = groups[i].contains("'") ? groups[i].substring(groupName.length()) : "";

        if (!groups[i].contains("|")) {
            continue;
        }
        //get used plants
        String plants = groups[i].substring(groups[i].indexOf("|") + 1);

        //prepare queryString
        groups[i] = groups[i].substring(0, groups[i].indexOf("|"));

        //generate series for group
        TimeSeries series = new TimeSeries(groupName);

        ResultSet rs = null;

        //skip group if nothing is selected to query
        if (groups[i].trim() != "") {
            if ("1".equals(unit)) {
                //query kWh
                rs = SQL.queryToResultSet("select * from (select round(" + sumOrAvg
                        + "(gruppenWert),4), gruppenZeit from(select " + sumOrAvg
                        + "(wert) as gruppenWert,control_point_name, zeit1 as gruppenZeit from (select "
                        + sumOrAvg + "(value)as wert,control_point_name,date_trunc('" + granularity
                        + "',measure_time)as zeit1 from measures inner join controlpoints on measures.controlpoint_id=controlpoints.controlpoints_id where measure_time >= '"
                        + startTime + "' AND measure_time < '" + endTime + "' AND controlpoints_id in("
                        + groups[i]
                        + ") group by measure_time,control_point_name)as data group by zeit1,control_point_name)as groupedByTime group by gruppenZeit)as result order by gruppenZeit"
                        + ";");
            } else if ("2".equals(unit)) {
                //query kWh/TNF (only as sum, not avg)

                rs = SQL.queryToResultSet(

                        "select * from (select round(sum(gruppenWert)/(select sum(am) from(select sum(amount)as am,date_trunc('"
                                + granularity
                                + "',measure_time)as zeit from productiondata inner join controlpoints on productiondata.controlpoint_id=controlpoints.controlpoints_id "
                                + "where productiondata.measure_time >= '" + startTime
                                + "' AND productiondata.measure_time < '" + endTime
                                + "' AND reference_point='t' AND plant_id in(" + plants
                                + ") group by measure_time)as wat where zeit=gruppenZeit group by zeit order by zeit),4), gruppenZeit from("
                                + "select sum(wert) as gruppenWert,control_point_name, zeit1 as gruppenZeit from (select sum(value)as wert,control_point_name,date_trunc('"
                                + granularity
                                + "',measure_time)as zeit1 from measures inner join controlpoints on measures.controlpoint_id=controlpoints.controlpoints_id where measure_time >= '"
                                + startTime + "' AND measure_time < '" + endTime + "' AND controlpoints_id in("
                                + groups[i]
                                + ")group by measure_time,control_point_name)as data group by zeit1,control_point_name)as groupedByTime group by gruppenZeit)as result order by gruppenZeit"
                                + ";");

            }
        }
        if (rs != null) {
            try {
                while (rs.next()) {
                    switch (granularity) {

                    case "minute":
                        series.add(new Minute(Integer.parseInt(rs.getString(2).substring(14, 16)),
                                Integer.parseInt(rs.getString(2).substring(11, 13)),
                                Integer.parseInt(rs.getString(2).substring(8, 10)),
                                Integer.parseInt(rs.getString(2).substring(5, 7)),
                                Integer.parseInt(rs.getString(2).substring(0, 4))), rs.getDouble(1));
                        break;
                    case "day":
                        series.add(new Day(Integer.parseInt(rs.getString(2).substring(8, 10)),
                                Integer.parseInt(rs.getString(2).substring(5, 7)),
                                Integer.parseInt(rs.getString(2).substring(0, 4))), rs.getDouble(1));
                        break;

                    case "month":
                        series.add(new Month(Integer.parseInt(rs.getString(2).substring(5, 7)),
                                Integer.parseInt(rs.getString(2).substring(0, 4))), rs.getDouble(1));
                        break;

                    case "year":
                        series.add(new Year(Integer.parseInt(rs.getString(2).substring(0, 4))),
                                rs.getDouble(1));
                        break;

                    //default: day
                    default:
                        series.add(new Day(Integer.parseInt(rs.getString(2).substring(8, 10)),
                                Integer.parseInt(rs.getString(2).substring(5, 7)),
                                Integer.parseInt(rs.getString(2).substring(0, 4))), rs.getDouble(1));

                    }
                }
                rs.close();

            } catch (NumberFormatException e) {

            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        //Add the series to the collection
        collection.addSeries(series);
    }
    return collection;
}

From source file:at.alladin.rmbt.mapServer.MarkerResource.java

@Post("json")
public String request(final String entity) {
    addAllowOrigin();/*from   w w w .jav  a 2 s .c  o m*/

    final MapServerOptions mso = MapServerOptions.getInstance();
    final Classification classification = Classification.getInstance();

    JSONObject request = null;

    final JSONObject answer = new JSONObject();

    if (entity != null && !entity.isEmpty())
        // try parse the string to a JSON object
        try {
            request = new JSONObject(entity);

            String lang = request.optString("language");

            // Load Language Files for Client

            final List<String> langs = Arrays
                    .asList(settings.getString("RMBT_SUPPORTED_LANGUAGES").split(",\\s*"));

            if (langs.contains(lang))
                labels = ResourceManager.getSysMsgBundle(new Locale(lang));
            else
                lang = settings.getString("RMBT_DEFAULT_LANGUAGE");

            //                System.out.println(request.toString(4));

            final JSONObject coords = request.getJSONObject("coords");

            final int zoom;
            double geo_x = 0;
            double geo_y = 0;
            int size = 0;

            boolean useXY = false;
            boolean useLatLon = false;

            if (coords.has("x") && coords.has("y"))
                useXY = true;
            else if (coords.has("lat") && coords.has("lon"))
                useLatLon = true;

            if (coords.has("z") && (useXY || useLatLon)) {
                zoom = coords.optInt("z");
                if (useXY) {
                    geo_x = coords.optDouble("x");
                    geo_y = coords.optDouble("y");
                } else if (useLatLon) {
                    final double tmpLat = coords.optDouble("lat");
                    final double tmpLon = coords.optDouble("lon");
                    geo_x = GeoCalc.lonToMeters(tmpLon);
                    geo_y = GeoCalc.latToMeters(tmpLat);
                    //                        System.out.println(String.format("using %f/%f", geo_x, geo_y));
                }

                if (coords.has("size"))
                    size = coords.getInt("size");

                if (zoom != 0 && geo_x != 0 && geo_y != 0) {
                    double radius = 0;
                    if (size > 0)
                        radius = size * GeoCalc.getResFromZoom(256, zoom); // TODO use real tile size
                    else
                        radius = CLICK_RADIUS * GeoCalc.getResFromZoom(256, zoom); // TODO use real tile size
                    final double geo_x_min = geo_x - radius;
                    final double geo_x_max = geo_x + radius;
                    final double geo_y_min = geo_y - radius;
                    final double geo_y_max = geo_y + radius;

                    String hightlightUUIDString = null;
                    UUID highlightUUID = null;

                    final JSONObject mapOptionsObj = request.getJSONObject("options");
                    String optionStr = mapOptionsObj.optString("map_options");
                    if (optionStr == null || optionStr.length() == 0) // set
                                                                      // default
                        optionStr = "mobile/download";

                    final MapOption mo = mso.getMapOptionMap().get(optionStr);

                    final List<SQLFilter> filters = new ArrayList<>(mso.getDefaultMapFilters());
                    filters.add(mso.getAccuracyMapFilter());

                    final JSONObject mapFilterObj = request.getJSONObject("filter");

                    final Iterator<?> keys = mapFilterObj.keys();

                    while (keys.hasNext()) {
                        final String key = (String) keys.next();
                        if (mapFilterObj.get(key) instanceof Object)
                            if (key.equals("highlight"))
                                hightlightUUIDString = mapFilterObj.getString(key);
                            else {
                                final MapFilter mapFilter = mso.getMapFilterMap().get(key);
                                if (mapFilter != null)
                                    filters.add(mapFilter.getFilter(mapFilterObj.getString(key)));
                            }
                    }

                    if (hightlightUUIDString != null)
                        try {
                            highlightUUID = UUID.fromString(hightlightUUIDString);
                        } catch (final Exception e) {
                            highlightUUID = null;
                        }

                    if (conn != null) {
                        PreparedStatement ps = null;
                        ResultSet rs = null;

                        final StringBuilder whereSQL = new StringBuilder(mo.sqlFilter);
                        for (final SQLFilter sf : filters)
                            whereSQL.append(" AND ").append(sf.where);

                        final String sql = String.format("SELECT"
                                + (useLatLon ? " geo_lat lat, geo_long lon"
                                        : " ST_X(t.location) x, ST_Y(t.location) y")
                                + ", t.time, t.timezone, t.speed_download, t.speed_upload, t.ping_median, t.network_type,"
                                + " t.signal_strength, t.lte_rsrp, t.wifi_ssid, t.network_operator_name, t.network_operator,"
                                + " t.network_sim_operator, t.roaming_type, t.public_ip_as_name, " //TODO: sim_operator obsoled by sim_name
                                + " pMob.shortname mobile_provider_name," // TODO: obsoleted by mobile_network_name
                                + " prov.shortname provider_text, t.open_test_uuid,"
                                + " COALESCE(mnwk.shortname,mnwk.name) mobile_network_name,"
                                + " COALESCE(msim.shortname,msim.name) mobile_sim_name"
                                + (highlightUUID == null ? "" : " , c.uid, c.uuid") + " FROM v_test t"
                                + " LEFT JOIN mccmnc2name mnwk ON t.mobile_network_id=mnwk.uid"
                                + " LEFT JOIN mccmnc2name msim ON t.mobile_sim_id=msim.uid"
                                + " LEFT JOIN provider prov" + " ON t.provider_id=prov.uid"
                                + " LEFT JOIN provider pMob" + " ON t.mobile_provider_id=pMob.uid"
                                + (highlightUUID == null ? ""
                                        : " LEFT JOIN client c ON (t.client_id=c.uid AND c.uuid=?)")
                                + " WHERE" + " %s"
                                + " AND location && ST_SetSRID(ST_MakeBox2D(ST_Point(?,?), ST_Point(?,?)), 900913)"
                                + " ORDER BY" + (highlightUUID == null ? "" : " c.uid ASC,") + " t.uid DESC"
                                + " LIMIT 5", whereSQL);

                        //                            System.out.println("SQL: " + sql);
                        ps = conn.prepareStatement(sql);

                        int i = 1;

                        if (highlightUUID != null)
                            ps.setObject(i++, highlightUUID);

                        for (final SQLFilter sf : filters)
                            i = sf.fillParams(i, ps);
                        ps.setDouble(i++, geo_x_min);
                        ps.setDouble(i++, geo_y_min);
                        ps.setDouble(i++, geo_x_max);
                        ps.setDouble(i++, geo_y_max);

                        //                            System.out.println("SQL: " + ps.toString());
                        if (ps.execute()) {

                            final Locale locale = new Locale(lang);
                            final Format format = new SignificantFormat(2, locale);

                            final JSONArray resultList = new JSONArray();

                            rs = ps.getResultSet();

                            while (rs.next()) {
                                final JSONObject jsonItem = new JSONObject();

                                JSONArray jsonItemList = new JSONArray();

                                // RMBTClient Info
                                if (highlightUUID != null && rs.getString("uuid") != null)
                                    jsonItem.put("highlight", true);

                                final double res_x = rs.getDouble(1);
                                final double res_y = rs.getDouble(2);
                                final String openTestUUID = rs.getObject("open_test_uuid").toString();

                                jsonItem.put("lat", res_x);
                                jsonItem.put("lon", res_y);
                                jsonItem.put("open_test_uuid", "O" + openTestUUID);
                                // marker.put("uid", uid);

                                final Date date = rs.getTimestamp("time");
                                final String tzString = rs.getString("timezone");
                                final TimeZone tz = TimeZone.getTimeZone(tzString);
                                final DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
                                        DateFormat.MEDIUM, locale);
                                dateFormat.setTimeZone(tz);
                                jsonItem.put("time_string", dateFormat.format(date));

                                final int fieldDown = rs.getInt("speed_download");
                                JSONObject singleItem = new JSONObject();
                                singleItem.put("title", labels.getString("RESULT_DOWNLOAD"));
                                final String downloadString = String.format("%s %s",
                                        format.format(fieldDown / 1000d),
                                        labels.getString("RESULT_DOWNLOAD_UNIT"));
                                singleItem.put("value", downloadString);
                                singleItem.put("classification",
                                        Classification.classify(classification.THRESHOLD_DOWNLOAD, fieldDown));
                                // singleItem.put("help", "www.rtr.at");

                                jsonItemList.put(singleItem);

                                final int fieldUp = rs.getInt("speed_upload");
                                singleItem = new JSONObject();
                                singleItem.put("title", labels.getString("RESULT_UPLOAD"));
                                final String uploadString = String.format("%s %s",
                                        format.format(fieldUp / 1000d), labels.getString("RESULT_UPLOAD_UNIT"));
                                singleItem.put("value", uploadString);
                                singleItem.put("classification",
                                        Classification.classify(classification.THRESHOLD_UPLOAD, fieldUp));
                                // singleItem.put("help", "www.rtr.at");

                                jsonItemList.put(singleItem);

                                final long fieldPing = rs.getLong("ping_median");
                                final int pingValue = (int) Math.round(rs.getDouble("ping_median") / 1000000d);
                                singleItem = new JSONObject();
                                singleItem.put("title", labels.getString("RESULT_PING"));
                                final String pingString = String.format("%s %s", format.format(pingValue),
                                        labels.getString("RESULT_PING_UNIT"));
                                singleItem.put("value", pingString);
                                singleItem.put("classification",
                                        Classification.classify(classification.THRESHOLD_PING, fieldPing));
                                // singleItem.put("help", "www.rtr.at");

                                jsonItemList.put(singleItem);

                                final int networkType = rs.getInt("network_type");

                                final String signalField = rs.getString("signal_strength");
                                if (signalField != null && signalField.length() != 0) {
                                    final int signalValue = rs.getInt("signal_strength");
                                    final int[] threshold = networkType == 99 || networkType == 0
                                            ? classification.THRESHOLD_SIGNAL_WIFI
                                            : classification.THRESHOLD_SIGNAL_MOBILE;
                                    singleItem = new JSONObject();
                                    singleItem.put("title", labels.getString("RESULT_SIGNAL"));
                                    singleItem.put("value",
                                            signalValue + " " + labels.getString("RESULT_SIGNAL_UNIT"));
                                    singleItem.put("classification",
                                            Classification.classify(threshold, signalValue));
                                    jsonItemList.put(singleItem);
                                }

                                final String lteRsrpField = rs.getString("lte_rsrp");
                                if (lteRsrpField != null && lteRsrpField.length() != 0) {
                                    final int lteRsrpValue = rs.getInt("lte_rsrp");
                                    final int[] threshold = classification.THRESHOLD_SIGNAL_RSRP;
                                    singleItem = new JSONObject();
                                    singleItem.put("title", labels.getString("RESULT_LTE_RSRP"));
                                    singleItem.put("value",
                                            lteRsrpValue + " " + labels.getString("RESULT_LTE_RSRP_UNIT"));
                                    singleItem.put("classification",
                                            Classification.classify(threshold, lteRsrpValue));
                                    jsonItemList.put(singleItem);
                                }

                                jsonItem.put("measurement", jsonItemList);

                                jsonItemList = new JSONArray();

                                singleItem = new JSONObject();
                                singleItem.put("title", labels.getString("RESULT_NETWORK_TYPE"));
                                singleItem.put("value", Helperfunctions.getNetworkTypeName(networkType));

                                jsonItemList.put(singleItem);

                                if (networkType == 98 || networkType == 99) // mobile wifi or browser
                                {
                                    String providerText = MoreObjects.firstNonNull(
                                            rs.getString("provider_text"), rs.getString("public_ip_as_name"));
                                    if (!Strings.isNullOrEmpty(providerText)) {
                                        if (providerText.length() > (MAX_PROVIDER_LENGTH + 3)) {
                                            providerText = providerText.substring(0, MAX_PROVIDER_LENGTH)
                                                    + "...";
                                        }

                                        singleItem = new JSONObject();
                                        singleItem.put("title", labels.getString("RESULT_PROVIDER"));
                                        singleItem.put("value", providerText);
                                        jsonItemList.put(singleItem);
                                    }
                                    if (networkType == 99) // mobile wifi
                                    {
                                        if (highlightUUID != null && rs.getString("uuid") != null) // own test
                                        {
                                            final String ssid = rs.getString("wifi_ssid");
                                            if (ssid != null && ssid.length() != 0) {
                                                singleItem = new JSONObject();
                                                singleItem.put("title", labels.getString("RESULT_WIFI_SSID"));
                                                singleItem.put("value", ssid.toString());
                                                jsonItemList.put(singleItem);
                                            }
                                        }
                                    }
                                } else // mobile
                                {
                                    String networkOperator = rs.getString("network_operator");
                                    String mobileNetworkName = rs.getString("mobile_network_name");
                                    String simOperator = rs.getString("network_sim_operator");
                                    String mobileSimName = rs.getString("mobile_sim_name");
                                    final int roamingType = rs.getInt("roaming_type");
                                    //network
                                    if (!Strings.isNullOrEmpty(networkOperator)) {
                                        final String mobileNetworkString;
                                        if (roamingType != 2) { //not international roaming - display name of home network
                                            if (Strings.isNullOrEmpty(mobileSimName))
                                                mobileNetworkString = networkOperator;
                                            else
                                                mobileNetworkString = String.format("%s (%s)", mobileSimName,
                                                        networkOperator);
                                        } else { //international roaming - display name of network
                                            if (Strings.isNullOrEmpty(mobileSimName))
                                                mobileNetworkString = networkOperator;
                                            else
                                                mobileNetworkString = String.format("%s (%s)",
                                                        mobileNetworkName, networkOperator);
                                        }

                                        singleItem = new JSONObject();
                                        singleItem.put("title", labels.getString("RESULT_MOBILE_NETWORK"));
                                        singleItem.put("value", mobileNetworkString);
                                        jsonItemList.put(singleItem);
                                    }
                                    //home network (sim)
                                    else if (!Strings.isNullOrEmpty(simOperator)) {
                                        final String mobileNetworkString;

                                        if (Strings.isNullOrEmpty(mobileSimName))
                                            mobileNetworkString = simOperator;
                                        else
                                            mobileNetworkString = String.format("%s (%s)", mobileSimName,
                                                    simOperator);

                                        /*
                                        if (!Strings.isNullOrEmpty(mobileProviderName)) {
                                           mobileNetworkString = mobileProviderName;
                                        } else {
                                           mobileNetworkString = simOperator;
                                        }
                                        */

                                        singleItem = new JSONObject();
                                        singleItem.put("title", labels.getString("RESULT_HOME_NETWORK"));
                                        singleItem.put("value", mobileNetworkString);
                                        jsonItemList.put(singleItem);
                                    }

                                    if (roamingType > 0) {
                                        singleItem = new JSONObject();
                                        singleItem.put("title", labels.getString("RESULT_ROAMING"));
                                        singleItem.put("value",
                                                Helperfunctions.getRoamingType(labels, roamingType));
                                        jsonItemList.put(singleItem);
                                    }
                                }

                                jsonItem.put("net", jsonItemList);

                                resultList.put(jsonItem);

                                if (resultList.length() == 0)
                                    System.out.println("Error getting Results.");
                                // errorList.addError(MessageFormat.format(labels.getString("ERROR_DB_GET_CLIENT"),
                                // new Object[] {uuid}));

                            }

                            answer.put("measurements", resultList);
                        } else
                            System.out.println("Error executing SQL.");
                    } else
                        System.out.println("No Database Connection.");
                }
            } else
                System.out.println("Expected request is missing.");

        } catch (final JSONException e) {
            System.out.println("Error parsing JSDON Data " + e.toString());
        } catch (final SQLException e) {
            e.printStackTrace();
        }
    else
        System.out.println("No Request.");

    return answer.toString();

}