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

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

Introduction

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

Prototype

String getString(String columnLabel) throws InvalidResultSetAccessException;

Source Link

Document

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

Usage

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

public String loadInstallmentOwnedByEquipment(HttpServletRequest req) {
    String val = "0", hiElement = "", equipmentType;
    double hiVal = 0, tmpd1, tmpd2;
    int eff;/*from  w  ww  .j  a v  a2s.co  m*/
    SqlRowSet srs1 = db.getJdbc()
            .queryForRowSet("select equipment from list_equipment,desc_equipment where list_equipment.id='"
                    + req.getParameter("id") + "' and list_equipment.[desc]=desc_equipment.id"),
            srs2, srs3;
    HashMap<String, Double> elementsRatio = new HashMap<String, Double>(),
            elements = new HashMap<String, Double>(), elementsCalc = new HashMap<String, Double>();
    ArrayList<Installment> installments = new ArrayList<Installment>();
    boolean pass = false;

    srs1.next();
    equipmentType = srs1.getString("equipment");

    srs1 = db.getJdbc().queryForRowSet(
            "select installment.id,[zone],type,draw,active from info_sector_equipment,installment,info_sector where equipment_type='"
                    + equipmentType + "' and [user]='" + req.getParameter("user")
                    + "' and [zone]=(select [zone] from businessgame.dbo.[user] where name='"
                    + req.getParameter("user") + "') and installment.type=sector and type=name");
    while (srs1.next()) {
        hiElement = "";
        hiVal = 0;
        elementsRatio.clear();
        elements.clear();
        elementsCalc.clear();
        pass = true;

        srs2 = db.getJdbc()
                .queryForRowSet("select equipment_type,items from info_sector_equipment where sector='"
                        + srs1.getString("type") + "'");
        while (srs2.next()) {
            elementsRatio.put(srs2.getString("equipment_type"), srs2.getDouble("items"));
            if (hiVal < srs2.getDouble("items")) {
                hiElement = srs2.getString("equipment_type");
                hiVal = srs2.getDouble("items");
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select count(installment_equipment.id) from installment_equipment,list_equipment,desc_equipment where installment='"
                            + srs1.getString("id") + "' and desc_equipment.equipment='"
                            + srs2.getString("equipment_type")
                            + "' and installment_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id");
            srs3.next();
            elements.put(srs2.getString("equipment_type"), srs3.getDouble(1));
        }

        srs2 = db.getJdbc().queryForRowSet("select employee_type,items from info_sector_employee where sector='"
                + srs1.getString("type") + "'");
        while (srs2.next()) {
            elementsRatio.put(srs2.getString("employee_type"), srs2.getDouble("items"));
            if (hiVal < srs2.getDouble("items")) {
                hiElement = srs2.getString("employee_type");
                hiVal = srs2.getDouble("items");
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select count(installment_employee.id) from installment_employee,list_employee,desc_employee where installment='"
                            + srs1.getString("id") + "' and desc_employee.employee='"
                            + srs2.getString("employee_type")
                            + "' and installment_employee.id=list_employee.id and list_employee.[desc]=desc_employee.id");
            srs3.next();
            elements.put(srs2.getString("employee_type"), srs3.getDouble(1));
        }

        //calculating:
        while (true) {
            for (String element : elementsRatio.keySet()) {
                if (element.equals(hiElement)) {
                    elementsCalc.put(element, elements.get(element));
                } else {
                    elementsCalc.put(element, (elementsRatio.get(element) * elements.get(hiElement))
                            / elementsRatio.get(hiElement));
                }
            }

            for (String element : elements.keySet()) {
                if (elements.get(element) < elementsCalc.get(element)) {
                    pass = false;
                    hiElement = element;
                    hiVal = elements.get(element);
                    break;
                } else {
                    pass = true;
                }
            }
            if (pass) {
                eff = elements.get(hiElement).intValue() / elementsRatio.get(hiElement).intValue();
                if (elements.get(hiElement) % elementsRatio.get(hiElement) > 0) {
                    hiVal = (elementsRatio.get(hiElement) * (eff + 1));
                    if (hiVal > 0)
                        tmpd1 = new BigDecimal(Double.valueOf(
                                elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * (eff + 1))))
                                        .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    else
                        tmpd1 = 0;
                    tmpd2 = eff + 1;
                } else {
                    hiVal = (elementsRatio.get(hiElement) * eff);
                    if (hiVal > 0)
                        tmpd1 = new BigDecimal(Double
                                .valueOf(elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * eff)))
                                        .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    else
                        tmpd1 = 0;
                    tmpd2 = eff;
                }
                installments.add(
                        new Installment(srs1.getString("id"), srs1.getString("type"), srs1.getString("zone"),
                                tmpd1, tmpd2, srs1.getString("draw"), srs1.getBoolean("active")));
                break;
            }
        }
    }
    val = gson.toJson(installments);

    hiElement = null;
    elementsRatio = null;
    elements = null;
    elementsCalc = null;
    installments = null;

    gc();

    return val;
}

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

public String attachEquipmentToInstallment(HttpServletRequest req) {
    String val = "0", sqls[];
    ArrayList<String> sqlL = new ArrayList<String>();

    sqlL.add("insert into installment_equipment values ('" + req.getParameter("idEquipment") + "','"
            + req.getParameter("idInstallment") + "')");
    sqlL.add("delete from storage_equipment where id='" + req.getParameter("idEquipment") + "'");

    sqls = new String[sqlL.size()];
    sqlL.toArray(sqls);// w  w  w.j a v a 2  s. c  o  m
    db.getJdbc().batchUpdate(sqls);

    SqlRowSet srs1, srs2;

    srs1 = db.getJdbc().queryForRowSet(
            "select storage_equipment.id,equipment,quality,durability,size,operational,draw from storage_equipment,list_equipment,desc_equipment,info_equipment where storage='"
                    + req.getParameter("storage")
                    + "' and storage_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id and name=equipment");

    ArrayList<StorageEquipment> equipments = new ArrayList<StorageEquipment>();
    while (srs1.next()) {
        srs2 = db.getJdbc().queryForRowSet(
                "select id from market_equipment where storage_equipment_id='" + srs1.getString("id") + "'");
        if (!srs2.next())
            equipments.add(new StorageEquipment(srs1.getString("id"), srs1.getString("equipment"),
                    srs1.getInt("quality"), srs1.getDouble("durability"), srs1.getDouble("size"),
                    srs1.getDouble("operational"), srs1.getString("draw")));
    }

    Installment installment = getSingleUserInstallments(req.getParameter("idInstallment"));

    ArrayList<String> data = new ArrayList<String>();
    data.add(gson.toJson(equipments));
    data.add(gson.toJson(installment));

    val = gson.toJson(data);

    sqlL = null;
    equipments = null;
    srs1 = null;
    srs2 = null;
    sqls = null;
    installment = null;
    data = null;

    gc();

    return val;
}

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

public String createNewInstallment(HttpServletRequest req) {
    String val = "", idInc, sqls[], draw;
    double money, cost;
    ArrayList<String> sqlL = new ArrayList<String>();

    //0=internal error
    //1=blueprint ga punya (kemungkinan user nge-cheat)
    //2=uang ga cukup

    SqlRowSet srs = db.getJdbc().queryForRowSet("select id from user_sector_blueprint where user='"
            + req.getParameter("user") + "' and sector='" + req.getParameter("type") + "'");
    if (!srs.next())
        return "1";

    srs = db.getJdbc().queryForRowSet("select money from [user] where name='" + req.getParameter("user") + "'");
    if (srs.next())
        money = srs.getDouble("money");
    else//from ww  w . j ava 2s . c om
        return "0";

    srs = db.getJdbc()
            .queryForRowSet("select cost,draw from info_sector where name='" + req.getParameter("type") + "'");
    if (srs.next()) {
        cost = srs.getDouble("cost");
        draw = srs.getString("draw");
    } else
        return "0";

    srs = db.getJdbc().queryForRowSet("select cost from info_zone where id='" + req.getParameter("zone") + "'");
    if (srs.next())
        cost += srs.getDouble("cost");
    else
        return "0";

    if (money < cost)
        return "2";

    money -= cost;

    sqlL.add("update [user] set money='" + money + "' where name='" + req.getParameter("user") + "'");
    idInc = getUniqueIncrementIdNew("installment");
    sqlL.add("insert into installment values ('" + KEY_INSTALLMENT + idInc + "','" + req.getParameter("user")
            + "','" + req.getParameter("zone") + "','" + req.getParameter("type") + "','',0,0,0,0,0)");

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

    Installment tmp = new Installment(KEY_INSTALLMENT + idInc, req.getParameter("type"),
            req.getParameter("zone"), 0, 0, draw, false);

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

    val = gson.toJson(data);

    sqlL = null;
    sqls = null;
    idInc = null;
    srs = null;
    tmp = null;

    gc();

    return val;
}

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

public String checkUserStorage(HttpServletRequest req) {
    String val = "No", id = "";
    boolean isAvailable;
    SqlRowSet srs1, srs2;
    double tmp = 0;

    ArrayList<String> data = new ArrayList<String>();
    srs1 = db.getJdbc()//w  ww  .j  av  a  2 s  .c  om
            .queryForRowSet("select [level] from storage where id='" + req.getParameter("storage") + "'");
    isAvailable = srs1.next();
    if (isAvailable) {
        id = req.getParameter("storage");
    } else {
        srs1 = db.getJdbc().queryForRowSet("select id,[level] from storage where [user]='"
                + req.getParameter("user") + "' and [zone]='" + req.getParameter("zone") + "'");
        isAvailable = srs1.next();
        if (isAvailable)
            id = srs1.getString("id");
    }

    if (isAvailable) {
        int level = srs1.getInt("level") - 1;

        double capacity = 0, fill = 0, upgrade = 0, inc = 0;
        srs1 = db.getJdbc().queryForRowSet(
                "select [value] from info_values where name='storage' union select [value] from info_values where name='storage_inc' union select [value] from info_values where name='cost_storage_upgrade'");
        if (srs1.next()) {
            capacity = Double.parseDouble(srs1.getString("value"));
        } else
            return "0";

        if (srs1.next()) {
            capacity += level * Double.parseDouble(srs1.getString("value"));
            inc = Double.parseDouble(srs1.getString("value"));
        } else
            return "0";

        if (srs1.next()) {
            upgrade = Double.parseDouble(srs1.getString("value"));
        } else
            return "0";

        srs1 = db.getJdbc().queryForRowSet(
                "select storage_product.id,product,quality,size,draw from storage_product,desc_product,info_product where storage='"
                        + id + "' and desc_product.id=storage_product.[desc] and product=name");
        ArrayList<StorageProduct> storageProducts = new ArrayList<StorageProduct>();
        ArrayList<MarketProduct> marketProducts = new ArrayList<MarketProduct>();
        while (srs1.next()) {
            tmp = srs1.getDouble("size");
            srs2 = db.getJdbc().queryForRowSet(
                    "select market_product.id,product,market_product.price,quality,market_product.size,draw from market_product,desc_product,info_product,storage_product where storage_product_id='"
                            + srs1.getString("id")
                            + "' and storage_product_id=storage_product.id and desc_product.id=storage_product.[desc] and product=name");
            while (srs2.next()) {
                tmp -= srs2.getDouble("size");
                marketProducts.add(new MarketProduct(srs2.getString("id"), "", srs2.getString("product"),
                        srs2.getDouble("price"), srs2.getInt("quality"), srs2.getDouble("size"),
                        srs2.getString("draw")));
            }
            if (tmp > 0)
                storageProducts.add(new StorageProduct(srs1.getString("id"), srs1.getString("product"),
                        srs1.getInt("quality"), new BigDecimal(Double.valueOf(tmp))
                                .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(),
                        srs1.getString("draw")));
            fill += srs1.getDouble("size");
        }

        srs1 = db.getJdbc().queryForRowSet(
                "select storage_equipment.id,equipment,quality,durability,size,operational,draw from storage_equipment,list_equipment,desc_equipment,info_equipment where storage='"
                        + id
                        + "' and storage_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id and name=equipment");
        ArrayList<StorageEquipment> storageEquipments = new ArrayList<StorageEquipment>();
        ArrayList<MarketEquipment> marketEquipments = new ArrayList<MarketEquipment>();
        while (srs1.next()) {
            srs2 = db.getJdbc().queryForRowSet(
                    "select market_equipment.id,equipment,market_equipment.price,quality,durability,size,operational,draw from storage_equipment,market_equipment,desc_equipment,list_equipment,info_equipment where storage_equipment_id='"
                            + srs1.getString("id")
                            + "' and storage_equipment.id=storage_equipment_id and list_equipment.id=storage_equipment.id and list_equipment.[desc]=desc_equipment.id and equipment=name");
            if (srs2.next()) {
                marketEquipments.add(new MarketEquipment(srs2.getString("id"), "", srs2.getString("equipment"),
                        srs2.getDouble("price"), srs2.getInt("quality"), srs2.getDouble("durability"),
                        srs2.getDouble("size"), srs2.getDouble("operational"), srs2.getString("draw")));
            } else {
                storageEquipments.add(new StorageEquipment(srs1.getString("id"), srs1.getString("equipment"),
                        srs1.getInt("quality"), srs1.getDouble("durability"), srs1.getDouble("size"),
                        srs1.getDouble("operational"), srs1.getString("draw")));
            }
            fill += srs1.getDouble("size");
        }
        data.add(gson.toJson(isAvailable));
        data.add(gson.toJson(capacity));
        data.add(gson.toJson(fill));
        data.add(gson.toJson(upgrade));
        data.add(gson.toJson(inc));
        data.add(gson.toJson(level + 1));
        data.add(gson.toJson(storageProducts));
        data.add(gson.toJson(storageEquipments));
        data.add(gson.toJson(marketProducts));
        data.add(gson.toJson(marketEquipments));

        val = gson.toJson(data);

        storageProducts = null;
        storageEquipments = null;
        marketProducts = null;
        marketEquipments = null;

    } else {
        srs2 = db.getJdbc().queryForRowSet("select [value] from info_values where name='cost_storage'");
        if (srs2.next()) {
            data.add(gson.toJson(isAvailable));
            data.add(gson.toJson(Double.parseDouble(srs2.getString("value"))));
            val = gson.toJson(data);
        } else
            return "0";
    }

    data = null;
    srs1 = null;
    srs2 = null;
    gc();

    return val;
}

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

public String queryTotalBundle(HttpServletRequest req) {
    String val = "";
    int quality;//from  w w w  .  j av a 2  s.  c  o  m
    double total = 0;
    ArrayList<String> data = new ArrayList<String>();

    SqlRowSet srs1 = db.getJdbc()
            .queryForRowSet("select type from installment where id='" + req.getParameter("installment") + "'"),
            srs2;
    if (srs1.next()) {
        if (req.getParameter("quality") == null) {
            srs2 = db.getJdbc().queryForRowSet("select quality from info_quality where from_base='1'");
            if (srs2.next())
                quality = srs2.getInt("quality");
            else
                return "0";
        } else
            quality = Integer.parseInt(req.getParameter("quality"));

        srs2 = db.getJdbc()
                .queryForRowSet("select price,items from desc_equipment,info_sector_equipment where sector='"
                        + srs1.getString("type") + "' and quality='" + quality
                        + "' and desc_equipment.equipment=equipment_type");
        while (srs2.next()) {
            total += srs2.getDouble("price") * srs2.getInt("items");
        }

        srs2 = db.getJdbc()
                .queryForRowSet("select price,items from desc_employee,info_sector_employee where sector='"
                        + srs1.getString("type") + "' and quality='" + quality
                        + "' and desc_employee.employee=employee_type");
        while (srs2.next()) {
            total += srs2.getDouble("price") * srs2.getInt("items");
        }

        data.add(srs1.getString("type"));
        data.add(gson.toJson(total));

        val = gson.toJson(data);

    } else
        return "0";

    srs1 = null;
    srs2 = null;
    data = null;

    gc();

    return val;
}

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

private Installment getSingleUserInstallments(String id) {
    String hiElement = "";

    double hiVal = 0, tmpd1, tmpd2;
    int eff;// ww  w. java  2s .c o  m
    SqlRowSet srs1 = db.getJdbc().queryForRowSet(
            "select [zone],type,draw,active from installment,info_sector where id='" + id + "' and name=type"),
            srs2, srs3;
    HashMap<String, Double> elementsRatio = new HashMap<String, Double>(),
            elements = new HashMap<String, Double>(), elementsCalc = new HashMap<String, Double>();
    Installment installment = null;
    boolean pass = false;

    if (srs1.next()) {
        hiElement = "";
        hiVal = 0;
        elementsRatio.clear();
        elements.clear();
        elementsCalc.clear();
        pass = true;

        srs2 = db.getJdbc()
                .queryForRowSet("select equipment_type,items from info_sector_equipment where sector='"
                        + srs1.getString("type") + "'");
        while (srs2.next()) {
            elementsRatio.put(srs2.getString("equipment_type"), srs2.getDouble("items"));
            if (hiVal < srs2.getDouble("items")) {
                hiElement = srs2.getString("equipment_type");
                hiVal = srs2.getDouble("items");
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select count(installment_equipment.id) from installment_equipment,list_equipment,desc_equipment where installment='"
                            + id + "' and desc_equipment.equipment='" + srs2.getString("equipment_type")
                            + "' and installment_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id");
            srs3.next();
            elements.put(srs2.getString("equipment_type"), srs3.getDouble(1));
        }

        srs2 = db.getJdbc().queryForRowSet("select employee_type,items from info_sector_employee where sector='"
                + srs1.getString("type") + "'");
        while (srs2.next()) {
            elementsRatio.put(srs2.getString("employee_type"), srs2.getDouble("items"));
            if (hiVal < srs2.getDouble("items")) {
                hiElement = srs2.getString("employee_type");
                hiVal = srs2.getDouble("items");
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select count(installment_employee.id) from installment_employee,list_employee,desc_employee where installment='"
                            + id + "' and desc_employee.employee='" + srs2.getString("employee_type")
                            + "' and installment_employee.id=list_employee.id and list_employee.[desc]=desc_employee.id");
            srs3.next();
            elements.put(srs2.getString("employee_type"), srs3.getDouble(1));
        }

        //calculating:
        while (true) {
            for (String element : elementsRatio.keySet()) {
                if (element.equals(hiElement)) {
                    elementsCalc.put(element, elements.get(element));
                } else {
                    elementsCalc.put(element, (elementsRatio.get(element) * elements.get(hiElement))
                            / elementsRatio.get(hiElement));
                }
            }

            for (String element : elements.keySet()) {
                if (elements.get(element) < elementsCalc.get(element)) {
                    pass = false;
                    hiElement = element;
                    hiVal = elements.get(element);
                    break;
                } else {
                    pass = true;
                }
            }
            if (pass) {
                eff = elements.get(hiElement).intValue() / elementsRatio.get(hiElement).intValue();
                if (elements.get(hiElement) % elementsRatio.get(hiElement) > 0) {
                    hiVal = (elementsRatio.get(hiElement) * (eff + 1));
                    if (hiVal > 0)
                        tmpd1 = new BigDecimal(Double.valueOf(
                                elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * (eff + 1))))
                                        .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    else
                        tmpd1 = 0;
                    tmpd2 = eff + 1;
                } else {
                    hiVal = (elementsRatio.get(hiElement) * eff);
                    if (hiVal > 0)
                        tmpd1 = new BigDecimal(Double
                                .valueOf(elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * eff)))
                                        .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    else
                        tmpd1 = 0;
                    tmpd2 = eff;
                }
                installment = new Installment(id, srs1.getString("type"), srs1.getString("zone"), tmpd1, tmpd2,
                        srs1.getString("draw"), srs1.getBoolean("active"));
                break;
            }
        }
    }

    hiElement = null;
    srs1 = null;
    srs2 = null;
    srs3 = null;
    elements = null;
    elementsCalc = null;
    elementsRatio = null;

    gc();

    return installment;
}

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

public String loadBankData(HttpServletRequest req) {
    String val = "";

    SqlRowSet srs = db.getJdbc()
            .queryForRowSet("select id from req_borrow_bank where [user]='" + req.getParameter("user") + "'");
    if (srs.next())
        return "1";

    srs = db.getJdbc()//from  w  w w . ja  v  a 2  s  . c  om
            .queryForRowSet("select id from borrow_bank where [user]='" + req.getParameter("user") + "'");
    if (srs.next())
        return "2";

    ArrayList<String> sectorList = new ArrayList<String>(), data = new ArrayList<String>();
    ArrayList<Double> priceList = new ArrayList<Double>();
    ArrayList<BusinessSectorInfo> bsiList = new ArrayList<BusinessSectorInfo>();
    ArrayList<IndustrialEquipmentInfo> ie;
    ArrayList<EmployeeInfo> e;
    ArrayList<InputInfo> i;
    ArrayList<OutputInfo> o;
    double tmpd1, tmpd2;

    srs = db.getJdbc().queryForRowSet("select name, cost from info_sector");
    while (srs.next()) {
        sectorList.add(srs.getString("name"));
        priceList.add(srs.getDouble("cost"));
    }

    srs = db.getJdbc().queryForRowSet(
            "select cost from info_zone where id=(select [zone] from businessgame.dbo.[user] where name='"
                    + req.getParameter("user") + "')");
    if (srs.next())
        tmpd1 = srs.getDouble("cost");
    else
        return "0";

    srs = db.getJdbc().queryForRowSet("select [value] from info_values where name='cost_storage'");
    if (srs.next())
        tmpd2 = Double.parseDouble(srs.getString("value"));
    else
        return "0";

    for (String sector : sectorList) {
        srs = db.getJdbc().queryForRowSet(
                "select equipment_type,items,base_price,base_operational from info_sector_equipment,info_equipment where equipment_type=info_equipment.name and info_sector_equipment.sector='"
                        + sector + "'");

        ie = new ArrayList<IndustrialEquipmentInfo>();
        while (srs.next()) {
            ie.add(new IndustrialEquipmentInfo(srs.getString("equipment_type"), srs.getInt("items"),
                    srs.getDouble("base_price"), srs.getDouble("base_operational")));
        }

        srs = db.getJdbc().queryForRowSet(
                "select employee_type,items,base_price,base_operational from info_sector_employee,info_employee where employee_type=info_employee.name and info_sector_employee.sector='"
                        + sector + "'");
        e = new ArrayList<EmployeeInfo>();
        while (srs.next()) {
            e.add(new EmployeeInfo(srs.getString("employee_type"), srs.getInt("items"),
                    srs.getDouble("base_price"), srs.getDouble("base_operational")));
        }

        srs = db.getJdbc().queryForRowSet(
                "select input_type,base_price,size from info_sector_input,info_product where input_type=info_product.name and info_sector_input.sector='"
                        + sector + "'");
        i = new ArrayList<InputInfo>();
        while (srs.next()) {
            i.add(new InputInfo(srs.getString("input_type"), srs.getDouble("size"),
                    srs.getDouble("base_price")));
        }

        srs = db.getJdbc().queryForRowSet(
                "select output_type,base_price,size from info_sector_output,info_product where output_type=info_product.name and info_sector_output.sector='"
                        + sector + "'");
        o = new ArrayList<OutputInfo>();
        while (srs.next()) {
            o.add(new OutputInfo(srs.getString("output_type"), srs.getDouble("size"),
                    srs.getDouble("base_price")));
        }

        bsiList.add(new BusinessSectorInfo(ie, e, i, o));
        ie = null;
        e = null;
        i = null;
        o = null;
    }

    data.add(gson.toJson(sectorList));
    data.add(gson.toJson(priceList));
    data.add(gson.toJson(tmpd1));
    data.add(gson.toJson(tmpd2));
    data.add(gson.toJson(bsiList));

    val = gson.toJson(data);

    sectorList = null;
    priceList = null;
    bsiList = null;
    data = null;
    srs = null;

    gc();

    return val;
}

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

public String cancelOfferEquipment(HttpServletRequest req) {
    String val = "";
    db.getJdbc().execute("delete from market_equipment where id='" + req.getParameter("id") + "'");

    SqlRowSet srs1, srs2;

    srs1 = db.getJdbc().queryForRowSet(/*from w  w  w  . j  a  va2s . c  o m*/
            "select storage_equipment.id,equipment,quality,durability,size,operational,draw from storage_equipment,list_equipment,desc_equipment,info_equipment where storage=(select id from storage where [user]='"
                    + req.getParameter("user") + "' and [zone]='" + req.getParameter("zone")
                    + "') and storage_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id and name=equipment");
    ArrayList<StorageEquipment> storageEquipments = new ArrayList<StorageEquipment>();
    ArrayList<MarketEquipment> marketEquipments = new ArrayList<MarketEquipment>();
    while (srs1.next()) {
        srs2 = db.getJdbc().queryForRowSet(
                "select market_equipment.id,equipment,market_equipment.price,quality,durability,size,operational,draw from storage_equipment,market_equipment,desc_equipment,list_equipment,info_equipment where storage_equipment_id='"
                        + srs1.getString("id")
                        + "' and storage_equipment.id=storage_equipment_id and list_equipment.id=storage_equipment.id and list_equipment.[desc]=desc_equipment.id and equipment=name");
        if (srs2.next()) {
            marketEquipments.add(new MarketEquipment(srs2.getString("id"), "", srs2.getString("equipment"),
                    srs2.getDouble("price"), srs2.getInt("quality"), srs2.getDouble("durability"),
                    srs2.getDouble("size"), srs2.getDouble("operational"), srs2.getString("draw")));
        } else {
            storageEquipments.add(new StorageEquipment(srs1.getString("id"), srs1.getString("equipment"),
                    srs1.getInt("quality"), srs1.getDouble("durability"), srs1.getDouble("size"),
                    srs1.getDouble("operational"), srs1.getString("draw")));
        }
    }

    ArrayList<String> data = new ArrayList<String>();
    data.add(gson.toJson(storageEquipments));
    data.add(gson.toJson(marketEquipments));
    val = gson.toJson(data);

    data = null;
    marketEquipments = null;
    storageEquipments = null;
    srs1 = null;
    srs2 = null;

    gc();

    return val;
}

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

/**
 * Calculate the installment's details. More likely, a ratio of equipment, employee, input and
 * output provided in one installment./*from  w w  w.  ja  va  2  s .co  m*/
 * 
 * @param idInstallment The id of an installment being called.
 * @return List of information regarding the details of an installment. The output will come as
 * follow : (0) type installment, (1) calculated efficiency, (2) calculated effectivity,
 * (3) list of input, (4) list of input ratio, (5) list of output, (6) list of output ratio, 
 * (7) whether the installment is active/inactive state.
 * 
 */
private ArrayList<String> calculateInstallmentAndIOByIdInstallment(String idInstallment) {
    String hiElement = "";
    double hiVal = 0, efficiency = 0, effectivity = 0;
    int eff;
    SqlRowSet srs1 = db.getJdbc()
            .queryForRowSet("select type,active from installment where id='" + idInstallment + "'"), srs2, srs3;
    HashMap<String, Double> elementsRatio = new HashMap<String, Double>(),
            elements = new HashMap<String, Double>(), elementsCalc = new HashMap<String, Double>();
    ArrayList<String> data = new ArrayList<String>(), input = new ArrayList<String>(),
            output = new ArrayList<String>();
    ArrayList<Double> inputVal = new ArrayList<Double>(), outputVal = new ArrayList<Double>();
    boolean pass = false;

    if (srs1.next()) {
        hiElement = "";
        hiVal = 0;
        elementsRatio.clear();
        elements.clear();
        elementsCalc.clear();
        pass = true;

        srs2 = db.getJdbc()
                .queryForRowSet("select equipment_type,items from info_sector_equipment where sector='"
                        + srs1.getString("type") + "'");
        while (srs2.next()) {
            elementsRatio.put(srs2.getString("equipment_type"), srs2.getDouble("items"));
            if (hiVal < srs2.getDouble("items")) {
                hiElement = srs2.getString("equipment_type");
                hiVal = srs2.getDouble("items");
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select count(installment_equipment.id) from installment_equipment,list_equipment,desc_equipment where installment='"
                            + idInstallment + "' and desc_equipment.equipment='"
                            + srs2.getString("equipment_type")
                            + "' and installment_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id");
            srs3.next();
            elements.put(srs2.getString("equipment_type"), srs3.getDouble(1));
        }

        srs2 = db.getJdbc().queryForRowSet("select employee_type,items from info_sector_employee where sector='"
                + srs1.getString("type") + "'");
        while (srs2.next()) {
            elementsRatio.put(srs2.getString("employee_type"), srs2.getDouble("items"));
            if (hiVal < srs2.getDouble("items")) {
                hiElement = srs2.getString("employee_type");
                hiVal = srs2.getDouble("items");
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select count(installment_employee.id) from installment_employee,list_employee,desc_employee where installment='"
                            + idInstallment + "' and desc_employee.employee='" + srs2.getString("employee_type")
                            + "' and installment_employee.id=list_employee.id and list_employee.[desc]=desc_employee.id");
            srs3.next();
            elements.put(srs2.getString("employee_type"), srs3.getDouble(1));
        }

        //calculating:
        while (true) {
            for (String element : elementsRatio.keySet()) {
                if (element.equals(hiElement)) {
                    elementsCalc.put(element, elements.get(element));
                } else {
                    elementsCalc.put(element, (elementsRatio.get(element) * elements.get(hiElement))
                            / elementsRatio.get(hiElement));
                }
            }

            for (String element : elements.keySet()) {
                if (elements.get(element) < elementsCalc.get(element)) {
                    pass = false;
                    hiElement = element;
                    hiVal = elements.get(element);
                    break;
                } else {
                    pass = true;
                }
            }
            if (pass) {
                eff = elements.get(hiElement).intValue() / elementsRatio.get(hiElement).intValue();
                if (elements.get(hiElement) % elementsRatio.get(hiElement) > 0) {
                    hiVal = (elementsRatio.get(hiElement) * (eff + 1));
                    if (hiVal > 0)
                        efficiency = new BigDecimal(Double.valueOf(
                                elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * (eff + 1))))
                                        .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    else
                        efficiency = 0;
                    effectivity = eff + 1;
                } else {
                    hiVal = (elementsRatio.get(hiElement) * eff);
                    if (hiVal > 0)
                        efficiency = new BigDecimal(Double
                                .valueOf(elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * eff)))
                                        .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    else
                        efficiency = 0;
                    effectivity = eff;
                }
                srs2 = db.getJdbc()
                        .queryForRowSet("select input_type,size from info_sector_input where sector='"
                                + srs1.getString("type") + "'");
                while (srs2.next()) {
                    input.add(srs2.getString("input_type"));
                    inputVal.add(
                            new BigDecimal(Double.valueOf(srs2.getDouble("size") * effectivity * efficiency))
                                    .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                }
                srs2 = db.getJdbc()
                        .queryForRowSet("select output_type,size from info_sector_output where sector='"
                                + srs1.getString("type") + "'");
                while (srs2.next()) {
                    output.add(srs2.getString("output_type"));
                    outputVal.add(
                            new BigDecimal(Double.valueOf(srs2.getDouble("size") * effectivity * efficiency))
                                    .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                }
                break;
            }
        }
    }
    data.add(srs1.getString("type"));
    data.add(gson.toJson(efficiency));
    data.add(gson.toJson(effectivity));
    data.add(gson.toJson(input));
    data.add(gson.toJson(inputVal));
    data.add(gson.toJson(output));
    data.add(gson.toJson(outputVal));
    data.add(gson.toJson(srs1.getBoolean("active")));

    input = null;
    inputVal = null;
    output = null;
    outputVal = null;
    srs1 = null;
    srs2 = null;
    srs3 = null;

    gc();

    return data;
}

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

/**
 * Getting all user's installments, regardless of its type (or sector, in specifically)..
 * @param user/*w w w.  j a v a2 s . c o  m*/
 * @return list of installment in ArrayList<Installment>
 */
private ArrayList<Installment> getUserInstallments(String user) {
    String hiElement = "";

    double hiVal = 0, tmpd1, tmpd2;
    int eff;
    SqlRowSet srs1 = db.getJdbc()
            .queryForRowSet("select id,[zone],type,draw,active from installment,info_sector where [user]='"
                    + user + "' and [zone]=(select [zone] from businessgame.dbo.[user] where name='" + user
                    + "') and name=type"),
            srs2, srs3;
    HashMap<String, Double> elementsRatio = new HashMap<String, Double>(),
            elements = new HashMap<String, Double>(), elementsCalc = new HashMap<String, Double>();
    ArrayList<Installment> installments = new ArrayList<Installment>();
    boolean pass = false;

    while (srs1.next()) {
        hiElement = "";
        hiVal = 0;
        elementsRatio.clear();
        elements.clear();
        elementsCalc.clear();
        pass = true;

        srs2 = db.getJdbc()
                .queryForRowSet("select equipment_type,items from info_sector_equipment where sector='"
                        + srs1.getString("type") + "'");
        while (srs2.next()) {
            elementsRatio.put(srs2.getString("equipment_type"), srs2.getDouble("items"));
            if (hiVal < srs2.getDouble("items")) {
                hiElement = srs2.getString("equipment_type");
                hiVal = srs2.getDouble("items");
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select count(installment_equipment.id) from installment_equipment,list_equipment,desc_equipment where installment='"
                            + srs1.getString("id") + "' and desc_equipment.equipment='"
                            + srs2.getString("equipment_type")
                            + "' and installment_equipment.id=list_equipment.id and list_equipment.[desc]=desc_equipment.id");
            srs3.next();
            elements.put(srs2.getString("equipment_type"), srs3.getDouble(1));
        }

        srs2 = db.getJdbc().queryForRowSet("select employee_type,items from info_sector_employee where sector='"
                + srs1.getString("type") + "'");
        while (srs2.next()) {
            elementsRatio.put(srs2.getString("employee_type"), srs2.getDouble("items"));
            if (hiVal < srs2.getDouble("items")) {
                hiElement = srs2.getString("employee_type");
                hiVal = srs2.getDouble("items");
            }
            srs3 = db.getJdbc().queryForRowSet(
                    "select count(installment_employee.id) from installment_employee,list_employee,desc_employee where installment='"
                            + srs1.getString("id") + "' and desc_employee.employee='"
                            + srs2.getString("employee_type")
                            + "' and installment_employee.id=list_employee.id and list_employee.[desc]=desc_employee.id");
            srs3.next();
            elements.put(srs2.getString("employee_type"), srs3.getDouble(1));
        }

        //calculating:
        while (true) {
            for (String element : elementsRatio.keySet()) {
                if (element.equals(hiElement)) {
                    elementsCalc.put(element, elements.get(element));
                } else {
                    elementsCalc.put(element, (elementsRatio.get(element) * elements.get(hiElement))
                            / elementsRatio.get(hiElement));
                }
            }

            for (String element : elements.keySet()) {
                if (elements.get(element) < elementsCalc.get(element)) {
                    pass = false;
                    hiElement = element;
                    hiVal = elements.get(element);
                    break;
                } else {
                    pass = true;
                }
            }
            if (pass) {
                eff = elements.get(hiElement).intValue() / elementsRatio.get(hiElement).intValue();
                if (elements.get(hiElement) % elementsRatio.get(hiElement) > 0) {
                    hiVal = (elementsRatio.get(hiElement) * (eff + 1));
                    if (hiVal > 0)
                        tmpd1 = new BigDecimal(Double.valueOf(
                                elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * (eff + 1))))
                                        .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    else
                        tmpd1 = 0;
                    tmpd2 = eff + 1;
                } else {
                    hiVal = (elementsRatio.get(hiElement) * eff);
                    if (hiVal > 0)
                        tmpd1 = new BigDecimal(Double
                                .valueOf(elementsCalc.get(hiElement) / (elementsRatio.get(hiElement) * eff)))
                                        .setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    else
                        tmpd1 = 0;
                    tmpd2 = eff;
                }
                installments.add(
                        new Installment(srs1.getString("id"), srs1.getString("type"), srs1.getString("zone"),
                                tmpd1, tmpd2, srs1.getString("draw"), srs1.getBoolean("active")));
                break;
            }
        }
    }

    hiElement = null;
    srs1 = null;
    srs2 = null;
    srs3 = null;
    elements = null;
    elementsCalc = null;
    elementsRatio = null;

    gc();

    return installments;
}