=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataElement.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataElement.java 2010-09-24 11:12:49 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataElement.java 2010-11-08 03:52:21 +0000 @@ -7,6 +7,8 @@ private String type; + private AbstractModelList categoryOptionCombos; + public DataElement() { } @@ -18,5 +20,17 @@ public void setType(String type) { this.type = type; } + + public AbstractModelList getCategoryOptionCombos() + { + return categoryOptionCombos; + } + + public void setCategoryOptionCombos( AbstractModelList categoryOptionCombos ) + { + this.categoryOptionCombos = categoryOptionCombos; + } + + } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Section.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Section.java 2010-11-02 03:53:54 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Section.java 2010-11-08 03:52:21 +0000 @@ -8,50 +8,69 @@ /** * @author Tran Ng Minh Luan - * + * */ -public class Section extends AbstractModel{ - - private List dataElements; - - public Section() { - } - - public List getDes() { - return dataElements; - } - - public void setDes(List des) { - this.dataElements = des; - } - - public void serialize(OutputStream out) throws IOException{ - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream(bout); - - dout.writeInt(this.getId()); - dout.writeUTF(getName()); - - if(dataElements == null){ - dout.writeInt(0); - }else{ - dout.writeInt(dataElements.size()); - for(int i=0; i dataElements; + + public Section() + { + } + + public List getDes() + { + return dataElements; + } + + public void setDes( List des ) + { + this.dataElements = des; + } + + public void serialize( OutputStream out ) + throws IOException + { + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + DataOutputStream dout = new DataOutputStream( bout ); + + dout.writeInt( this.getId() ); + dout.writeUTF( getName() ); + + if ( dataElements == null ) + { + dout.writeInt( 0 ); + } + else + { + dout.writeInt( dataElements.size() ); + for ( int i = 0; i < dataElements.size(); i++ ) + { + DataElement de = (DataElement) dataElements.get( i ); + dout.writeInt( de.getId() ); + dout.writeUTF( de.getName() ); + dout.writeUTF( de.getType() ); + List cateOptCombos = de.getCategoryOptionCombos().getAbstractModels(); + if ( cateOptCombos == null || cateOptCombos.size() <= 0 ) + { + dout.writeInt( 0 ); + } + else + { + dout.writeInt( cateOptCombos.size() ); + for ( AbstractModel each : cateOptCombos ) + { + dout.writeInt( each.getId() ); + dout.writeUTF( each.getName() ); + } + } + + } + } + bout.flush(); + bout.writeTo( out ); + } + } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultDataSetService.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultDataSetService.java 2010-11-04 09:49:46 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultDataSetService.java 2010-11-08 03:52:21 +0000 @@ -9,9 +9,12 @@ import java.util.Locale; import java.util.Set; +import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo; import org.hisp.dhis.dataelement.comparator.DataElementSortOrderComparator; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.user.CurrentUserService; +import org.hisp.dhis.web.api.model.AbstractModel; +import org.hisp.dhis.web.api.model.AbstractModelList; import org.hisp.dhis.web.api.model.DataElement; import org.hisp.dhis.web.api.model.DataSet; import org.hisp.dhis.web.api.model.Section; @@ -21,8 +24,8 @@ public class DefaultDataSetService implements IDataSetService { // ------------------------------------------------------------------------- - // Dependencies - // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- private DataElementSortOrderComparator dataElementComparator = new DataElementSortOrderComparator(); @Autowired @@ -32,21 +35,12 @@ private org.hisp.dhis.i18n.I18nService i18nService; @Autowired - private org.hisp.dhis.order.manager.DataElementOrderManager dataElementOrderManager ; - - @Autowired - private CurrentUserService currentUserService; + private CurrentUserService currentUserService; // ------------------------------------------------------------------------- - // MobileDataSetService - // ------------------------------------------------------------------------- - - - public void setDataElementOrderManager( - org.hisp.dhis.order.manager.DataElementOrderManager dataElementOrderManager) { - this.dataElementOrderManager = dataElementOrderManager; - } + // MobileDataSetService + // ------------------------------------------------------------------------- public List getAllMobileDataSetsForLocale(String localeString) { Collection units = currentUserService.getCurrentUser().getOrganisationUnits(); @@ -60,8 +54,6 @@ { return null; } - - List datasets = new ArrayList(); Locale locale = LocaleUtil.getLocale(localeString); @@ -104,6 +96,8 @@ List
sectionList = new ArrayList
(); ds.setSections(sectionList); + + if(sections.size() == 0 || sections == null){ // Collection dataElements = new ArrayList(); List dataElements = new ArrayList(dataSet.getDataElements()); @@ -122,12 +116,26 @@ for( org.hisp.dhis.dataelement.DataElement dataElement : dataElements ) { - dataElement = i18n( i18nService, locale, dataElement ); - + //Server DataElement + dataElement = i18n( i18nService, locale, dataElement ); + Set deCatOptCombs = dataElement.getCategoryCombo().getOptionCombos(); + //Client DataElement + AbstractModelList deCateOptCombo = new AbstractModelList(); + List listCateOptCombo = new ArrayList(); + deCateOptCombo.setAbstractModels( listCateOptCombo ); + + for(DataElementCategoryOptionCombo oneCatOptCombo : deCatOptCombs){ + AbstractModel oneCateOptCombo = new AbstractModel(); + oneCateOptCombo.setId( oneCatOptCombo.getId() ); + oneCateOptCombo.setName( oneCatOptCombo.getName() ); + listCateOptCombo.add( oneCateOptCombo ); + } + DataElement de = new DataElement(); de.setId( dataElement.getId() ); de.setName( dataElement.getName() ); de.setType( dataElement.getType() ); + de.setCategoryOptionCombos( deCateOptCombo ); dataElementList.add( de ); } }else{ @@ -144,12 +152,27 @@ for( org.hisp.dhis.dataelement.DataElement dataElement : dataElements ) { + //Server DataElement dataElement = i18n( i18nService, locale, dataElement ); + Set deCatOptCombs = dataElement.getCategoryCombo().getOptionCombos(); + //Client DataElement + AbstractModelList deCateOptCombo = new AbstractModelList(); + List listCateOptCombo = new ArrayList(); + deCateOptCombo.setAbstractModels( listCateOptCombo ); + + for(DataElementCategoryOptionCombo oneCatOptCombo : deCatOptCombs){ + AbstractModel oneCateOptCombo = new AbstractModel(); + oneCateOptCombo.setId( oneCatOptCombo.getId() ); + oneCateOptCombo.setName( oneCatOptCombo.getName() ); + listCateOptCombo.add( oneCateOptCombo ); + } + DataElement de = new DataElement(); de.setId( dataElement.getId() ); de.setName( dataElement.getName() ); de.setType( dataElement.getType() ); + de.setCategoryOptionCombos( deCateOptCombo ); dataElementList.add( de ); } sectionList.add(section);