Beispiel #1
0
  private boolean
      ordersTableFill() // Служебная функция для заполнения таблицы, прототип функции для сервиса.
      {
    M_DB db = app.getDb();
    M_XmlParser parser = app.getXmlParser();
    db.open();
    String[] typesOfOrders = {
      "Bunkering_order", "Tank_order", "Oil_delivery_order", "Benzin_order"
    };
    boolean[] results = new boolean[typesOfOrders.length];
    ArrayList<String[]> columnsOfAllOrders = new ArrayList<String[]>();
    ContentValues[] cv = new ContentValues[typesOfOrders.length];
    String[] columnsOfOrder;
    ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
    for (String t : Constants.typesOfOrders) {
      list = parser.getColumns(app.getApplicationContext(), t);
      columnsOfOrder = new String[list.size()];
      for (int i = 0; i < list.size(); i++) {
        columnsOfOrder[i] = list.get(i).get(Constants.keys[0]).toString();
      }
      columnsOfAllOrders.add(columnsOfOrder);
    }
    boolean ordersResult = true;
    list = parser.getColumns(app.getApplicationContext(), "Orders");
    String[] colsOfMainTable = new String[list.size()];
    for (int i = 0; i < list.size(); i++) {
      colsOfMainTable[i] = list.get(i).get(Constants.keys[0]).toString();
    }
    ContentValues orders = new ContentValues();
    for (int i = 0; i < Constants.typesOfOrders.length; i++) {
      cv[i] = new ContentValues();
      for (int j = 0; j < columnsOfAllOrders.get(i).length; j++) {
        String str = "";
        if (j == 0) {
          str += (i + 1);
        }
        if (j == 1) {
          str += 0;
        }
        if (j != 0 && j != 1) {
          str += (j + " " + i + " j + i");
        }
        cv[i].put(columnsOfAllOrders.get(i)[j], str);
      }
      for (int j = 0; j < colsOfMainTable.length; j++) {
        if (j != 1) {
          orders.put(colsOfMainTable[j], "" + (i + 1));
        } else {
          orders.put(colsOfMainTable[j], Constants.typesOfOrders[i]);
        }
      }

      ordersResult = db.addRec("Orders", orders);
      orders.clear();
      results[i] = db.addRec(typesOfOrders[i], cv[i]);
    }
    db.close();
    boolean result = true;
    for (boolean i : results) {
      if (!i) result = false;
    }
    return result & ordersResult;
  }