Example usage for org.springframework.jdbc.support.rowset SqlRowSet getLong

List of usage examples for org.springframework.jdbc.support.rowset SqlRowSet getLong

Introduction

In this page you can find the example usage for org.springframework.jdbc.support.rowset SqlRowSet getLong.

Prototype

long getLong(String columnLabel) throws InvalidResultSetAccessException;

Source Link

Document

Retrieve the value of the indicated column in the current row as a long.

Usage

From source file:dk.nsi.sdm4.dosering.parser.DoseringParserIntegrationTest.java

@Test
public void Should_import_dosage_units_correctly() throws Exception {
    runImporter();/*from w  w  w. j a v a  2s . c  o m*/

    SqlRowSet rs = jdbcTemplate.queryForRowSet("select * from DosageUnit");
    rs.next();

    assertThat(rs.getLong("releaseNumber"), equalTo(125L));
    assertThat(rs.getInt("code"), equalTo(8));
    assertThat(rs.getString("textSingular"), equalTo("brusetablet"));
    assertThat(rs.getString("textPlural"), equalTo("brusetabletter"));

    // expect only one row
    assertFalse(rs.next());

}

From source file:dk.nsi.sdm4.dosering.parser.DoseringParserIntegrationTest.java

@Test
public void importTheVersionFileCorrectly() throws Exception {
    runImporter();/* ww w  . j a  v a 2 s .  c  o  m*/

    SqlRowSet rs = jdbcTemplate.queryForRowSet("select * from DosageVersion");
    rs.next();

    assertThat(rs.getLong("releaseNumber"), equalTo(125L));
    assertThat(rs.getDate("releaseDate"), equalTo(date("2011-02-15")));
    assertThat(rs.getDate("lmsDate"), equalTo(date("2011-02-02")));
    assertThat(rs.getDate("daDate"), equalTo(date("2011-01-24")));

    // expect only one row
    assertFalse(rs.next());
}

From source file:dk.nsi.sdm4.dosering.parser.DoseringParserIntegrationTest.java

@Test
public void importTheStructuresCorrectly() throws Exception {
    runImporter();//from w  w w .  jav a2 s  . c  om

    SqlRowSet rs = jdbcTemplate.queryForRowSet("select * from DosageStructure");
    rs.next();

    assertThat(rs.getLong("releaseNumber"), equalTo(125L));
    assertThat(rs.getString("code"), equalTo("3"));
    assertThat(rs.getString("type"), equalTo("M+M+A+N"));
    assertThat(rs.getString("simpleString"), equalTo("0.5"));
    assertThat(rs.getString("shortTranslation"), equalTo("1/2 tablet morgen"));
    assertThat(rs.getString("xml"), equalTo(
            "<b:DosageStructure\n   xsi:schemaLocation=\"http://www.dkma.dk/medicinecard/xml.schema/2009/01/01 DKMA_DosageStructure.xsd\"\n   xmlns:a=\"http://www.dkma.dk/medicinecard/xml.schema/2008/06/01\"\n   xmlns:b=\"http://www.dkma.dk/medicinecard/xml.schema/2009/01/01\"\n   xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n   <b:DosageTimesStructure>\n      <a:DosageTimesIterationIntervalQuantity>1</a:DosageTimesIterationIntervalQuantity>\n      <a:DosageTimesStartDate>2000-01-01</a:DosageTimesStartDate>\n      <b:DosageQuantityUnitText>tablet</b:DosageQuantityUnitText>\n      <b:DosageDayElementStructure>\n         <a:DosageDayIdentifier>1</a:DosageDayIdentifier>\n         <b:MorningDosageTimeElementStructure>\n            <a:DosageQuantityValue>0.5</a:DosageQuantityValue>\n         </b:MorningDosageTimeElementStructure>\n      </b:DosageDayElementStructure>\n   </b:DosageTimesStructure>\n</b:DosageStructure>"));
    assertThat(rs.getString("longTranslation"), equalTo("Daglig 1/2 tablet morgen"));
    assertThat(rs.getString("supplementaryText"), nullValue());

    // expect only one row
    assertFalse(rs.next());
}

From source file:com.emc.ecs.sync.service.SqliteDbServiceTest.java

@Test
public void testRowInsert() throws Exception {
    // test with various parameters and verify result
    Date now = new Date();
    byte[] data = "Hello World!".getBytes("UTF-8");

    String id = "1";
    dbService.setStatus(new TestSyncObject(null, id, id, new byte[] {}, null), ObjectStatus.InTransfer, null,
            true);//from ww w .j  av  a  2 s.  co  m
    SqlRowSet rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertNull(rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(0, rowSet.getInt("size"));
    Assert.assertEquals(0, rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.InTransfer.getValue(), rowSet.getString("status"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(0, rowSet.getInt("retry_count"));
    Assert.assertNull(rowSet.getString("error_message"));

    // double check that dates are represented accurately
    // the transfer_start date should be less than a second later than the start of this method
    Assert.assertTrue(rowSet.getLong("transfer_start") - now.getTime() < 1000);

    try {
        dbService.setStatus(new TestSyncObject(null, "2", "2", new byte[] {}, null), null, null, true);
        Assert.fail("status should be required");
    } catch (NullPointerException e) {
        // expected
    }

    id = "3";
    TestSyncObject object = new TestSyncObject(null, id, id, null, new ArrayList<TestSyncObject>());
    object.getMetadata().setModificationTime(now);
    object.incFailureCount();
    dbService.setStatus(object, ObjectStatus.Verified, "foo", true);
    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertNull(rowSet.getString("target_id"));
    Assert.assertTrue(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(0, rowSet.getInt("size"));
    Assert.assertEquals(now.getTime(), rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.Verified.getValue(), rowSet.getString("status"));
    Assert.assertEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertEquals(0, rowSet.getLong("verify_start"));
    Assert.assertNotEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(1, rowSet.getInt("retry_count"));
    Assert.assertEquals("foo", rowSet.getString("error_message"));

    id = "4";
    object = new TestSyncObject(null, id, id, data, null);
    dbService.setStatus(object, ObjectStatus.Transferred, null, true);
    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertNull(rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(0, rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.Transferred.getValue(), rowSet.getString("status"));
    Assert.assertEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(0, rowSet.getInt("retry_count"));
    Assert.assertNull(rowSet.getString("error_message"));

    id = "5";
    object = new TestSyncObject(null, id, id, data, null);
    dbService.setStatus(object, ObjectStatus.InVerification, null, true);
    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertNull(rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(0, rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.InVerification.getValue(), rowSet.getString("status"));
    Assert.assertEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertNotEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(0, rowSet.getInt("retry_count"));
    Assert.assertNull(rowSet.getString("error_message"));

    id = "6";
    object = new TestSyncObject(null, id, id, data, null);
    dbService.setStatus(object, ObjectStatus.RetryQueue, "blah", true);
    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertNull(rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(0, rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.RetryQueue.getValue(), rowSet.getString("status"));
    Assert.assertEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(0, rowSet.getInt("retry_count"));
    Assert.assertEquals("blah", rowSet.getString("error_message"));

    id = "7";
    object = new TestSyncObject(null, id, id, data, null);
    dbService.setStatus(object, ObjectStatus.Error, "blah", true);
    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertNull(rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(0, rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.Error.getValue(), rowSet.getString("status"));
    Assert.assertEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(0, rowSet.getInt("retry_count"));
    Assert.assertEquals("blah", rowSet.getString("error_message"));
}

From source file:com.emc.ecs.sync.service.SqliteDbServiceTest.java

@Test
public void testRowUpdate() throws Exception {
    byte[] data = "Hello World!".getBytes("UTF-8");
    String id = "1";
    Date now = new Date();
    TestSyncObject object = new TestSyncObject(null, id, id, data, null);
    object.setTargetIdentifier(id);//  w ww . j a  va2s.  co m
    object.getMetadata().setModificationTime(now);

    dbService.setStatus(object, ObjectStatus.InTransfer, null, true);

    SqlRowSet rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertEquals(id, rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(now.getTime(), rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.InTransfer.getValue(), rowSet.getString("status"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(0, rowSet.getInt("retry_count"));
    Assert.assertNull(rowSet.getString("error_message"));

    String error = "ouch";
    dbService.setStatus(object, ObjectStatus.RetryQueue, error, false);
    object.incFailureCount();

    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertEquals(id, rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(now.getTime(), rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.RetryQueue.getValue(), rowSet.getString("status"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(0, rowSet.getInt("retry_count"));
    Assert.assertEquals(error, rowSet.getString("error_message"));

    dbService.setStatus(object, ObjectStatus.InTransfer, null, false);

    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertEquals(id, rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(now.getTime(), rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.InTransfer.getValue(), rowSet.getString("status"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(1, rowSet.getInt("retry_count"));
    Assert.assertEquals(error, rowSet.getString("error_message"));

    dbService.setStatus(object, ObjectStatus.Transferred, null, false);

    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertEquals(id, rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(now.getTime(), rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.Transferred.getValue(), rowSet.getString("status"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(1, rowSet.getInt("retry_count"));
    Assert.assertEquals(error, rowSet.getString("error_message"));

    dbService.setStatus(object, ObjectStatus.InVerification, null, false);

    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertEquals(id, rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(now.getTime(), rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.InVerification.getValue(), rowSet.getString("status"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertNotEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(1, rowSet.getInt("retry_count"));
    Assert.assertEquals(error, rowSet.getString("error_message"));

    dbService.setStatus(object, ObjectStatus.Verified, null, false);

    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertEquals(id, rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(now.getTime(), rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.Verified.getValue(), rowSet.getString("status"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertNotEquals(0, rowSet.getLong("verify_start"));
    Assert.assertNotEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(1, rowSet.getInt("retry_count"));
    Assert.assertEquals(error, rowSet.getString("error_message"));

    dbService.setStatus(object, ObjectStatus.Error, error, false);

    rowSet = getRowSet(id);
    Assert.assertEquals(id, rowSet.getString("source_id"));
    Assert.assertEquals(id, rowSet.getString("target_id"));
    Assert.assertFalse(rowSet.getBoolean("is_directory"));
    Assert.assertEquals(data.length, rowSet.getInt("size"));
    Assert.assertEquals(now.getTime(), rowSet.getLong("mtime"));
    Assert.assertEquals(ObjectStatus.Error.getValue(), rowSet.getString("status"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_start"));
    Assert.assertNotEquals(0, rowSet.getLong("transfer_complete"));
    Assert.assertNotEquals(0, rowSet.getLong("verify_start"));
    Assert.assertEquals(0, rowSet.getLong("verify_complete"));
    Assert.assertEquals(1, rowSet.getInt("retry_count"));
    Assert.assertEquals(error, rowSet.getString("error_message"));
}

From source file:com.emc.ecs.sync.EndToEndTest.java

protected void verifyDb(TestObjectSource testSource, boolean truncateDb) {
    SingleConnectionDataSource ds = new SingleConnectionDataSource();
    ds.setUrl(SqliteDbService.JDBC_URL_BASE + dbFile.getPath());
    ds.setSuppressClose(true);/*from   www .j a v a 2s  .c  o  m*/
    JdbcTemplate jdbcTemplate = new JdbcTemplate(ds);

    long totalCount = verifyDbObjects(jdbcTemplate, testSource.getObjects());
    try {
        SqlRowSet rowSet = jdbcTemplate.queryForRowSet("SELECT count(source_id) FROM "
                + DbService.DEFAULT_OBJECTS_TABLE_NAME + " WHERE target_id != ''");
        Assert.assertTrue(rowSet.next());
        Assert.assertEquals(totalCount, rowSet.getLong(1));
        if (truncateDb)
            jdbcTemplate.update("DELETE FROM " + DbService.DEFAULT_OBJECTS_TABLE_NAME);
    } finally {
        try {
            ds.destroy();
        } catch (Throwable t) {
            log.warn("could not close datasource", t);
        }
    }
}

From source file:com.emc.ecs.sync.EndToEndTest.java

protected long verifyDbObjects(JdbcTemplate jdbcTemplate, List<TestSyncObject> objects) {
    Date now = new Date();
    long count = 0;
    for (TestSyncObject object : objects) {
        count++;//from www.j  a va2s .co  m
        SqlRowSet rowSet = jdbcTemplate.queryForRowSet(
                "SELECT * FROM " + DbService.DEFAULT_OBJECTS_TABLE_NAME + " WHERE target_id=?",
                object.getSourceIdentifier());
        Assert.assertTrue(rowSet.next());
        Assert.assertEquals(object.getSourceIdentifier(), rowSet.getString("target_id"));
        Assert.assertEquals(object.isDirectory(), rowSet.getBoolean("is_directory"));
        Assert.assertEquals(object.getMetadata().getContentLength(), rowSet.getLong("size"));
        // mtime in the DB is actually pulled from the target system, so we don't know what precision it will be in
        // or if the target system's clock is in sync, but let's assume it will always be within 5 minutes
        Assert.assertTrue(
                Math.abs(object.getMetadata().getModificationTime().getTime() - rowSet.getLong("mtime")) < 5
                        * 60 * 1000);
        Assert.assertEquals(ObjectStatus.Verified.getValue(), rowSet.getString("status"));
        Assert.assertTrue(now.getTime() - rowSet.getLong("transfer_start") < 10 * 60 * 1000); // less than 10 minutes ago
        Assert.assertTrue(now.getTime() - rowSet.getLong("transfer_complete") < 10 * 60 * 1000); // less than 10 minutes ago
        Assert.assertTrue(now.getTime() - rowSet.getLong("verify_start") < 10 * 60 * 1000); // less than 10 minutes ago
        Assert.assertTrue(now.getTime() - rowSet.getLong("verify_complete") < 10 * 60 * 1000); // less than 10 minutes ago
        Assert.assertEquals(object.getFailureCount(), rowSet.getInt("retry_count"));
        if (object.getFailureCount() > 0) {
            String error = rowSet.getString("error_message");
            Assert.assertNotNull(error);
            log.warn("{} was retried {} time{}; error: {}", object.getRelativePath(), object.getFailureCount(),
                    object.getFailureCount() > 1 ? "s" : "", error);
        }
        if (object.isDirectory())
            count += verifyDbObjects(jdbcTemplate, object.getChildren());
    }
    return count;
}

From source file:com.gst.infrastructure.dataqueries.service.ReadWriteNonCoreDataServiceImpl.java

private Long getLongSqlRowSet(final SqlRowSet rs, final String column) {
    Long val = rs.getLong(column);
    if (val == 0) {
        val = null;
    }/* w w w . java  2s.com*/
    return val;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String upgradeStorage(HttpServletRequest req) {
    String val = "", sqls[], user;
    long level;//from w  ww. jav a 2s .c  o  m
    double money, price;
    SqlRowSet srs = db.getJdbc()
            .queryForRowSet("select [user],level from storage where id='" + req.getParameter("storage") + "'");
    ArrayList<String> sqlL = new ArrayList<String>();

    if (srs.next()) {
        user = srs.getString("user");
        level = srs.getLong("level");
    } else
        return "0";

    srs = db.getJdbc().queryForRowSet("select money from businessgame.dbo.[user] where name='" + user + "'");
    if (srs.next())
        money = srs.getDouble("money");
    else
        return "0";

    srs = db.getJdbc().queryForRowSet("select [value] from info_values where name='cost_storage_upgrade'");

    if (srs.next())
        price = Double.parseDouble(srs.getString("value"));
    else
        return "0";

    if (money < price)
        return "1";

    money -= price;

    sqlL.add("update businessgame.dbo.[user] set money=" + money + " where name='" + user + "'");
    sqlL.add("update storage set level=" + (level + 1) + " where id='" + req.getParameter("storage") + "'");

    sqls = new String[sqlL.size()];
    sqlL.toArray(sqls);
    db.getJdbc().batchUpdate(sqls);

    ArrayList<String> data = new ArrayList<String>();
    data.add(gson.toJson(money));
    data.add(checkUserStorage(req));

    val = gson.toJson(data);

    data = null;
    sqlL = null;
    sqls = null;
    srs = null;

    gc();

    return val;
}

From source file:com.ardhi.businessgame.services.BusinessGameService.java

public String loadPlayerInfo(HttpServletRequest req) {
    String val = "", email, dob, about;
    long rep;//from w  w w .  ja  v  a  2 s . c om
    SqlRowSet srs1 = db.getJdbc()
            .queryForRowSet("select email,dob,about,rep from businessgame.dbo.[user] where name='"
                    + req.getParameter("player") + "'"),
            srs2, srs3;
    if (srs1.next()) {
        email = srs1.getString("email");
        dob = srs1.getString("dob");
        about = srs1.getString("about");
        rep = srs1.getLong("rep");
    } else
        return "0";

    srs1 = db.getJdbc()
            .queryForRowSet("select type from installment where [user]='" + req.getParameter("player") + "'");
    ArrayList<String> installments = new ArrayList<String>(), outputs = new ArrayList<String>();
    ArrayList<ArrayList<Double>> prices = new ArrayList<ArrayList<Double>>();
    ArrayList<Double> tmpPrices;
    while (srs1.next()) {
        if (!installments.contains(srs1.getString("type")))
            installments.add(srs1.getString("type"));
        srs2 = db.getJdbc().queryForRowSet("select output_type from info_sector_output where sector='"
                + srs1.getString("type") + "' and output_type!='Energy'");
        while (srs2.next()) {
            if (!outputs.contains(srs2.getString("output_type"))) {
                tmpPrices = new ArrayList<Double>();
                outputs.add(srs2.getString("output_type"));
                srs3 = db.getJdbc().queryForRowSet("select price from desc_product where product='"
                        + srs2.getString("output_type") + "' order by quality asc");
                //               System.out.println("select price from desc_product where product='"+srs2.getString("output_type")+"' order by quality asc");
                while (srs3.next()) {
                    //                  System.out.println(srs3.getDouble("price"));
                    tmpPrices.add(srs3.getDouble("price"));
                }
                prices.add(tmpPrices);
                tmpPrices = null;
            }
        }
    }

    srs1 = db.getJdbc().queryForRowSet("select quality from info_quality order by quality asc");
    ArrayList<Integer> qualities = new ArrayList<Integer>();
    while (srs1.next()) {
        qualities.add(srs1.getInt("quality"));
    }

    for (int i = 0; i < outputs.size(); i++) {
        for (int j = 0; j < qualities.size(); j++) {
            //            System.out.println(outputs.get(i)+" - "+qualities.get(j)+" at "+prices.get(i).get(j));
        }
    }

    ArrayList<String> data = new ArrayList<String>();
    data.add(email);
    data.add(dob);
    data.add(about);
    data.add(gson.toJson(rep));
    data.add(gson.toJson(installments));
    data.add(gson.toJson(outputs));
    data.add(gson.toJson(qualities));
    data.add(gson.toJson(prices));

    val = gson.toJson(data);

    srs1 = null;
    data = null;
    email = null;
    about = null;
    installments = null;
    outputs = null;
    qualities = null;
    prices = null;
    tmpPrices = null;

    gc();

    return val;
}