=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseIdentifiableObject.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseIdentifiableObject.java 2014-12-19 12:32:28 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseIdentifiableObject.java 2014-12-19 15:36:44 +0000 @@ -219,6 +219,7 @@ @JsonProperty @JacksonXmlProperty( isAttribute = true ) @Description( "The name of this Object. Required and unique." ) + @PropertyRange( min = 2 ) public String getName() { return name; @@ -279,6 +280,7 @@ @JsonProperty @JsonView( { SharingBasicView.class, SharingDetailedView.class, SharingExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 8, max = 8 ) public String getPublicAccess() { return publicAccess; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseNameableObject.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseNameableObject.java 2014-12-14 20:42:31 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseNameableObject.java 2014-12-19 15:36:44 +0000 @@ -36,6 +36,7 @@ import com.fasterxml.jackson.annotation.JsonView; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; +import org.hisp.dhis.schema.annotation.PropertyRange; /** * @author Bob Jolliffe @@ -164,6 +165,7 @@ @JsonProperty @JsonView( { ShortNameView.class, DetailedView.class, ExportView.class } ) @JacksonXmlProperty( isAttribute = true ) + @PropertyRange( min = 2 ) public String getShortName() { return shortName; @@ -178,6 +180,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getDescription() { return description; === 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-10-28 22:36:19 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElement.java 2014-12-19 15:36:44 +0000 @@ -47,6 +47,9 @@ import org.hisp.dhis.option.OptionSet; import org.hisp.dhis.period.PeriodType; import org.hisp.dhis.period.YearlyPeriodType; +import org.hisp.dhis.schema.PropertyType; +import org.hisp.dhis.schema.annotation.Property; +import org.hisp.dhis.schema.annotation.PropertyRange; import java.util.ArrayList; import java.util.Collections; @@ -107,7 +110,7 @@ public static final String AGGREGATION_OPERATOR_MIN = "min"; public static final String AGGREGATION_OPERATOR_MAX = "max"; public static final String AGGREGATION_OPERATOR_NONE = "none"; - + /** * The name to appear in forms. */ @@ -303,7 +306,7 @@ return type; } } - + /** * 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, @@ -338,7 +341,7 @@ return dataSet != null ? dataSet.getPeriodType() : null; } - + /** * Indicates whether this data element requires approval of data. Returns true * if only one of the data sets associated with this data element requires @@ -353,7 +356,7 @@ return true; } } - + return false; } @@ -491,6 +494,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getFormName() { return formName; @@ -570,6 +574,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @Property( PropertyType.URL ) public String getUrl() { return url; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/Section.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/Section.java 2014-11-29 05:00:47 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/Section.java 2014-12-19 15:36:44 +0000 @@ -44,6 +44,7 @@ import org.hisp.dhis.dataelement.DataElementCategoryCombo; import org.hisp.dhis.dataelement.DataElementOperand; import org.hisp.dhis.indicator.Indicator; +import org.hisp.dhis.schema.annotation.PropertyRange; import java.util.ArrayList; import java.util.HashSet; @@ -182,6 +183,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getDescription() { return description; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicator.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicator.java 2014-12-13 10:38:39 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicator.java 2014-12-19 15:36:44 +0000 @@ -28,9 +28,13 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import java.util.HashSet; -import java.util.Set; - +import com.fasterxml.jackson.annotation.JsonIgnore; +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; @@ -40,19 +44,16 @@ import org.hisp.dhis.common.view.ExportView; import org.hisp.dhis.dataset.DataSet; import org.hisp.dhis.mapping.MapLegendSet; +import org.hisp.dhis.schema.PropertyType; +import org.hisp.dhis.schema.annotation.Property; -import com.fasterxml.jackson.annotation.JsonIgnore; -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.HashSet; +import java.util.Set; /** * @author Lars Helge Overland */ -@JacksonXmlRootElement( localName = "indicator", namespace = DxfNamespaces.DXF_2_0) +@JacksonXmlRootElement( localName = "indicator", namespace = DxfNamespaces.DXF_2_0 ) public class Indicator extends BaseNameableObject { @@ -151,17 +152,17 @@ { attributeValues.clear(); } - + public String getExplodedNumeratorFallback() { return explodedNumerator != null ? explodedNumerator : numerator; } - + public String getExplodedDenominatorFallback() { return explodedDenominator != null ? explodedDenominator : denominator; } - + public boolean hasDecimals() { return decimals != null && decimals >= 0; @@ -179,8 +180,8 @@ } @JsonProperty - @JsonView( {DetailedView.class, ExportView.class} ) - @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public boolean isAnnualized() { return annualized; @@ -192,8 +193,8 @@ } @JsonProperty - @JsonView( {DetailedView.class, ExportView.class} ) - @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public Integer getDecimals() { return decimals; @@ -206,8 +207,8 @@ @JsonProperty @JsonSerialize( as = BaseIdentifiableObject.class ) - @JsonView( {DetailedView.class, ExportView.class} ) - @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public IndicatorType getIndicatorType() { return indicatorType; @@ -219,8 +220,8 @@ } @JsonProperty - @JsonView( {DetailedView.class, ExportView.class} ) - @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public String getNumerator() { return numerator; @@ -232,8 +233,8 @@ } @JsonProperty - @JsonView( {DetailedView.class, ExportView.class} ) - @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public String getNumeratorDescription() { return numeratorDescription; @@ -256,8 +257,8 @@ } @JsonProperty - @JsonView( {DetailedView.class, ExportView.class} ) - @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public String getDenominator() { return denominator; @@ -269,8 +270,8 @@ } @JsonProperty - @JsonView( {DetailedView.class, ExportView.class} ) - @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public String getDenominatorDescription() { return denominatorDescription; @@ -293,8 +294,9 @@ } @JsonProperty - @JsonView( {DetailedView.class, ExportView.class} ) - @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @Property( PropertyType.URL ) public String getUrl() { return url; @@ -307,9 +309,9 @@ @JsonProperty( value = "indicatorGroups" ) @JsonSerialize( contentAs = BaseIdentifiableObject.class ) - @JsonView( {DetailedView.class} ) - @JacksonXmlElementWrapper( localName = "indicatorGroups", namespace = DxfNamespaces.DXF_2_0) - @JacksonXmlProperty( localName = "indicatorGroup", namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class } ) + @JacksonXmlElementWrapper( localName = "indicatorGroups", namespace = DxfNamespaces.DXF_2_0 ) + @JacksonXmlProperty( localName = "indicatorGroup", namespace = DxfNamespaces.DXF_2_0 ) public Set getGroups() { return groups; @@ -322,9 +324,9 @@ @JsonProperty @JsonSerialize( contentAs = BaseIdentifiableObject.class ) - @JsonView( {DetailedView.class} ) - @JacksonXmlElementWrapper( localName = "dataSets", namespace = DxfNamespaces.DXF_2_0) - @JacksonXmlProperty( localName = "dataSet", namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class } ) + @JacksonXmlElementWrapper( localName = "dataSets", namespace = DxfNamespaces.DXF_2_0 ) + @JacksonXmlProperty( localName = "dataSet", namespace = DxfNamespaces.DXF_2_0 ) public Set getDataSets() { return dataSets; @@ -337,8 +339,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 getAttributeValues() { return attributeValues; @@ -351,14 +353,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; } - public void setLegendSet( MapLegendSet legendSet ) + public void setLegendSet( MapLegendSet legendSet ) { this.legendSet = legendSet; } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorType.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorType.java 2014-04-25 11:22:12 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorType.java 2014-12-19 15:36:44 +0000 @@ -37,11 +37,12 @@ import org.hisp.dhis.common.IdentifiableObject; import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; +import org.hisp.dhis.schema.annotation.PropertyRange; /** * @author Lars Helge Overland */ -@JacksonXmlRootElement( localName = "indicatorType", namespace = DxfNamespaces.DXF_2_0) +@JacksonXmlRootElement( localName = "indicatorType", namespace = DxfNamespaces.DXF_2_0 ) public class IndicatorType extends BaseIdentifiableObject { @@ -76,8 +77,9 @@ // ------------------------------------------------------------------------- @JsonProperty - @JsonView( {DetailedView.class, ExportView.class} ) - @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 1, max = 10 ) public int getFactor() { return factor; @@ -89,8 +91,8 @@ } @JsonProperty - @JsonView( {DetailedView.class, ExportView.class} ) - @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0) + @JsonView( { DetailedView.class, ExportView.class } ) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public boolean isNumber() { return number; @@ -106,7 +108,7 @@ { super.mergeWith( other ); - if(other.getClass().isInstance( this )) + if ( other.getClass().isInstance( this ) ) { IndicatorType indicatorType = (IndicatorType) other; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitLevel.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitLevel.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitLevel.java 2014-12-19 15:36:44 +0000 @@ -34,11 +34,12 @@ import org.hisp.dhis.common.BaseIdentifiableObject; import org.hisp.dhis.common.DxfNamespaces; import org.hisp.dhis.common.IdentifiableObject; +import org.hisp.dhis.schema.annotation.PropertyRange; /** * @author Lars Helge Overland */ -@JacksonXmlRootElement( localName = "organisationUnitLevel", namespace = DxfNamespaces.DXF_2_0) +@JacksonXmlRootElement( localName = "organisationUnitLevel", namespace = DxfNamespaces.DXF_2_0 ) public class OrganisationUnitLevel extends BaseIdentifiableObject { @@ -115,6 +116,7 @@ @JsonProperty @JacksonXmlProperty( isAttribute = true ) + @PropertyRange( min = 1, max = 999 ) public int getLevel() { return level; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java 2014-10-06 10:11:29 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java 2014-12-19 15:36:44 +0000 @@ -44,6 +44,7 @@ import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.relationship.RelationshipType; +import org.hisp.dhis.schema.annotation.PropertyRange; import org.hisp.dhis.trackedentity.TrackedEntity; import org.hisp.dhis.trackedentity.TrackedEntityAttribute; import org.hisp.dhis.trackedentity.TrackedEntityInstanceReminder; @@ -220,6 +221,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class, WithoutOrganisationUnitsView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getDescription() { return description; @@ -276,6 +278,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class, WithoutOrganisationUnitsView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getDateOfEnrollmentDescription() { return dateOfEnrollmentDescription; @@ -289,6 +292,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class, WithoutOrganisationUnitsView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getDateOfIncidentDescription() { return dateOfIncidentDescription; @@ -445,6 +449,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class, WithoutOrganisationUnitsView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getRelationshipText() { return relationshipText; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStage.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStage.java 2014-10-06 10:11:29 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStage.java 2014-12-19 15:36:44 +0000 @@ -42,6 +42,7 @@ import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; import org.hisp.dhis.dataentryform.DataEntryForm; +import org.hisp.dhis.schema.annotation.PropertyRange; import org.hisp.dhis.trackedentity.TrackedEntityInstanceReminder; import java.util.ArrayList; @@ -207,6 +208,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getDescription() { return description; @@ -301,6 +303,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getReportDateDescription() { return reportDateDescription; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/relationship/RelationshipType.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/relationship/RelationshipType.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/relationship/RelationshipType.java 2014-12-19 15:36:44 +0000 @@ -37,6 +37,7 @@ import org.hisp.dhis.common.IdentifiableObject; import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; +import org.hisp.dhis.schema.annotation.PropertyRange; /** * @author Abyot Asalefew @@ -77,6 +78,7 @@ @JsonProperty @JsonView({ DetailedView.class, ExportView.class }) @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0) + @PropertyRange( min = 2 ) public String getaIsToB() { return aIsToB; @@ -90,6 +92,7 @@ @JsonProperty @JsonView({ DetailedView.class, ExportView.class }) @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0) + @PropertyRange( min = 2 ) public String getbIsToA() { return bIsToA; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttribute.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttribute.java 2014-10-16 12:28:42 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttribute.java 2014-12-19 15:36:44 +0000 @@ -33,7 +33,6 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; - import org.hisp.dhis.common.BaseDimensionalObject; import org.hisp.dhis.common.BaseIdentifiableObject; import org.hisp.dhis.common.DxfNamespaces; @@ -43,6 +42,7 @@ import org.hisp.dhis.common.view.WithoutOrganisationUnitsView; import org.hisp.dhis.option.Option; import org.hisp.dhis.option.OptionSet; +import org.hisp.dhis.schema.annotation.PropertyRange; /** * @author Abyot Asalefew @@ -75,7 +75,7 @@ public static final String TYPE_TRACKER_ASSOCIATE = "trackerAssociate"; public static final String TYPE_USERS = "users"; - + public static final String TYPE_EMAIL = "email"; private String description; @@ -147,8 +147,8 @@ public boolean hasOptionSet() { return optionSet != null; - } - + } + // ------------------------------------------------------------------------- // Getters and setters // ------------------------------------------------------------------------- @@ -170,6 +170,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getDescription() { return description; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttributeGroup.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttributeGroup.java 2014-08-15 07:40:20 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttributeGroup.java 2014-12-19 15:36:44 +0000 @@ -40,6 +40,7 @@ import org.hisp.dhis.common.annotation.Scanned; import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; +import org.hisp.dhis.schema.annotation.PropertyRange; import java.util.ArrayList; import java.util.List; @@ -78,6 +79,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getDescription() { return description; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/User.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/User.java 2014-12-19 14:51:19 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/User.java 2014-12-19 15:36:44 +0000 @@ -44,6 +44,7 @@ import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.schema.annotation.PropertyRange; import java.util.ArrayList; import java.util.Date; @@ -261,6 +262,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getFirstName() { return firstName; @@ -274,6 +276,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getSurname() { return surname; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationCriteria.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationCriteria.java 2014-05-26 13:29:12 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationCriteria.java 2014-12-19 15:36:44 +0000 @@ -28,15 +28,15 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonView; +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.DxfNamespaces; import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; - -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.annotation.JsonView; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; +import org.hisp.dhis.schema.annotation.PropertyRange; /** * @author Lars Helge Overland @@ -78,6 +78,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getDescription() { return description; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRule.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRule.java 2014-08-15 07:40:20 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRule.java 2014-12-19 15:36:44 +0000 @@ -46,6 +46,7 @@ import org.hisp.dhis.expression.Expression; import org.hisp.dhis.expression.Operator; import org.hisp.dhis.period.PeriodType; +import org.hisp.dhis.schema.annotation.PropertyRange; import java.util.HashSet; import java.util.Set; @@ -288,6 +289,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 2 ) public String getDescription() { return description; @@ -327,6 +329,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 1, max = 999 ) public Integer getOrganisationUnitLevel() { return organisationUnitLevel; @@ -381,6 +384,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 0, max = 10 ) public Integer getAnnualSampleCount() { return annualSampleCount; @@ -394,6 +398,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 0, max = 99 ) public Integer getHighOutliers() { return highOutliers; @@ -407,6 +412,7 @@ @JsonProperty @JsonView( { DetailedView.class, ExportView.class } ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + @PropertyRange( min = 0, max = 99 ) public Integer getLowOutliers() { return lowOutliers; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRuleGroup.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRuleGroup.java 2014-09-13 10:41:05 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRuleGroup.java 2014-12-19 15:36:44 +0000 @@ -37,6 +37,7 @@ import org.hisp.dhis.common.annotation.Scanned; import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; +import org.hisp.dhis.schema.annotation.PropertyRange; import org.hisp.dhis.user.UserGroup; import com.fasterxml.jackson.annotation.JsonProperty; @@ -121,6 +122,7 @@ @JsonProperty @JsonView( {DetailedView.class, ExportView.class} ) @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0) + @PropertyRange( min = 2 ) public String getDescription() { return description;