dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #28138
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 14028: web-api controllers for categoryOptionGroup, categoryOptionGroupSet
------------------------------------------------------------
revno: 14028
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2014-02-14 20:54:21 +0700
message:
web-api controllers for categoryOptionGroup, categoryOptionGroupSet
added:
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/CategoryOptionGroupController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/CategoryOptionGroupSetController.java
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroup.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSet.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElement.java
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/ExchangeClasses.java
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/MetaData.java
--
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/CategoryOptionGroup.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroup.java 2014-02-13 14:24:59 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroup.java 2014-02-14 13:54:21 +0000
@@ -28,19 +28,27 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import java.util.HashSet;
-import java.util.Set;
-
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonView;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.BaseNameableObject;
import org.hisp.dhis.common.DxfNamespaces;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.annotation.Scanned;
+import org.hisp.dhis.common.view.DetailedView;
+import org.hisp.dhis.common.view.ExportView;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+import java.util.HashSet;
+import java.util.Set;
/**
* @author Lars Helge Overland
*/
-@JacksonXmlRootElement( localName = "categoryOptionGroup", namespace = DxfNamespaces.DXF_2_0 )
+@JacksonXmlRootElement(localName = "categoryOptionGroup", namespace = DxfNamespaces.DXF_2_0)
public class CategoryOptionGroup
extends BaseNameableObject
{
@@ -66,6 +74,11 @@
// Getters and setters
// -------------------------------------------------------------------------
+ @JsonProperty( value = "categoryOptions" )
+ @JsonSerialize( contentAs = BaseIdentifiableObject.class )
+ @JsonView( { DetailedView.class, ExportView.class } )
+ @JacksonXmlElementWrapper( localName = "categoryOptions", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "categoryOption", namespace = DxfNamespaces.DXF_2_0 )
public Set<DataElementCategoryOption> getMembers()
{
return members;
@@ -76,6 +89,10 @@
this.members = members;
}
+ @JsonProperty( "categoryOptionGroupSet" )
+ @JsonSerialize( as = BaseIdentifiableObject.class )
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlProperty( localName = "categoryOptionGroupSet", namespace = DxfNamespaces.DXF_2_0 )
public CategoryOptionGroupSet getGroupSet()
{
return groupSet;
@@ -100,4 +117,21 @@
members.remove( categoryOption );
}
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ CategoryOptionGroup categoryOptionGroup = (CategoryOptionGroup) other;
+
+ members.clear();
+
+ for ( DataElementCategoryOption categoryOption : categoryOptionGroup.getMembers() )
+ {
+ addCategoryOption( categoryOption );
+ }
+ }
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSet.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSet.java 2014-02-13 12:09:31 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/CategoryOptionGroupSet.java 2014-02-14 13:54:21 +0000
@@ -28,16 +28,24 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonView;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.apache.commons.collections.CollectionUtils;
import org.hisp.dhis.common.BaseDimensionalObject;
+import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.DxfNamespaces;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.annotation.Scanned;
+import org.hisp.dhis.common.view.DetailedView;
+import org.hisp.dhis.common.view.ExportView;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
/**
* @author Lars Helge Overland
@@ -90,6 +98,11 @@
// Getters and setters
// -------------------------------------------------------------------------
+ @JsonProperty( value = "categoryOptionGroups" )
+ @JsonSerialize( contentAs = BaseIdentifiableObject.class )
+ @JsonView( { DetailedView.class, ExportView.class } )
+ @JacksonXmlElementWrapper( localName = "categoryOptionGroups", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "categoryOptionGroup", namespace = DxfNamespaces.DXF_2_0 )
public List<CategoryOptionGroup> getMembers()
{
return members;
@@ -100,6 +113,9 @@
this.members = members;
}
+ @JsonProperty
+ @JsonView( { DetailedView.class, ExportView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public boolean isDataDimension()
{
return dataDimension;
@@ -123,4 +139,23 @@
{
members.remove( categoryOptionGroup );
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ CategoryOptionGroupSet categoryOptionGroupSet = (CategoryOptionGroupSet) other;
+ dataDimension = categoryOptionGroupSet.isDataDimension();
+
+ members.clear();
+
+ for ( CategoryOptionGroup categoryOptionGroup : categoryOptionGroupSet.getMembers() )
+ {
+ addCategoryOptionGroup( categoryOptionGroup );
+ }
+ }
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElement.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElement.java 2014-02-03 04:18:08 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElement.java 2014-02-14 13:54:21 +0000
@@ -28,13 +28,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import static org.hisp.dhis.dataset.DataSet.NO_EXPIRY;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonView;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.attribute.AttributeValue;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.BaseNameableObject;
@@ -48,12 +47,12 @@
import org.hisp.dhis.period.PeriodType;
import org.hisp.dhis.period.YearlyPeriodType;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonView;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import static org.hisp.dhis.dataset.DataSet.NO_EXPIRY;
/**
* A DataElement is a definition (meta-information about) of the entities that
@@ -67,10 +66,10 @@
* <p/>
* DataElement acts as a DimensionSet in the dynamic dimensional model, and as a
* DimensionOption in the static DataElement dimension.
- *
+ *
* @author Kristian Nordal
*/
-@JacksonXmlRootElement( localName = "dataElement", namespace = DxfNamespaces.DXF_2_0)
+@JacksonXmlRootElement( localName = "dataElement", namespace = DxfNamespaces.DXF_2_0 )
public class DataElement
extends BaseNameableObject
{
@@ -83,7 +82,7 @@
public static final String VALUE_TYPE_STRING = "string";
public static final String VALUE_TYPE_INT = "int";
- public static final String VALUE_TYPE_NUMBER = "number";
+ public static final String VALUE_TYPE_NUMBER = "number";
public static final String VALUE_TYPE_USER_NAME = "username";
public static final String VALUE_TYPE_BOOL = "bool";
public static final String VALUE_TYPE_TRUE_ONLY = "trueOnly";
@@ -107,12 +106,12 @@
* The name to appear in forms.
*/
private String formName;
-
+
/**
* The i18n variant of the display name. Should not be persisted.
*/
protected transient String displayFormName;
-
+
/**
* If this DataElement is active or not (enabled or disabled).
*/
@@ -191,17 +190,17 @@
* The option set for data values linked to this data element.
*/
private OptionSet optionSet;
-
+
/**
* The option set for comments linked to this data element.
*/
private OptionSet commentOptionSet;
-
+
/**
* The legend set for this data element.
*/
private MapLegendSet legendSet;
-
+
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
@@ -266,14 +265,14 @@
{
return VALUE_TYPE_INT.equals( type );
}
-
+
/**
* Returns the value type. If value type is int and the number type exists,
* the number type is returned, otherwise the type is returned.
*/
public String getDetailedNumberType()
{
- return ( type != null && type.equals( VALUE_TYPE_INT ) && numberType != null) ? numberType : type;
+ return (type != null && type.equals( VALUE_TYPE_INT ) && numberType != null) ? numberType : type;
}
/**
@@ -283,10 +282,11 @@
*/
public String getDetailedTextType()
{
- return ( type != null && type.equals( VALUE_TYPE_STRING ) && textType != null) ? textType : type;
+ return (type != null && type.equals( VALUE_TYPE_STRING ) && textType != null) ? textType : type;
}
-
- /** Returns whether aggregation should be skipped for this data element, based
+
+ /**
+ * Returns whether aggregation should be skipped for this data element, based
* on the setting of the data set which this data element is a members of,
* if any.
*/
@@ -294,7 +294,7 @@
{
return dataSets != null && dataSets.size() > 0 && dataSets.iterator().next().isSkipAggregation();
}
-
+
/**
* Returns the PeriodType of the DataElement, based on the PeriodType of the
* DataSet which the DataElement is registered for.
@@ -386,10 +386,10 @@
{
return formName != null && !formName.isEmpty() ? getDisplayFormName() : getDisplayName();
}
-
+
public String getDisplayFormName()
{
- return ( displayFormName != null && !displayFormName.trim().isEmpty() ) ? displayFormName : formName;
+ return (displayFormName != null && !displayFormName.trim().isEmpty()) ? displayFormName : formName;
}
public void setDisplayFormName( String displayFormName )
@@ -415,29 +415,29 @@
return expiryDays == Integer.MAX_VALUE ? NO_EXPIRY : expiryDays;
}
-
+
public boolean hasDescription()
{
return description != null && !description.trim().isEmpty();
}
-
+
public boolean hasUrl()
{
return url != null && !url.trim().isEmpty();
}
-
+
public boolean hasOptionSet()
{
return optionSet != null;
}
-
+
// -------------------------------------------------------------------------
// Getters and setters
// -------------------------------------------------------------------------
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public String getFormName()
{
return formName;
@@ -450,7 +450,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public boolean isActive()
{
return active;
@@ -463,7 +463,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public String getDomainType()
{
return domainType;
@@ -476,7 +476,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public String getTextType()
{
return textType;
@@ -489,7 +489,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public String getType()
{
return type;
@@ -502,7 +502,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public String getAggregationOperator()
{
return aggregationOperator;
@@ -516,7 +516,7 @@
@JsonProperty
@JsonSerialize( as = BaseIdentifiableObject.class )
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public DataElementCategoryCombo getCategoryCombo()
{
return categoryCombo;
@@ -539,7 +539,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public String getUrl()
{
return url;
@@ -553,8 +553,8 @@
@JsonProperty( value = "dataElementGroups" )
@JsonSerialize( contentAs = BaseIdentifiableObject.class )
@JsonView( { DetailedView.class } )
- @JacksonXmlElementWrapper( localName = "dataElementGroups", namespace = DxfNamespaces.DXF_2_0)
- @JacksonXmlProperty( localName = "dataElementGroup", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlElementWrapper( localName = "dataElementGroups", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "dataElementGroup", namespace = DxfNamespaces.DXF_2_0 )
public Set<DataElementGroup> getGroups()
{
return groups;
@@ -568,8 +568,8 @@
@JsonProperty
@JsonSerialize( contentAs = BaseIdentifiableObject.class )
@JsonView( { DetailedView.class } )
- @JacksonXmlElementWrapper( localName = "dataSets", namespace = DxfNamespaces.DXF_2_0)
- @JacksonXmlProperty( localName = "dataSet", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlElementWrapper( localName = "dataSets", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "dataSet", namespace = DxfNamespaces.DXF_2_0 )
public Set<DataSet> getDataSets()
{
return dataSets;
@@ -582,7 +582,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public List<Integer> getAggregationLevels()
{
return aggregationLevels;
@@ -595,7 +595,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public boolean isZeroIsSignificant()
{
return zeroIsSignificant;
@@ -608,7 +608,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public String getNumberType()
{
return numberType;
@@ -621,8 +621,8 @@
@JsonProperty( value = "attributeValues" )
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlElementWrapper( localName = "attributeValues", namespace = DxfNamespaces.DXF_2_0)
- @JacksonXmlProperty( localName = "attributeValue", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlElementWrapper( localName = "attributeValues", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "attributeValue", namespace = DxfNamespaces.DXF_2_0 )
public Set<AttributeValue> getAttributeValues()
{
return attributeValues;
@@ -635,7 +635,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public OptionSet getOptionSet()
{
return optionSet;
@@ -648,7 +648,7 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public OptionSet getCommentOptionSet()
{
return commentOptionSet;
@@ -661,14 +661,14 @@
@JsonProperty
@JsonSerialize( as = BaseIdentifiableObject.class )
- @JsonView( {DetailedView.class, ExportView.class} )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0)
- public MapLegendSet getLegendSet()
+ @JsonView( { DetailedView.class, ExportView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ public MapLegendSet getLegendSet()
{
- return legendSet;
+ return legendSet;
}
- public void setLegendSet( MapLegendSet legendSet )
+ public void setLegendSet( MapLegendSet legendSet )
{
this.legendSet = legendSet;
}
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/ExchangeClasses.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/ExchangeClasses.java 2014-02-07 20:25:49 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/ExchangeClasses.java 2014-02-14 13:54:21 +0000
@@ -42,6 +42,8 @@
import org.hisp.dhis.constant.Constant;
import org.hisp.dhis.dashboard.Dashboard;
import org.hisp.dhis.datadictionary.DataDictionary;
+import org.hisp.dhis.dataelement.CategoryOptionGroup;
+import org.hisp.dhis.dataelement.CategoryOptionGroupSet;
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.dataelement.DataElementCategory;
import org.hisp.dhis.dataelement.DataElementCategoryCombo;
@@ -121,6 +123,8 @@
allExportClasses.put( OrganisationUnitGroupSet.class, "organisationUnitGroupSets" );
allExportClasses.put( DataElementCategoryOption.class, "categoryOptions" );
+ allExportClasses.put( CategoryOptionGroup.class, "categoryOptionGroups" );
+ allExportClasses.put( CategoryOptionGroupSet.class, "categoryOptionGroupSets" );
allExportClasses.put( DataElementCategory.class, "categories" );
allExportClasses.put( DataElementCategoryCombo.class, "categoryCombos" );
allExportClasses.put( DataElementCategoryOptionCombo.class, "categoryOptionCombos" );
@@ -197,6 +201,10 @@
// special class which is created on demand in association with other objects
exportClasses.remove( DataElementOperand.class );
importClasses.remove( DataElementOperand.class );
+ exportClasses.remove( CategoryOptionGroup.class );
+ importClasses.remove( CategoryOptionGroup.class );
+ exportClasses.remove( CategoryOptionGroupSet.class );
+ importClasses.remove( CategoryOptionGroupSet.class );
allExportClasses.put( MetaDataFilter.class, "metaDataFilters" );
exportClasses.remove( MetaDataFilter.class );
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/MetaData.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/MetaData.java 2014-02-07 20:25:49 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/MetaData.java 2014-02-14 13:54:21 +0000
@@ -28,10 +28,10 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.attribute.Attribute;
import org.hisp.dhis.chart.Chart;
import org.hisp.dhis.common.DimensionalObject;
@@ -40,6 +40,8 @@
import org.hisp.dhis.constant.Constant;
import org.hisp.dhis.dashboard.Dashboard;
import org.hisp.dhis.datadictionary.DataDictionary;
+import org.hisp.dhis.dataelement.CategoryOptionGroup;
+import org.hisp.dhis.dataelement.CategoryOptionGroupSet;
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.dataelement.DataElementCategory;
import org.hisp.dhis.dataelement.DataElementCategoryCombo;
@@ -82,10 +84,9 @@
import org.hisp.dhis.validation.ValidationRule;
import org.hisp.dhis.validation.ValidationRuleGroup;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
/**
* @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
@@ -123,6 +124,10 @@
private List<DataElementCategoryOptionCombo> categoryOptionCombos = new ArrayList<DataElementCategoryOptionCombo>();
+ private List<CategoryOptionGroup> categoryOptionGroups = new ArrayList<CategoryOptionGroup>();
+
+ private List<CategoryOptionGroupSet> categoryOptionGroupSets = new ArrayList<CategoryOptionGroupSet>();
+
private List<DataElementOperand> dataElementOperands = new ArrayList<DataElementOperand>();
private List<Dashboard> dashboards = new ArrayList<Dashboard>();
@@ -403,6 +408,32 @@
}
@JsonProperty
+ @JacksonXmlElementWrapper(localName = "categoryOptionGroups", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty(localName = "categoryOptionGroup", namespace = DxfNamespaces.DXF_2_0)
+ public List<CategoryOptionGroup> getCategoryOptionGroups()
+ {
+ return categoryOptionGroups;
+ }
+
+ public void setCategoryOptionGroups( List<CategoryOptionGroup> categoryOptionGroups )
+ {
+ this.categoryOptionGroups = categoryOptionGroups;
+ }
+
+ @JsonProperty
+ @JacksonXmlElementWrapper(localName = "categoryOptionGroupSets", namespace = DxfNamespaces.DXF_2_0)
+ @JacksonXmlProperty(localName = "categoryOptionGroupSet", namespace = DxfNamespaces.DXF_2_0)
+ public List<CategoryOptionGroupSet> getCategoryOptionGroupSets()
+ {
+ return categoryOptionGroupSets;
+ }
+
+ public void setCategoryOptionGroupSets( List<CategoryOptionGroupSet> categoryOptionGroupSets )
+ {
+ this.categoryOptionGroupSets = categoryOptionGroupSets;
+ }
+
+ @JsonProperty
@JacksonXmlElementWrapper(localName = "dataElementOperands", namespace = DxfNamespaces.DXF_2_0)
@JacksonXmlProperty(localName = "dataElementOperand", namespace = DxfNamespaces.DXF_2_0)
public List<DataElementOperand> getDataElementOperands()
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/CategoryOptionGroupController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/CategoryOptionGroupController.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/CategoryOptionGroupController.java 2014-02-14 13:54:21 +0000
@@ -0,0 +1,44 @@
+package org.hisp.dhis.api.controller.dataelement;
+
+/*
+ * Copyright (c) 2004-2013, 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.
+ */
+
+import org.hisp.dhis.api.controller.AbstractCrudController;
+import org.hisp.dhis.dataelement.CategoryOptionGroup;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@Controller
+@RequestMapping( value = "/categoryOptionGroups" )
+public class CategoryOptionGroupController
+ extends AbstractCrudController<CategoryOptionGroup>
+{
+}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/CategoryOptionGroupSetController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/CategoryOptionGroupSetController.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/dataelement/CategoryOptionGroupSetController.java 2014-02-14 13:54:21 +0000
@@ -0,0 +1,44 @@
+package org.hisp.dhis.api.controller.dataelement;
+
+/*
+ * Copyright (c) 2004-2013, 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.
+ */
+
+import org.hisp.dhis.api.controller.AbstractCrudController;
+import org.hisp.dhis.dataelement.CategoryOptionGroupSet;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@Controller
+@RequestMapping( value = "/categoryOptionGroupSets" )
+public class CategoryOptionGroupSetController
+ extends AbstractCrudController<CategoryOptionGroupSet>
+{
+}