← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 5491: made changes to paging, paging are now attributes on the xml, and an object on the json

 

------------------------------------------------------------
revno: 5491
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2011-12-19 23:11:19 +0100
message:
  made changes to paging, paging are now attributes on the xml, and an object on the json
added:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseCollection.java
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/attribute/Attributes.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Charts.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/LinkableObject.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/Pager.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constants.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategories.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryCombos.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryOptionCombos.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryOptions.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroupSets.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroups.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElements.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSets.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/document/Documents.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorGroupSets.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorGroups.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorTypes.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicators.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/Maps.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversations.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSets.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroups.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitLevels.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnits.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/Reports.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTables.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/sqlview/SqlViews.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/Users.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRuleGroups.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRules.java
  dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/utils/WebLinkPopulator.java
  dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/webdomain/Resources.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/attribute/Attributes.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/attribute/Attributes.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/attribute/Attributes.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.AttributeXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "attributeTypes", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class Attributes extends BaseLinkableObject
+public class Attributes extends BaseCollection
 {
-    private Pager pager;
-
     private List<Attribute> attributes = new ArrayList<Attribute>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "attributeType" )
     @XmlJavaTypeAdapter( AttributeXmlAdapter.class )
     @JsonProperty( value = "attributeTypes" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Charts.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Charts.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Charts.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.ChartXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "charts", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class Charts extends BaseLinkableObject
+public class Charts extends BaseCollection
 {
-    private Pager pager;
-
     private List<Chart> charts = new ArrayList<Chart>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "chart" )
     @XmlJavaTypeAdapter( ChartXmlAdapter.class )
     @JsonProperty( value = "charts" )

=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseCollection.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseCollection.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseCollection.java	2011-12-19 22:11:19 +0000
@@ -0,0 +1,151 @@
+package org.hisp.dhis.common;
+
+/*
+ * Copyright (c) 2004-2011, 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.codehaus.jackson.annotate.JsonProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlRootElement( name = "collection", namespace = Dxf2Namespace.NAMESPACE )
+@XmlAccessorType( value = XmlAccessType.NONE )
+public class BaseCollection implements LinkableObject
+{
+    private Pager pager;
+
+    private LinkableObject linkableObject;
+
+    public BaseCollection()
+    {
+        // TODO this will be made more dynamic for 2.7
+        linkableObject = new BaseLinkableObject();
+    }
+
+    //-------------------------------------------------------------------------------------
+    // Dependencies
+    //-------------------------------------------------------------------------------------
+
+    @JsonProperty
+    public Pager getPager()
+    {
+        return pager;
+    }
+
+    public void setPager( Pager pager )
+    {
+        this.pager = pager;
+    }
+
+    public LinkableObject getLinkableObject()
+    {
+        return linkableObject;
+    }
+
+    public void setLinkableObject( LinkableObject linkableObject )
+    {
+        this.linkableObject = linkableObject;
+    }
+
+    //-------------------------------------------------------------------------------------
+    // Serializable fields
+    //-------------------------------------------------------------------------------------
+
+    @XmlAttribute
+    @JsonProperty
+    public String getLink()
+    {
+        if ( linkableObject == null )
+        {
+            return null;
+        }
+
+        return linkableObject.getLink();
+    }
+
+    /**
+     * Set link for collection. This will be replaced for 2.7 with a real linkableObject.
+     *
+     * @param link
+     */
+    public void setLink( String link )
+    {
+        if ( linkableObject != null )
+        {
+            linkableObject.setLink( link );
+        }
+    }
+
+    @XmlAttribute
+    public Integer getPage()
+    {
+        if ( pager == null )
+        {
+            return null;
+        }
+
+        return pager.getPage();
+    }
+
+    @XmlAttribute
+    public Integer getTotal()
+    {
+        if ( pager == null )
+        {
+            return null;
+        }
+
+        return pager.getTotal();
+    }
+
+    @XmlAttribute
+    public Integer getPageSize()
+    {
+        if ( pager == null )
+        {
+            return null;
+        }
+
+        return pager.getPageSize();
+    }
+
+    @XmlAttribute
+    public Integer getPageCount()
+    {
+        if ( pager == null )
+        {
+            return null;
+        }
+
+        return pager.getPageCount();
+    }
+}

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/LinkableObject.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/LinkableObject.java	2011-12-03 13:36:49 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/LinkableObject.java	2011-12-19 22:11:19 +0000
@@ -33,4 +33,6 @@
 public interface LinkableObject
 {
     public String getLink();
+
+    public void setLink( String link );
 }

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/Pager.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/Pager.java	2011-12-19 17:26:54 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/Pager.java	2011-12-19 22:11:19 +0000
@@ -29,16 +29,9 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
 /**
  * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
  */
-@XmlRootElement( name = "pager", namespace = Dxf2Namespace.NAMESPACE )
-@XmlAccessorType( value = XmlAccessType.NONE )
 public class Pager
 {
     public static final int DEFAULT_PAGE_SIZE = 50;
@@ -87,28 +80,24 @@
         }
     }
 
-    @XmlElement
     @JsonProperty
     public int getPage()
     {
         return page;
     }
 
-    @XmlElement
     @JsonProperty
     public int getTotal()
     {
         return total;
     }
 
-    @XmlElement
     @JsonProperty
     public int getPageSize()
     {
         return pageSize;
     }
 
-    @XmlElement
     @JsonProperty
     public int getPageCount()
     {

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constants.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constants.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constants.java	2011-12-19 22:11:19 +0000
@@ -30,10 +30,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.ConstantXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -49,24 +46,10 @@
  */
 @XmlRootElement( name = "constants", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class Constants extends BaseLinkableObject
+public class Constants extends BaseCollection
 {
-    private Pager pager;
-
     private List<Constant> constants = new ArrayList<Constant>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "constant" )
     @XmlJavaTypeAdapter( ConstantXmlAdapter.class )
     @JsonProperty( value = "constants" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategories.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategories.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategories.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.CategoryXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "categories", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class DataElementCategories extends BaseLinkableObject
+public class DataElementCategories extends BaseCollection
 {
-    private Pager pager;
-
     private List<DataElementCategory> categories = new ArrayList<DataElementCategory>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "category" )
     @XmlJavaTypeAdapter( CategoryXmlAdapter.class )
     @JsonProperty( value = "categories" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryCombos.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryCombos.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryCombos.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.CategoryComboXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "categoryCombos", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class DataElementCategoryCombos extends BaseLinkableObject
+public class DataElementCategoryCombos extends BaseCollection
 {
-    private Pager pager;
-
     private List<DataElementCategoryCombo> categoryCombos = new ArrayList<DataElementCategoryCombo>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "categoryCombo" )
     @XmlJavaTypeAdapter( CategoryComboXmlAdapter.class )
     @JsonProperty( value = "categoryCombos" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryOptionCombos.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryOptionCombos.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryOptionCombos.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.CategoryOptionComboXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "categoryOptionCombos", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class DataElementCategoryOptionCombos extends BaseLinkableObject
+public class DataElementCategoryOptionCombos extends BaseCollection
 {
-    private Pager pager;
-
     private List<DataElementCategoryOptionCombo> categoryOptionCombos = new ArrayList<DataElementCategoryOptionCombo>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "categoryOptionCombo" )
     @XmlJavaTypeAdapter( CategoryOptionComboXmlAdapter.class )
     @JsonProperty( value = "categoryOptionCombos" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryOptions.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryOptions.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementCategoryOptions.java	2011-12-19 22:11:19 +0000
@@ -2,10 +2,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.CategoryOptionXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -21,24 +18,10 @@
  */
 @XmlRootElement( name = "categoryOptions", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class DataElementCategoryOptions extends BaseLinkableObject
+public class DataElementCategoryOptions extends BaseCollection
 {
-    private Pager pager;
-
     private List<DataElementCategoryOption> categoryOptions = new ArrayList<DataElementCategoryOption>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "categoryOption" )
     @XmlJavaTypeAdapter( CategoryOptionXmlAdapter.class )
     @JsonProperty( value = "categoryOptions" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroupSets.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroupSets.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroupSets.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.DataElementGroupSetXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "dataElementGroupSets", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class DataElementGroupSets extends BaseLinkableObject
+public class DataElementGroupSets extends BaseCollection
 {
-    private Pager pager;
-
     private List<DataElementGroupSet> dataElementGroupSets = new ArrayList<DataElementGroupSet>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "dataElementGroupSet" )
     @XmlJavaTypeAdapter( DataElementGroupSetXmlAdapter.class )
     @JsonProperty( value = "dataElementGroupSets" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroups.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroups.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroups.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.DataElementGroupXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "dataElementGroups", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class DataElementGroups extends BaseLinkableObject
+public class DataElementGroups extends BaseCollection
 {
-    private Pager pager;
-
     private List<DataElementGroup> dataElementGroups = new ArrayList<DataElementGroup>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "dataElementGroup" )
     @XmlJavaTypeAdapter( DataElementGroupXmlAdapter.class )
     @JsonProperty( value = "dataElementGroups" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElements.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElements.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElements.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.DataElementXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "dataElements", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class DataElements extends BaseLinkableObject
+public class DataElements extends BaseCollection
 {
-    private Pager pager;
-
     private List<DataElement> dataElements = new ArrayList<DataElement>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "dataElement" )
     @XmlJavaTypeAdapter( DataElementXmlAdapter.class )
     @JsonProperty( value = "dataElements" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSets.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSets.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSets.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.DataSetXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "dataSets", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class DataSets extends BaseLinkableObject
+public class DataSets extends BaseCollection
 {
-    private Pager pager;
-
     private List<DataSet> dataSets = new ArrayList<DataSet>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "dataSet" )
     @XmlJavaTypeAdapter( DataSetXmlAdapter.class )
     @JsonProperty( value = "dataSets" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/document/Documents.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/document/Documents.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/document/Documents.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.DocumentXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "documents", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class Documents extends BaseLinkableObject
+public class Documents extends BaseCollection
 {
-    private Pager pager;
-
     private List<Document> documents = new ArrayList<Document>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "document" )
     @XmlJavaTypeAdapter( DocumentXmlAdapter.class )
     @JsonProperty( value = "documents" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorGroupSets.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorGroupSets.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorGroupSets.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.IndicatorGroupSetXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "indicatorGroupSets", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class IndicatorGroupSets extends BaseLinkableObject
+public class IndicatorGroupSets extends BaseCollection
 {
-    private Pager pager;
-
     private List<IndicatorGroupSet> indicatorGroupSets = new ArrayList<IndicatorGroupSet>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "indicatorGroupSet" )
     @XmlJavaTypeAdapter( IndicatorGroupSetXmlAdapter.class )
     @JsonProperty( value = "indicatorGroupSets" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorGroups.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorGroups.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorGroups.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.IndicatorGroupXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "indicatorGroups", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class IndicatorGroups extends BaseLinkableObject
+public class IndicatorGroups extends BaseCollection
 {
-    private Pager pager;
-
     private List<IndicatorGroup> indicatorGroups = new ArrayList<IndicatorGroup>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "indicatorGroup" )
     @XmlJavaTypeAdapter( IndicatorGroupXmlAdapter.class )
     @JsonProperty( value = "indicatorGroups" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorTypes.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorTypes.java	2011-12-19 19:45:07 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorTypes.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.IndicatorTypeXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "indicatorTypes", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class IndicatorTypes extends BaseLinkableObject
+public class IndicatorTypes extends BaseCollection
 {
-    private Pager pager;
-
     private List<IndicatorType> indicatorTypes = new ArrayList<IndicatorType>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "indicatorType" )
     @XmlJavaTypeAdapter( IndicatorTypeXmlAdapter.class )
     @JsonProperty( value = "indicatorTypes" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicators.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicators.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicators.java	2011-12-19 22:11:19 +0000
@@ -30,10 +30,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.IndicatorXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -49,24 +46,10 @@
  */
 @XmlRootElement( name = "indicators", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class Indicators extends BaseLinkableObject
+public class Indicators extends BaseCollection
 {
-    private Pager pager;
-
     private List<Indicator> indicators = new ArrayList<Indicator>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "indicator" )
     @XmlJavaTypeAdapter( IndicatorXmlAdapter.class )
     @JsonProperty( value = "indicators" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/Maps.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/Maps.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/Maps.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.MapViewXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -45,24 +42,10 @@
 
 @XmlRootElement( name = "maps", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class Maps extends BaseLinkableObject
+public class Maps extends BaseCollection
 {
-    private Pager pager;
-
     private List<MapView> maps = new ArrayList<MapView>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "map" )
     @XmlJavaTypeAdapter( MapViewXmlAdapter.class )
     @JsonProperty( value = "maps" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversations.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversations.java	2011-12-19 17:26:54 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversations.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,9 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
+import org.hisp.dhis.common.BaseCollection;
 import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
 import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
 import org.hisp.dhis.common.adapter.MessageConversationXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +47,10 @@
  */
 @XmlRootElement( name = "messageConversations", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class MessageConversations extends BaseLinkableObject
+public class MessageConversations extends BaseCollection
 {
-    private Pager pager;
-
     private List<MessageConversation> messageConversations = new ArrayList<MessageConversation>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "messageConversation" )
     @XmlJavaTypeAdapter( MessageConversationXmlAdapter.class )
     @JsonProperty( value = "messageConversations" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSets.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSets.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSets.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.OrganisationUnitGroupSetXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "organisationUnitGroupSets", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class OrganisationUnitGroupSets extends BaseLinkableObject
+public class OrganisationUnitGroupSets extends BaseCollection
 {
-    private Pager pager;
-
     private List<OrganisationUnitGroupSet> organisationUnitGroupSets = new ArrayList<OrganisationUnitGroupSet>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "organisationUnitGroupSet" )
     @XmlJavaTypeAdapter( OrganisationUnitGroupSetXmlAdapter.class )
     @JsonProperty( value = "organisationUnitGroupSets" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroups.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroups.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroups.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.OrganisationUnitGroupXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "organisationUnitGroups", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class OrganisationUnitGroups extends BaseLinkableObject
+public class OrganisationUnitGroups extends BaseCollection
 {
-    private Pager pager;
-
     private List<OrganisationUnitGroup> organisationUnitGroups = new ArrayList<OrganisationUnitGroup>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "organisationUnitGroup" )
     @XmlJavaTypeAdapter( OrganisationUnitGroupXmlAdapter.class )
     @JsonProperty( value = "organisationUnitGroups" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitLevels.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitLevels.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitLevels.java	2011-12-19 22:11:19 +0000
@@ -28,6 +28,7 @@
  */
 
 import org.codehaus.jackson.annotate.JsonProperty;
+import org.hisp.dhis.common.BaseCollection;
 import org.hisp.dhis.common.BaseLinkableObject;
 import org.hisp.dhis.common.Dxf2Namespace;
 import org.hisp.dhis.common.Pager;
@@ -44,24 +45,10 @@
  */
 @XmlRootElement( name = "organisationUnitLevels", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class OrganisationUnitLevels extends BaseLinkableObject
+public class OrganisationUnitLevels extends BaseCollection
 {
-    private Pager pager;
-
     private List<OrganisationUnitLevel> organisationUnitLevels = new ArrayList<OrganisationUnitLevel>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "organisationUnitLevel" )
     @JsonProperty( value = "organisationUnitLevels" )
     public List<OrganisationUnitLevel> getOrganisationUnitLevels()

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnits.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnits.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnits.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.OrganisationUnitXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "organisationUnits", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class OrganisationUnits extends BaseLinkableObject
+public class OrganisationUnits extends BaseCollection
 {
-    private Pager pager;
-
     private List<OrganisationUnit> organisationUnits = new ArrayList<OrganisationUnit>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "organisationUnit" )
     @XmlJavaTypeAdapter( OrganisationUnitXmlAdapter.class )
     @JsonProperty( value = "organisationUnits" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/Reports.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/Reports.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/Reports.java	2011-12-19 22:11:19 +0000
@@ -38,33 +38,15 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.ReportXmlAdapter;
 
 @XmlRootElement( name = "reports", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class Reports 
-    extends BaseLinkableObject
+public class Reports extends BaseCollection
 {
-    private Pager pager;
-
     private List<Report> reports = new ArrayList<Report>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "report" )
     @XmlJavaTypeAdapter( ReportXmlAdapter.class )
     @JsonProperty( value = "reports" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTables.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTables.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTables.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.ReportTableXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "reportTables", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class ReportTables extends BaseLinkableObject
+public class ReportTables extends BaseCollection
 {
-    private Pager pager;
-
     private List<ReportTable> reportTables = new ArrayList<ReportTable>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "reportTable" )
     @XmlJavaTypeAdapter( ReportTableXmlAdapter.class )
     @JsonProperty( value = "reportTables" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/sqlview/SqlViews.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/sqlview/SqlViews.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/sqlview/SqlViews.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.SqlViewXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "sqlViews", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class SqlViews extends BaseLinkableObject
+public class SqlViews extends BaseCollection
 {
-    private Pager pager;
-
     private List<SqlView> sqlViews = new ArrayList<SqlView>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "sqlView" )
     @XmlJavaTypeAdapter( SqlViewXmlAdapter.class )
     @JsonProperty( value = "sqlViews" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/Users.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/Users.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/Users.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,9 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
+import org.hisp.dhis.common.BaseCollection;
 import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
 import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
 import org.hisp.dhis.common.adapter.UserXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +47,10 @@
  */
 @XmlRootElement( name = "users", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class Users extends BaseLinkableObject
+public class Users extends BaseCollection
 {
-    private Pager pager;
-
     private List<User> users = new ArrayList<User>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "user" )
     @XmlJavaTypeAdapter( UserXmlAdapter.class )
     @JsonProperty( value = "users" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRuleGroups.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRuleGroups.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRuleGroups.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.ValidationRuleGroupXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "validationRuleGroups", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class ValidationRuleGroups extends BaseLinkableObject
+public class ValidationRuleGroups extends BaseCollection
 {
-    private Pager pager;
-
     private List<ValidationRuleGroup> validationRuleGroups = new ArrayList<ValidationRuleGroup>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "validationRuleGroup" )
     @XmlJavaTypeAdapter( ValidationRuleGroupXmlAdapter.class )
     @JsonProperty( value = "validationRuleGroups" )

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRules.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRules.java	2011-12-19 17:20:37 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRules.java	2011-12-19 22:11:19 +0000
@@ -29,10 +29,7 @@
 
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.BaseLinkableObject;
-import org.hisp.dhis.common.Dxf2Namespace;
-import org.hisp.dhis.common.Pager;
+import org.hisp.dhis.common.*;
 import org.hisp.dhis.common.adapter.ValidationRuleXmlAdapter;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -48,24 +45,10 @@
  */
 @XmlRootElement( name = "validationRules", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class ValidationRules extends BaseLinkableObject
+public class ValidationRules extends BaseCollection
 {
-    private Pager pager;
-
     private List<ValidationRule> validationRules = new ArrayList<ValidationRule>();
 
-    @XmlElement
-    @JsonProperty
-    public Pager getPager()
-    {
-        return pager;
-    }
-
-    public void setPager( Pager pager )
-    {
-        this.pager = pager;
-    }
-
     @XmlElement( name = "validationRule" )
     @XmlJavaTypeAdapter( ValidationRuleXmlAdapter.class )
     @JsonProperty( value = "validationRules" )

=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/utils/WebLinkPopulator.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/utils/WebLinkPopulator.java	2011-12-16 13:38:59 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/utils/WebLinkPopulator.java	2011-12-19 22:11:19 +0000
@@ -38,6 +38,7 @@
 import org.hisp.dhis.common.BaseIdentifiableObject;
 import org.hisp.dhis.common.BaseLinkableObject;
 import org.hisp.dhis.common.IdentifiableObject;
+import org.hisp.dhis.common.LinkableObject;
 import org.hisp.dhis.constant.Constant;
 import org.hisp.dhis.constant.Constants;
 import org.hisp.dhis.dataelement.*;
@@ -78,7 +79,7 @@
     /**
      * Custom linkable object -> path mappings
      */
-    private static Map<Class<? extends BaseLinkableObject>, String> resourcePaths = new HashMap<Class<? extends BaseLinkableObject>, String>();
+    private static Map<Class<? extends LinkableObject>, String> resourcePaths = new HashMap<Class<? extends LinkableObject>, String>();
 
     static
     {

=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/webdomain/Resources.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/webdomain/Resources.java	2011-12-19 19:45:07 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/webdomain/Resources.java	2011-12-19 22:11:19 +0000
@@ -30,6 +30,7 @@
 import org.codehaus.jackson.annotate.JsonProperty;
 import org.hisp.dhis.attribute.Attributes;
 import org.hisp.dhis.chart.Charts;
+import org.hisp.dhis.common.BaseCollection;
 import org.hisp.dhis.common.BaseLinkableObject;
 import org.hisp.dhis.common.Dxf2Namespace;
 import org.hisp.dhis.constant.Constants;
@@ -70,7 +71,7 @@
  */
 @XmlRootElement( name = "resources", namespace = Dxf2Namespace.NAMESPACE )
 @XmlAccessorType( value = XmlAccessType.NONE )
-public class Resources extends BaseLinkableObject
+public class Resources extends BaseCollection
 {
     private List<Resource> resources = new ArrayList<Resource>();