dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #03243
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 1080: Introduced an Enum for the Dimension types.
------------------------------------------------------------
revno: 1080
committer: Lars Helge Oeverland larshelge@xxxxxxxxx
branch nick: trunk
timestamp: Mon 2009-11-23 12:40:23 +0100
message:
Introduced an Enum for the Dimension types.
added:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/DimensionType.java
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryCombo.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/BasicDimensionSet.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/DimensionSet.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dimension/DefaultDimensionService.java
dhis-2/dhis-services/dhis-service-reporting/src/main/resources/org/hisp/dhis/reporttable/hibernate/ReportTable.hbm.xml
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription.
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryCombo.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryCombo.java 2009-11-16 10:32:46 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryCombo.java 2009-11-23 11:40:23 +0000
@@ -36,6 +36,7 @@
import org.hisp.dhis.dimension.Dimension;
import org.hisp.dhis.dimension.DimensionOptionElement;
import org.hisp.dhis.dimension.DimensionSet;
+import org.hisp.dhis.dimension.DimensionType;
/**
* @author Abyot Aselefew
@@ -72,17 +73,12 @@
public String getDimensionSetId()
{
- return TYPE_CATEGORY_COMBO + SEPARATOR_TYPE + id;
- }
-
- public String getDimensionSetType()
- {
- return TYPE_CATEGORY_COMBO;
- }
-
- public boolean isDimensionSetType( String type )
- {
- return TYPE_CATEGORY_COMBO.equals( type );
+ return DimensionType.CATEGORY.name() + SEPARATOR_TYPE + id;
+ }
+
+ public DimensionType getDimensionType()
+ {
+ return DimensionType.CATEGORY;
}
public List<? extends Dimension> getDimensions()
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/BasicDimensionSet.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/BasicDimensionSet.java 2009-11-16 12:30:59 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/BasicDimensionSet.java 2009-11-23 11:40:23 +0000
@@ -54,7 +54,7 @@
public String getDimensionSetId()
{
- StringBuffer identifier = new StringBuffer( TYPE_GROUP_SET + SEPARATOR_TYPE );
+ StringBuffer identifier = new StringBuffer( DimensionType.GROUPSET.name() + SEPARATOR_TYPE );
Iterator<? extends Dimension> iterator = getDimensions().iterator();
@@ -71,14 +71,9 @@
return identifier.toString();
}
- public String getDimensionSetType()
- {
- return getDimensionSetId().split( SEPARATOR_TYPE )[0];
- }
-
- public boolean isDimensionSetType( String type )
- {
- return getDimensionSetType() != null ? getDimensionSetType().equals( type ) : false;
+ public DimensionType getDimensionType()
+ {
+ return DimensionType.valueOf( getDimensionSetId().split( SEPARATOR_TYPE )[0] );
}
public List<? extends Dimension> getDimensions()
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/DimensionSet.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/DimensionSet.java 2009-11-16 10:32:46 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/DimensionSet.java 2009-11-23 11:40:23 +0000
@@ -34,8 +34,6 @@
*/
public interface DimensionSet
{
- final String TYPE_CATEGORY_COMBO = "categoryCombo";
- final String TYPE_GROUP_SET = "groupSet";
final String SEPARATOR_TYPE = "_";
final String SEPARATOR_ID = "-";
final String SEPARATOR_NAME = ", ";
@@ -44,14 +42,12 @@
/**
* The DimensionSet identifier is on the format
- * [type]SEPARATOR_TYPE[id]SEPARATOR_ID[id]SEPARATOR[id], for instance
+ * [DimensionType]SEPARATOR_TYPE[id]SEPARATOR_ID[id]SEPARATOR[id], for instance
* groupSet_1-2-3 and categoryCombo_1 .
*/
String getDimensionSetId();
- String getDimensionSetType();
-
- boolean isDimensionSetType( String type );
+ DimensionType getDimensionType();
List<? extends Dimension> getDimensions();
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/DimensionType.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/DimensionType.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dimension/DimensionType.java 2009-11-23 11:40:23 +0000
@@ -0,0 +1,37 @@
+package org.hisp.dhis.dimension;
+
+/*
+ * Copyright (c) 2004-2007, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * @author Lars Helge Overland
+ */
+public enum DimensionType
+{
+ CATEGORY,
+ GROUPSET
+}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java 2009-11-21 16:57:39 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java 2009-11-23 11:40:23 +0000
@@ -27,9 +27,6 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import static org.hisp.dhis.dimension.DimensionSet.TYPE_CATEGORY_COMBO;
-import static org.hisp.dhis.dimension.DimensionSet.TYPE_GROUP_SET;
-
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
@@ -45,6 +42,7 @@
import org.hisp.dhis.dimension.DimensionOption;
import org.hisp.dhis.dimension.DimensionOptionElement;
import org.hisp.dhis.dimension.DimensionSet;
+import org.hisp.dhis.dimension.DimensionType;
import org.hisp.dhis.i18n.I18nFormat;
import org.hisp.dhis.indicator.Indicator;
import org.hisp.dhis.organisationunit.OrganisationUnit;
@@ -114,7 +112,7 @@
private List<OrganisationUnit> units = new ArrayList<OrganisationUnit>();
- private String dimensionSetType;
+ private DimensionType dimensionType;
private DimensionSet categoryCombo;
@@ -377,7 +375,7 @@
// Init dimensional lists
// ---------------------------------------------------------------------
- if ( isDimensional() && dimensionSetType.equals( TYPE_CATEGORY_COMBO ) )
+ if ( isDimensional() && dimensionType.equals( DimensionType.CATEGORY ) )
{
// -----------------------------------------------------------------
// CategoryCombo is set, populate CategoryOptionCombos
@@ -385,7 +383,7 @@
categoryOptionCombos = categoryCombo.getDimensionOptionElements();
}
- else if ( isDimensional() && dimensionSetType.equals( DimensionSet.TYPE_GROUP_SET ) )
+ else if ( isDimensional() && dimensionType.equals( DimensionType.GROUPSET ) )
{
// -----------------------------------------------------------------
// All DataElements have GroupSets, populate DataElements
@@ -515,7 +513,7 @@
if ( doTotal() )
{
- List<? extends Dimension> dimensions = isDimensional( TYPE_CATEGORY_COMBO ) ? categoryCombo.getDimensions() : dataElementGroupSets;
+ List<? extends Dimension> dimensions = isDimensional( DimensionType.CATEGORY ) ? categoryCombo.getDimensions() : dataElementGroupSets;
for ( Dimension dimension : dimensions )
{
@@ -540,9 +538,9 @@
{
if ( dimensionSet != null )
{
- this.dimensionSetType = dimensionSet.getDimensionSetType();
- this.categoryCombo = dimensionSet.isDimensionSetType( TYPE_CATEGORY_COMBO ) ? dimensionSet : null;
- this.dataElementGroupSets = dimensionSet.isDimensionSetType( TYPE_GROUP_SET ) ? dimensionSet.getDimensions() : null;
+ this.dimensionType = dimensionSet.getDimensionType();
+ this.categoryCombo = dimensionType.equals( DimensionType.CATEGORY ) ? dimensionSet : null;
+ this.dataElementGroupSets = dimensionType.equals( DimensionType.GROUPSET ) ? dimensionSet.getDimensions() : null;
}
}
@@ -679,16 +677,16 @@
*/
public boolean isDimensional()
{
- return dimensionSetType != null;
+ return dimensionType != null;
}
/**
* Tests whether this ReportTable is multi-dimensional and of the argument
* dimension set type.
*/
- public boolean isDimensional( String dimensionSetType )
+ public boolean isDimensional( DimensionType dimensionType )
{
- return isDimensional() && dimensionSetType.equals( dimensionSetType );
+ return isDimensional() && this.dimensionType.equals( dimensionType );
}
/**
@@ -697,7 +695,7 @@
public boolean doTotal()
{
return !isDoIndicators() && !isDoPeriods() && !isDoUnits() && isDoCategoryOptionCombos() &&
- isDimensional( DimensionSet.TYPE_CATEGORY_COMBO ) && mode.equals( MODE_DATAELEMENTS );
+ isDimensional( DimensionType.CATEGORY ) && mode.equals( MODE_DATAELEMENTS );
}
// -------------------------------------------------------------------------
@@ -1086,14 +1084,14 @@
this.units = units;
}
- public String getDimensionSetType()
+ public DimensionType getDimensionType()
{
- return dimensionSetType;
+ return dimensionType;
}
- public void setDimensionSetType( String dimensionSetType )
+ public void setDimensionType( DimensionType dimensionType )
{
- this.dimensionSetType = dimensionSetType;
+ this.dimensionType = dimensionType;
}
public DimensionSet getCategoryCombo()
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dimension/DefaultDimensionService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dimension/DefaultDimensionService.java 2009-11-19 11:04:10 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dimension/DefaultDimensionService.java 2009-11-23 11:40:23 +0000
@@ -27,8 +27,6 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import static org.hisp.dhis.dimension.DimensionSet.TYPE_CATEGORY_COMBO;
-
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
@@ -42,6 +40,8 @@
import org.hisp.dhis.dataelement.DataElementService;
import org.hisp.dhis.system.util.ConversionUtils;
+import static org.hisp.dhis.dimension.DimensionType.*;
+
/**
* @author Lars Helge Overland
* @version $Id: Indicator.java 5540 2008-08-19 10:47:07Z larshelg $
@@ -106,28 +106,26 @@
public Collection<DataElement> getDataElements( DimensionSet dimensionSet )
{
- if ( dimensionSet == null )
- {
- return null;
- }
+ Collection<DataElement> dataElements = null;
- if ( dimensionSet.getDimensionSetType().equals( TYPE_CATEGORY_COMBO ) )
+ if ( dimensionSet != null && dimensionSet.getDimensionType().equals( CATEGORY ) )
{
Integer id = getDimensionSetIdentifiers( dimensionSet.getDimensionSetId() )[0];
DataElementCategoryCombo categoryCombo = categoryService.getDataElementCategoryCombo( id );
- return dataElementService.getDataElementByCategoryCombo( categoryCombo );
- }
-
- // TYPE_GROUP_SET
-
- Integer[] ids = getDimensionSetIdentifiers( dimensionSet.getDimensionSetId() );
-
- Set<DataElementGroupSet> groupSets = getDataElementDimensionSet( ids );
-
- return dataElementService.getDataElementsByGroupSets( groupSets );
-
+ dataElements = dataElementService.getDataElementByCategoryCombo( categoryCombo );
+ }
+ else if ( dimensionSet != null && dimensionSet.getDimensionType().equals( GROUPSET ) )
+ {
+ Integer[] ids = getDimensionSetIdentifiers( dimensionSet.getDimensionSetId() );
+
+ Set<DataElementGroupSet> groupSets = getDataElementDimensionSet( ids );
+
+ dataElements = dataElementService.getDataElementsByGroupSets( groupSets );
+ }
+
+ return dataElements;
}
// -------------------------------------------------------------------------
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/resources/org/hisp/dhis/reporttable/hibernate/ReportTable.hbm.xml'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/resources/org/hisp/dhis/reporttable/hibernate/ReportTable.hbm.xml 2009-11-16 10:32:46 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/resources/org/hisp/dhis/reporttable/hibernate/ReportTable.hbm.xml 2009-11-23 11:40:23 +0000
@@ -45,7 +45,7 @@
class="org.hisp.dhis.dataset.DataSet"/>
</list>
- <property name="dimensionSetType"/>
+ <property name="dimensionType"/>
<many-to-one name="categoryCombo" class="org.hisp.dhis.dataelement.DataElementCategoryCombo"
column="categorycomboid" foreign-key="fk_reporttable_categorycombo"/>