=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/IdentifiableObjectManager.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/IdentifiableObjectManager.java 2012-04-03 10:24:37 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/IdentifiableObjectManager.java 2012-04-07 09:02:05 +0000 @@ -29,6 +29,7 @@ import org.hisp.dhis.common.IdentifiableObject.IdentifiableProperty; +import java.util.Collection; import java.util.Map; /** @@ -40,7 +41,9 @@ void update( IdentifiableObject object ); - void get( Class clazz, String uid ); + void get( Class clazz, String uid ); + + Collection getAll( Class clazz ); void delete( IdentifiableObject object ); === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constant.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constant.java 2012-04-06 21:31:51 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constant.java 2012-04-07 09:02:05 +0000 @@ -34,7 +34,6 @@ import org.hisp.dhis.common.BaseIdentifiableObject; import org.hisp.dhis.common.Dxf2Namespace; import org.hisp.dhis.common.IdentifiableObject; -import org.hisp.dhis.common.Mergeable; import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; === modified file 'dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultExportService.java' --- dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultExportService.java 2012-04-03 10:24:37 +0000 +++ dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultExportService.java 2012-04-07 09:02:05 +0000 @@ -27,41 +27,47 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import java.util.ArrayList; + import org.hisp.dhis.attribute.Attribute; -import org.hisp.dhis.attribute.AttributeService; import org.hisp.dhis.chart.Chart; -import org.hisp.dhis.chart.ChartService; +import org.hisp.dhis.common.IdentifiableObjectManager; import org.hisp.dhis.concept.Concept; -import org.hisp.dhis.concept.ConceptService; import org.hisp.dhis.constant.Constant; -import org.hisp.dhis.constant.ConstantService; import org.hisp.dhis.datadictionary.DataDictionary; -import org.hisp.dhis.datadictionary.DataDictionaryService; -import org.hisp.dhis.dataelement.*; +import org.hisp.dhis.dataelement.DataElement; +import org.hisp.dhis.dataelement.DataElementCategory; +import org.hisp.dhis.dataelement.DataElementCategoryCombo; +import org.hisp.dhis.dataelement.DataElementCategoryOption; +import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo; +import org.hisp.dhis.dataelement.DataElementGroup; +import org.hisp.dhis.dataelement.DataElementGroupSet; import org.hisp.dhis.dataset.DataSet; -import org.hisp.dhis.dataset.DataSetService; import org.hisp.dhis.document.Document; -import org.hisp.dhis.document.DocumentService; -import org.hisp.dhis.indicator.*; -import org.hisp.dhis.mapping.*; -import org.hisp.dhis.option.OptionService; +import org.hisp.dhis.indicator.Indicator; +import org.hisp.dhis.indicator.IndicatorGroup; +import org.hisp.dhis.indicator.IndicatorGroupSet; +import org.hisp.dhis.indicator.IndicatorType; +import org.hisp.dhis.mapping.MapLayer; +import org.hisp.dhis.mapping.MapLegend; +import org.hisp.dhis.mapping.MapLegendSet; +import org.hisp.dhis.mapping.MapView; import org.hisp.dhis.option.OptionSet; -import org.hisp.dhis.organisationunit.*; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.organisationunit.OrganisationUnitGroup; +import org.hisp.dhis.organisationunit.OrganisationUnitGroupSet; +import org.hisp.dhis.organisationunit.OrganisationUnitLevel; import org.hisp.dhis.report.Report; -import org.hisp.dhis.report.ReportService; import org.hisp.dhis.reporttable.ReportTable; -import org.hisp.dhis.reporttable.ReportTableService; import org.hisp.dhis.sqlview.SqlView; -import org.hisp.dhis.sqlview.SqlViewService; -import org.hisp.dhis.user.*; +import org.hisp.dhis.user.User; +import org.hisp.dhis.user.UserAuthorityGroup; +import org.hisp.dhis.user.UserGroup; import org.hisp.dhis.validation.ValidationRule; import org.hisp.dhis.validation.ValidationRuleGroup; -import org.hisp.dhis.validation.ValidationRuleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; - /** * @author Morten Olav Hansen */ @@ -70,249 +76,192 @@ implements ExportService { @Autowired - private AttributeService attributeService; - - @Autowired - private UserService userService; - - @Autowired - private UserGroupService userGroupService; - - @Autowired - private DataElementService dataElementService; - - @Autowired - private OptionService optionService; - - @Autowired - private ConceptService conceptService; - - @Autowired - private DataElementCategoryService dataElementCategoryService; - - @Autowired - private IndicatorService indicatorService; - - @Autowired - private OrganisationUnitService organisationUnitService; - - @Autowired - private OrganisationUnitGroupService organisationUnitGroupService; - - @Autowired - private DataSetService dataSetService; - - @Autowired - private ValidationRuleService validationRuleService; - - @Autowired - private SqlViewService sqlViewService; - - @Autowired - private ChartService chartService; - - @Autowired - private ReportService reportService; - - @Autowired - private ReportTableService reportTableService; - - @Autowired - private DocumentService documentService; - - @Autowired - private ConstantService constantService; - - @Autowired - private MappingService mappingService; - - @Autowired - private DataDictionaryService dataDictionaryService; + protected IdentifiableObjectManager manager; @Override public DXF2 getMetaData() { - return getMetaDataWithExportOptions( ExportOptions.getDefaultExportOptions() ); + return getMetaData( ExportOptions.getDefaultExportOptions() ); } @Override - public DXF2 getMetaDataWithExportOptions( ExportOptions exportOptions ) + public DXF2 getMetaData( ExportOptions exportOptions ) { DXF2 dxf2 = new DXF2(); if ( exportOptions.isAttributeTypes() ) { - dxf2.setAttributeTypes( new ArrayList( attributeService.getAllAttributes() ) ); + dxf2.setAttributeTypes( new ArrayList( manager.getAll( Attribute.class ) ) ); } if ( exportOptions.isUsers() ) { - dxf2.setUsers( new ArrayList( userService.getAllUsers() ) ); + dxf2.setUsers( new ArrayList( manager.getAll( User.class ) ) ); } if ( exportOptions.isUserAuthorityGroups() ) { - dxf2.setUserAuthorityGroups( new ArrayList( userService.getAllUserAuthorityGroups() ) ); + dxf2.setUserAuthorityGroups( new ArrayList( manager.getAll( UserAuthorityGroup.class ) ) ); } if ( exportOptions.isUserGroups() ) { - dxf2.setUserGroups( new ArrayList( userGroupService.getAllUserGroups() ) ); + dxf2.setUserGroups( new ArrayList( manager.getAll( UserGroup.class ) ) ); } if ( exportOptions.isConstants() ) { - dxf2.setConstants( new ArrayList( constantService.getAllConstants() ) ); + dxf2.setConstants( new ArrayList( manager.getAll( Constant.class ) ) ); } if ( exportOptions.isConcepts() ) { - dxf2.setConcepts( new ArrayList( conceptService.getAllConcepts() ) ); + dxf2.setConcepts( new ArrayList( manager.getAll( Concept.class ) ) ); } if ( exportOptions.isDataElements() ) { - dxf2.setDataElements( new ArrayList( dataElementService.getAllDataElements() ) ); + dxf2.setDataElements( new ArrayList( manager.getAll( DataElement.class ) ) ); } if ( exportOptions.isOptionSets() ) { - dxf2.setOptionSets( new ArrayList( optionService.getAllOptionSets() ) ); + dxf2.setOptionSets( new ArrayList( manager.getAll( OptionSet.class ) ) ); } if ( exportOptions.isDataElementGroups() ) { - dxf2.setDataElementGroups( new ArrayList( dataElementService.getAllDataElementGroups() ) ); + dxf2.setDataElementGroups( new ArrayList( manager.getAll( DataElementGroup.class ) ) ); } if ( exportOptions.isDataElementGroupSets() ) { - dxf2.setDataElementGroupSets( new ArrayList( dataElementService.getAllDataElementGroupSets() ) ); + dxf2.setDataElementGroupSets( new ArrayList( manager.getAll( DataElementGroupSet.class ) ) ); } if ( exportOptions.isCategories() ) { - dxf2.setCategories( new ArrayList( dataElementCategoryService.getAllDataElementCategories() ) ); + dxf2.setCategories( new ArrayList( manager.getAll( DataElementCategory.class ) ) ); } if ( exportOptions.isCategoryOptions() ) { - dxf2.setCategoryOptions( new ArrayList( dataElementCategoryService.getAllDataElementCategoryOptions() ) ); + dxf2.setCategoryOptions( new ArrayList( manager.getAll( DataElementCategoryOption.class ) ) ); } if ( exportOptions.isCategoryCombos() ) { - dxf2.setCategoryCombos( new ArrayList( dataElementCategoryService.getAllDataElementCategoryCombos() ) ); + dxf2.setCategoryCombos( new ArrayList( manager.getAll( DataElementCategoryCombo.class ) ) ); } if ( exportOptions.isCategoryOptionCombos() ) { - dxf2.setCategoryOptionCombos( new ArrayList( dataElementCategoryService.getAllDataElementCategoryOptionCombos() ) ); + dxf2.setCategoryOptionCombos( new ArrayList( manager.getAll( DataElementCategoryOptionCombo.class ) ) ); } if ( exportOptions.isIndicators() ) { - dxf2.setIndicators( new ArrayList( indicatorService.getAllIndicators() ) ); + dxf2.setIndicators( new ArrayList( manager.getAll( Indicator.class ) ) ); } if ( exportOptions.isIndicatorGroups() ) { - dxf2.setIndicatorGroups( new ArrayList( indicatorService.getAllIndicatorGroups() ) ); + dxf2.setIndicatorGroups( new ArrayList( manager.getAll( IndicatorGroup.class ) ) ); } if ( exportOptions.isIndicatorGroupSets() ) { - dxf2.setIndicatorGroupSets( new ArrayList( indicatorService.getAllIndicatorGroupSets() ) ); + dxf2.setIndicatorGroupSets( new ArrayList( manager.getAll( IndicatorGroupSet.class ) ) ); } if ( exportOptions.isIndicatorTypes() ) { - dxf2.setIndicatorTypes( new ArrayList( indicatorService.getAllIndicatorTypes() ) ); + dxf2.setIndicatorTypes( new ArrayList( manager.getAll( IndicatorType.class ) ) ); } if ( exportOptions.isOrganisationUnits() ) { - dxf2.setOrganisationUnits( new ArrayList( organisationUnitService.getAllOrganisationUnits() ) ); + dxf2.setOrganisationUnits( new ArrayList( manager.getAll( OrganisationUnit.class ) ) ); } if ( exportOptions.isOrganisationUnitLevels() ) { - dxf2.setOrganisationUnitLevels( new ArrayList( organisationUnitService.getOrganisationUnitLevels() ) ); + dxf2.setOrganisationUnitLevels( new ArrayList( manager.getAll( OrganisationUnitLevel.class ) ) ); } if ( exportOptions.isOrganisationUnitGroups() ) { - dxf2.setOrganisationUnitGroups( new ArrayList( organisationUnitGroupService.getAllOrganisationUnitGroups() ) ); + dxf2.setOrganisationUnitGroups( new ArrayList( manager.getAll( OrganisationUnitGroup.class ) ) ); } if ( exportOptions.isOrganisationUnitGroupSets() ) { - dxf2.setOrganisationUnitGroupSets( new ArrayList( organisationUnitGroupService.getAllOrganisationUnitGroupSets() ) ); + dxf2.setOrganisationUnitGroupSets( new ArrayList( manager.getAll( OrganisationUnitGroupSet.class ) ) ); } if ( exportOptions.isDataSets() ) { - dxf2.setDataSets( new ArrayList( dataSetService.getAllDataSets() ) ); + dxf2.setDataSets( new ArrayList( manager.getAll( DataSet.class ) ) ); } if ( exportOptions.isValidationRules() ) { - dxf2.setValidationRules( new ArrayList( validationRuleService.getAllValidationRules() ) ); + dxf2.setValidationRules( new ArrayList( manager.getAll( ValidationRule.class ) ) ); } if ( exportOptions.isValidationRuleGroups() ) { - dxf2.setValidationRuleGroups( new ArrayList( validationRuleService.getAllValidationRuleGroups() ) ); + dxf2.setValidationRuleGroups( new ArrayList( manager.getAll( ValidationRuleGroup.class ) ) ); } if ( exportOptions.isSqlViews() ) { - dxf2.setSqlViews( new ArrayList( sqlViewService.getAllSqlViews() ) ); + dxf2.setSqlViews( new ArrayList( manager.getAll( SqlView.class ) ) ); } if ( exportOptions.isDocuments() ) { - dxf2.setDocuments( new ArrayList( documentService.getAllDocuments() ) ); + dxf2.setDocuments( new ArrayList( manager.getAll( Document.class ) ) ); } if ( exportOptions.isReportTables() ) { - dxf2.setReportTables( new ArrayList( reportTableService.getAllReportTables() ) ); + dxf2.setReportTables( new ArrayList( manager.getAll( ReportTable.class ) ) ); } if ( exportOptions.isReports() ) { - dxf2.setReports( new ArrayList( reportService.getAllReports() ) ); + dxf2.setReports( new ArrayList( manager.getAll( Report.class ) ) ); } if ( exportOptions.isCharts() ) { - dxf2.setCharts( new ArrayList( chartService.getAllCharts() ) ); + dxf2.setCharts( new ArrayList( manager.getAll( Chart.class ) ) ); } if ( exportOptions.isMaps() ) { - dxf2.setMaps( new ArrayList( mappingService.getAllMapViews() ) ); + dxf2.setMaps( new ArrayList( manager.getAll( MapView.class ) ) ); } if ( exportOptions.isMapLegends() ) { - dxf2.setMapLegends( new ArrayList( mappingService.getAllMapLegends() ) ); + dxf2.setMapLegends( new ArrayList( manager.getAll( MapLegend.class ) ) ); } if ( exportOptions.isMapLegendSets() ) { - dxf2.setMapLegendSets( new ArrayList( mappingService.getAllMapLegendSets() ) ); + dxf2.setMapLegendSets( new ArrayList( manager.getAll( MapLegendSet.class ) ) ); } if ( exportOptions.isMapLayers() ) { - dxf2.setMapLayers( new ArrayList( mappingService.getAllMapLayers() ) ); + dxf2.setMapLayers( new ArrayList( manager.getAll( MapLayer.class ) ) ); } if ( exportOptions.isDataDictionaries() ) { - dxf2.setDataDictionaries( new ArrayList( dataDictionaryService.getAllDataDictionaries() ) ); + dxf2.setDataDictionaries( new ArrayList( manager.getAll( DataDictionary.class ) ) ); } return dxf2; === modified file 'dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/ExportService.java' --- dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/ExportService.java 2012-04-01 12:24:57 +0000 +++ dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/ExportService.java 2012-04-07 09:02:05 +0000 @@ -34,5 +34,5 @@ { DXF2 getMetaData(); - DXF2 getMetaDataWithExportOptions( ExportOptions options ); + DXF2 getMetaData( ExportOptions options ); } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/common/DefaultIdentifiableObjectManager.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/common/DefaultIdentifiableObjectManager.java 2012-04-07 08:07:14 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/common/DefaultIdentifiableObjectManager.java 2012-04-07 09:02:05 +0000 @@ -27,16 +27,16 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.PostConstruct; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; -import static org.hisp.dhis.common.IdentifiableObject.IdentifiableProperty; +import javax.annotation.PostConstruct; + +import org.hisp.dhis.common.IdentifiableObject.IdentifiableProperty; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; /** * @author Lars Helge Overland @@ -76,10 +76,16 @@ objectStoreMap.get( object.getClass() ).update( object ); } - public void get( Class clazz, String uid ) + public void get( Class clazz, String uid ) { objectStoreMap.get( clazz ).getByUid( uid ); } + + @SuppressWarnings("unchecked") + public Collection getAll( Class clazz ) + { + return (Collection) objectStoreMap.get( clazz ).getAll(); + } public void delete( IdentifiableObject object ) { @@ -99,8 +105,6 @@ { if ( IdentifiableProperty.ID.equals( property ) ) { - // since we are using primitives for ID, check that the ID is larger than 0, so that it is a valid - // hibernate identifier. if ( object.getId() > 0 ) { map.put( String.valueOf( object.getId() ), object );