=== modified file 'dhis-2/dhis-web/dhis-web-visualizer/src/main/java/org/hisp/dhis/visualizer/action/AddOrUpdateChartAction.java' --- dhis-2/dhis-web/dhis-web-visualizer/src/main/java/org/hisp/dhis/visualizer/action/AddOrUpdateChartAction.java 2012-01-23 19:44:06 +0000 +++ dhis-2/dhis-web/dhis-web-visualizer/src/main/java/org/hisp/dhis/visualizer/action/AddOrUpdateChartAction.java 2012-02-09 13:03:47 +0000 @@ -29,12 +29,11 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.List; import org.hisp.dhis.chart.Chart; import org.hisp.dhis.chart.ChartService; -import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementService; -import org.hisp.dhis.indicator.Indicator; import org.hisp.dhis.indicator.IndicatorService; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.organisationunit.OrganisationUnitService; @@ -134,16 +133,16 @@ this.filter = filter; } - private Collection indicatorIds; + private List indicatorIds = new ArrayList(); - public void setIndicatorIds( Collection indicatorIds ) + public void setIndicatorIds( List indicatorIds ) { this.indicatorIds = indicatorIds; } - private Collection dataElementIds; + private List dataElementIds = new ArrayList(); - public void setDataElementIds( Collection dataElementIds ) + public void setDataElementIds( List dataElementIds ) { this.dataElementIds = dataElementIds; } @@ -317,13 +316,24 @@ chart.setFilter( filter ); } - if ( indicatorIds != null || dataElementIds != null ) - { - chart.setIndicators( indicatorIds != null ? new ArrayList( indicatorService - .getIndicators( indicatorIds ) ) : new ArrayList() ); - - chart.setDataElements( dataElementIds != null ? new ArrayList( dataElementService - .getDataElements( dataElementIds ) ) : new ArrayList() ); + if ( indicatorIds != null ) + { + chart.getIndicators().clear(); + + for ( Integer id : indicatorIds ) + { + chart.getIndicators().add( indicatorService.getIndicator( id ) ); + } + } + + if ( dataElementIds != null ) + { + chart.getDataElements().clear(); + + for ( Integer id : dataElementIds ) + { + chart.getDataElements().add( dataElementService.getDataElement( id ) ); + } } if ( lastMonth || last12Months || lastQuarter || last4Quarters || lastSixMonth || last2SixMonths || thisYear