1
package org.hisp.dhis.dashboard.topten.action;
3
import java.util.ArrayList;
4
import java.util.Iterator;
7
import org.hisp.dhis.dataelement.DataElement;
8
import org.hisp.dhis.dataelement.DataElementCategoryCombo;
9
import org.hisp.dhis.dataelement.DataElementCategoryOption;
10
import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
11
import org.hisp.dhis.dataset.DataSet;
12
import org.hisp.dhis.dataset.DataSetService;
14
import com.opensymphony.xwork.Action;
16
public class GetOptionCombosAction implements Action
18
// -------------------------------------------------------------------------
20
// -------------------------------------------------------------------------
22
private DataSetService dataSetService;
24
public void setDataSetService( DataSetService dataSetService )
26
this.dataSetService = dataSetService;
29
// -------------------------------------------------------------------------
31
// -------------------------------------------------------------------------
33
private int dataSetId;
35
public void setDataSetId( int dataSetId )
37
this.dataSetId = dataSetId;
40
private List<String> optionComboIds;
42
public List<String> getOptionComboIds()
44
return optionComboIds;
47
private List<String> optionComboNames;
49
public List<String> getOptionComboNames()
51
return optionComboNames;
54
// -------------------------------------------------------------------------
56
// -------------------------------------------------------------------------
57
public String execute()
60
optionComboIds = new ArrayList<String>();
61
optionComboNames = new ArrayList<String>();
63
DataSet dataSet = dataSetService.getDataSet( dataSetId );
64
List<DataElement> dataElementList = new ArrayList<DataElement>(dataSet.getDataElements());
66
if(dataElementList!=null)
68
DataElement dataElement = (DataElement) dataElementList.iterator().next();
69
DataElementCategoryCombo dataElementCategoryCombo = dataElement.getCategoryCombo();
71
List<DataElementCategoryOptionCombo> optionCombos = new ArrayList<DataElementCategoryOptionCombo>(
72
dataElementCategoryCombo.getOptionCombos() );
74
Iterator<DataElementCategoryOptionCombo> optionComboIterator = optionCombos.iterator();
75
while ( optionComboIterator.hasNext() )
77
StringBuffer optionComboName = new StringBuffer();
78
DataElementCategoryOptionCombo decoc = (DataElementCategoryOptionCombo) optionComboIterator.next();
79
List<DataElementCategoryOption> categoryOptions = new ArrayList<DataElementCategoryOption>( decoc
80
.getCategoryOptions() );
81
Iterator<DataElementCategoryOption> categoryOptionsIterator = categoryOptions.iterator();
82
while ( categoryOptionsIterator.hasNext() )
84
DataElementCategoryOption categoryOption = categoryOptionsIterator.next();
85
optionComboName.append( categoryOption.getName() ).append( " " );
87
//System.out.println( optionComboName );
88
optionComboNames.add( optionComboName.toString() );
89
optionComboIds.add( "" + decoc.getId() );