I had a quick look. You may benefit from using maps to retrieve properties instead of having tens of setters/getters, e.g. instead of
public int getDatacenterProduction() { return datacenterProduction; }
public void setDatacenterProduction(int datacenterProduction) {
this.datacenterProduction = datacenterProduction;
}
public int getZonesProduction() { return zonesProduction; }
public void setZonesProduction(int zonesProduction) {
this.zonesProduction = zonesProduction;
}
try something like
Map<String, Integer> map = new HashMap<String, Integer>();
int x = map.get("datacenterproduction");
map.set("zonesproduction", Integer.valueOf(z));
essentially the map
would replace the DCDataObj
class.
The initDBDataProduction
uses a lot of constants and so your life maybe made easier by using a for
loop and a table of the needed values.
Once your code is cleaned up further improvements should become more apparent.