if(intervalsSB!=null){
intervalsAttrsList = intervalsSB.getContainedSourceBeanAttributes();
}
if(intervalsAttrsList==null || intervalsAttrsList.isEmpty()){ // if intervals are not defined realize a single interval
KpiInterval interval=new KpiInterval();
interval.setLabel("");
interval.setMin(getLower());
interval.setMax(getUpper());
interval.setColor(Color.WHITE);
addInterval(interval);
}
else{
Iterator intervalsAttrsIter = intervalsAttrsList.iterator();
while(intervalsAttrsIter.hasNext()) {
SourceBeanAttribute paramSBA = (SourceBeanAttribute)intervalsAttrsIter.next();
SourceBean param = (SourceBean)paramSBA.getValue();
String label="";
if(param.getAttribute("label")!=null)
label=(String)param.getAttribute("label");
String min= (String)param.getAttribute(MIN_INTERVAL);
String max= (String)param.getAttribute(MAX_INTERVAL);
String col= (String)param.getAttribute(COLOR_INTERVAL);
KpiInterval interval=new KpiInterval();
interval.setLabel(label);
interval.setMin(Double.valueOf(min).doubleValue());
interval.setMax(Double.valueOf(max).doubleValue());
Color color=new Color(Integer.decode(col).intValue());
if(color!=null){
interval.setColor(color);}
else{
interval.setColor(Color.RED);
}
addInterval(interval);
}
}
}
else{
logger.info("Configuration parameters set in LOV");
String intervalsNumber=(String)sbRow.getAttribute(INTERVALS_NUMBER);
if(intervalsNumber==null || intervalsNumber.equals("") || intervalsNumber.equals("0")){ // if intervals are not specified
logger.warn("intervals not correctly defined, use default settings");
KpiInterval interval=new KpiInterval();
interval.setLabel("");
interval.setMin(getLower());
interval.setMax(getUpper());
interval.setColor(Color.WHITE);
addInterval(interval);
}
else{
for(int i=1;i<=Integer.valueOf(intervalsNumber).intValue();i++){
KpiInterval interval=new KpiInterval();
String label="";
if(sbRow.getAttribute("label"+(new Integer(i)).toString())!=null){
label=(String)sbRow.getAttribute("label"+(new Integer(i)).toString());}
String min=(String)sbRow.getAttribute("min"+(new Integer(i)).toString());
String max=(String)sbRow.getAttribute("max"+(new Integer(i)).toString());
String col=(String)sbRow.getAttribute("color"+(new Integer(i)).toString());
interval.setLabel(label);
interval.setMin(Double.valueOf(min).doubleValue());
interval.setMax(Double.valueOf(max).doubleValue());
Color color=new Color(Integer.decode(col).intValue());
interval.setColor(color);
addInterval(interval);
}
}
}