public void setup() { if (databasePool != null) { DatabaseConnection database = null; IDataSet dataSet = null; try { database = databasePool.borrowInstance(this); dataSet = database.getDataSet(dbQuery, true); int keyIdx = dataSet.getFieldIndex(keyColumn); int valueIdx = dataSet.getFieldIndex(valueColumn); while (dataSet.next()) { String name = dataSet.getFieldValue(keyIdx).asString(); String value = dataSet.getFieldValue(valueIdx).asString(); getLocalPropertyMap().put(name, value); } } catch (Exception e) { throw new RuntimeException(e); } finally { if (dataSet != null) { dataSet.close(); } if (database != null) { databasePool.returnInstance(database, this); } } } }