dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #15039
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 5270: merged with dhis2-dxf2, still very much WIP
Merge authors:
Bob Jolliffe bobjolliffe@xxxxxxxxx
Morten Olav Hansen (mortenoh)
------------------------------------------------------------
revno: 5270 [merge]
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2011-12-02 22:10:26 +0100
message:
merged with dhis2-dxf2, still very much WIP
removed:
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SectionController.java
added:
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/user/Users.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitGroupController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitGroupSetController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitLevelController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/UserController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/ClassPathUriResolver.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/TransformCache.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/TransformCacheImpl.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/ViewUtils.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/XslFoPdfView.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/XsltHtmlView.java
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslfo/
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslfo/list.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslfo/model2fop.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/chart.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/dataElement.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/dataSet.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/html-wrapper.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/identifiable-row.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/indicator.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/list.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/model2html.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/organisationUnit.xsl
dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/users.xsl
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Chart.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/ChartService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseIdentifiableObject.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/BaseIdentifiableObjectXmlAdapter.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/BaseNameableObjectXmlAdapter.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementOperand.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/Section.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroup.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSet.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitLevel.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitStore.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnits.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/User.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/hibernate/HibernateDataSetStore.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/DefaultIndicatorService.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/hibernate/HibernateIndicatorStore.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java
dhis-2/dhis-support/dhis-support-xml/src/main/java/org/amplecode/staxwax/transformer/LoggingErrorListener.java
dhis-2/dhis-web/dhis-web-api/pom.xml
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ChartController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/CompleteDataSetRegistrationController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryComboController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryOptionComboController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryOptionController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementGroupController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementGroupSetController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataSetController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorGroupController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorGroupSetController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorTypeController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitController.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/Jaxb2View.java
dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/servlet.xml
dhis-2/pom.xml
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Chart.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Chart.java 2011-11-30 18:36:57 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/Chart.java 2011-12-02 15:18:52 +0000
@@ -57,38 +57,38 @@
{
private static final long serialVersionUID = 2570074075484545534L;
- public static final String DIMENSION_PERIOD_INDICATOR = "period";
- public static final String DIMENSION_ORGANISATIONUNIT_INDICATOR = "organisationUnit";
- public static final String DIMENSION_INDICATOR_PERIOD = "indicator";
- public static final String DIMENSION_PERIOD_DATAELEMENT = "period_dataElement";
- public static final String DIMENSION_ORGANISATIONUNIT_DATAELEMENT = "organisationUnit_dataElement";
- public static final String DIMENSION_DATAELEMENT_PERIOD = "dataElement_period";
- public static final String DIMENSION_PERIOD_COMPLETENESS = "period_completeness";
- public static final String DIMENSION_ORGANISATIONUNIT_COMPLETENESS = "organisationUnit_completeness";
+ public static final String DIMENSION_PERIOD_INDICATOR = "period";
+ public static final String DIMENSION_ORGANISATIONUNIT_INDICATOR = "organisationUnit";
+ public static final String DIMENSION_INDICATOR_PERIOD = "indicator";
+ public static final String DIMENSION_PERIOD_DATAELEMENT = "period_dataElement";
+ public static final String DIMENSION_ORGANISATIONUNIT_DATAELEMENT = "organisationUnit_dataElement";
+ public static final String DIMENSION_DATAELEMENT_PERIOD = "dataElement_period";
+ public static final String DIMENSION_PERIOD_COMPLETENESS = "period_completeness";
+ public static final String DIMENSION_ORGANISATIONUNIT_COMPLETENESS = "organisationUnit_completeness";
public static final String DIMENSION_COMPLETENESS_PERIOD = "completeness_period";
-
- public static final String TYPE_BAR3D = "bar3d";
- public static final String TYPE_STACKED_BAR3D = "stackedBar3d";
- public static final String TYPE_LINE3D = "line3d";
+
+ public static final String TYPE_BAR3D = "bar3d";
+ public static final String TYPE_STACKED_BAR3D = "stackedBar3d";
+ public static final String TYPE_LINE3D = "line3d";
public static final String TYPE_PIE3D = "pie3d";
-
- public static final String SIZE_NORMAL = "normal";
- public static final String SIZE_WIDE = "wide";
+
+ public static final String SIZE_NORMAL = "normal";
+ public static final String SIZE_WIDE = "wide";
public static final String SIZE_TALL = "tall";
-
- public static final String TYPE = "tall";
- public static final String TYPE_COLUMN = "column";
- public static final String TYPE_STACKED_COLUMN = "stackedColumn";
- public static final String TYPE_BAR = "bar";
- public static final String TYPE_STACKED_BAR = "stackedBar";
- public static final String TYPE_LINE = "line";
- public static final String TYPE_AREA = "area";
+
+ public static final String TYPE = "tall";
+ public static final String TYPE_COLUMN = "column";
+ public static final String TYPE_STACKED_COLUMN = "stackedColumn";
+ public static final String TYPE_BAR = "bar";
+ public static final String TYPE_STACKED_BAR = "stackedBar";
+ public static final String TYPE_LINE = "line";
+ public static final String TYPE_AREA = "area";
public static final String TYPE_PIE = "pie";
-
- public static final String DIMENSION_DATA = "data";
- public static final String DIMENSION_PERIOD = "period";
+
+ public static final String DIMENSION_DATA = "data";
+ public static final String DIMENSION_PERIOD = "period";
public static final String DIMENSION_ORGANISATIONUNIT = "organisationUnit";
-
+
private String domainAxixLabel;
private String rangeAxisLabel;
@@ -98,27 +98,27 @@
private String size;
private String dimension;
-
+
private String series;
-
+
private String category;
-
+
private String filter;
private boolean hideLegend;
-
+
private boolean verticalLabels;
private boolean horizontalPlotOrientation;
private boolean regression;
-
+
private boolean targetLine;
-
+
private boolean hideSubtitle;
private Double targetLineValue;
-
+
private String targetLineLabel;
private Set<ChartGroup> groups = new HashSet<ChartGroup>();
@@ -339,7 +339,7 @@
{
this.dimension = dimension;
}
-
+
@XmlElement
@JsonProperty
public String getSeries()
@@ -351,7 +351,7 @@
{
this.series = series;
}
-
+
@XmlElement
@JsonProperty
public String getCategory()
@@ -363,7 +363,7 @@
{
this.category = category;
}
-
+
@XmlElement
@JsonProperty
public String getFilter()
@@ -474,7 +474,7 @@
@XmlJavaTypeAdapter( BaseNameableObjectXmlAdapter.class )
@XmlElementWrapper( name = "indicators" )
- @XmlElement
+ @XmlElement( name = "indicator" )
@JsonProperty
@JsonSerialize( using = JsonNameableObjectListSerializer.class )
public List<Indicator> getIndicators()
@@ -489,7 +489,7 @@
@XmlJavaTypeAdapter( BaseNameableObjectXmlAdapter.class )
@XmlElementWrapper( name = "dataElements" )
- @XmlElement
+ @XmlElement( name = "dataElement" )
@JsonProperty
@JsonSerialize( using = JsonNameableObjectListSerializer.class )
public List<DataElement> getDataElements()
@@ -504,7 +504,7 @@
@XmlJavaTypeAdapter( BaseNameableObjectXmlAdapter.class )
@XmlElementWrapper( name = "dataSets" )
- @XmlElement
+ @XmlElement( name = "dataSet" )
@JsonProperty
@JsonSerialize( using = JsonNameableObjectListSerializer.class )
public List<DataSet> getDataSets()
@@ -529,7 +529,7 @@
@XmlJavaTypeAdapter( BaseNameableObjectXmlAdapter.class )
@XmlElementWrapper( name = "organisationUnits" )
- @XmlElement
+ @XmlElement( name = "organisationUnit" )
@JsonProperty
@JsonSerialize( using = JsonNameableObjectListSerializer.class )
public List<OrganisationUnit> getOrganisationUnits()
@@ -584,6 +584,11 @@
this.relativePeriods = relativePeriods;
}
+ @XmlJavaTypeAdapter( BaseNameableObjectXmlAdapter.class )
+ @XmlElementWrapper( name = "allPeriods" )
+ @XmlElement( name = "allPeriod" )
+ @JsonProperty
+ @JsonSerialize( using = JsonNameableObjectListSerializer.class )
public List<Period> getAllPeriods()
{
return allPeriods;
@@ -604,6 +609,11 @@
this.organisationUnit = organisationUnit;
}
+ @XmlJavaTypeAdapter( BaseNameableObjectXmlAdapter.class )
+ @XmlElementWrapper( name = "allOrganisationUnits" )
+ @XmlElement( name = "allOrganisationUnit" )
+ @JsonProperty
+ @JsonSerialize( using = JsonNameableObjectListSerializer.class )
public List<OrganisationUnit> getAllOrganisationUnits()
{
return allOrganisationUnits;
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/ChartService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/ChartService.java 2011-11-12 18:43:35 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/ChartService.java 2011-11-25 14:03:14 +0000
@@ -70,6 +70,8 @@
Chart getChart( int id );
+ Chart getChart( String uid );
+
void deleteChart( Chart chart );
Collection<Chart> getAllCharts();
=== 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 2011-11-25 11:07:01 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseIdentifiableObject.java 2011-11-25 14:03:14 +0000
@@ -39,7 +39,7 @@
*/
@XmlRootElement( name = "identifiableObject" )
@XmlAccessorType( value = XmlAccessType.NONE )
-@XmlType( propOrder = {"id", "uid", "name", "code", "lastUpdated"} )
+@XmlType( propOrder = {"uid", "name", "code", "lastUpdated"} )
public class BaseIdentifiableObject
implements IdentifiableObject
{
@@ -89,8 +89,6 @@
this.name = name;
}
- @XmlAttribute
- @JsonProperty
public int getId()
{
return id;
@@ -101,8 +99,9 @@
this.id = id;
}
- @XmlAttribute
- @JsonProperty
+ @XmlID
+ @XmlAttribute(name = "id")
+ @JsonProperty(value = "id")
public String getUid()
{
return uid;
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/BaseIdentifiableObjectXmlAdapter.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/BaseIdentifiableObjectXmlAdapter.java 2011-11-25 11:07:01 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/BaseIdentifiableObjectXmlAdapter.java 2011-11-25 14:03:14 +0000
@@ -50,7 +50,6 @@
{
BaseIdentifiableObject bio = new BaseIdentifiableObject();
- bio.setId( baseIdentifiableObject.getId() );
bio.setUid( baseIdentifiableObject.getUid() );
bio.setCode( baseIdentifiableObject.getCode() );
bio.setName( baseIdentifiableObject.getName() );
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/BaseNameableObjectXmlAdapter.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/BaseNameableObjectXmlAdapter.java 2011-11-25 11:07:01 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/BaseNameableObjectXmlAdapter.java 2011-11-25 14:03:14 +0000
@@ -50,7 +50,6 @@
{
BaseNameableObject bno = new BaseNameableObject();
- bno.setId( baseNameableObject.getId() );
bno.setUid( baseNameableObject.getUid() );
bno.setCode( baseNameableObject.getCode() );
bno.setName( baseNameableObject.getName() );
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementOperand.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementOperand.java 2011-11-24 17:03:14 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementOperand.java 2011-11-25 13:25:37 +0000
@@ -330,8 +330,6 @@
// Getters & setters
// -------------------------------------------------------------------------
- @XmlAttribute
- @JsonProperty
public int getId()
{
return id;
@@ -450,8 +448,6 @@
this.frequencyOrder = frequencyOrder;
}
- @XmlElement
- @JsonProperty
public String getOperandType()
{
return operandType;
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java 2011-11-25 18:32:06 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java 2011-12-02 15:18:52 +0000
@@ -371,8 +371,9 @@
this.sortOrder = sortOrder;
}
-/* @XmlElementWrapper( name = "sections" )
- @XmlElement( name = "section" ) */
+ @XmlElementWrapper( name = "sections" )
+ @XmlElement( name = "section" )
+ @JsonProperty
public Set<Section> getSections()
{
return sections;
=== 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 2011-11-25 18:17:41 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/Section.java 2011-12-02 15:18:52 +0000
@@ -23,28 +23,23 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
import org.codehaus.jackson.annotate.JsonProperty;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.hisp.dhis.common.adapter.BaseIdentifiableObjectXmlAdapter;
import org.hisp.dhis.common.adapter.JsonIdentifiableObjectListSerializer;
+import org.hisp.dhis.common.adapter.JsonIdentifiableObjectSetSerializer;
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.dataelement.DataElementCategoryCombo;
import org.hisp.dhis.dataelement.DataElementOperand;
+import javax.xml.bind.annotation.*;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
@XmlRootElement( name = "section" )
@XmlAccessorType( value = XmlAccessType.NONE )
public class Section
@@ -194,6 +189,7 @@
@XmlElement
@XmlJavaTypeAdapter( BaseIdentifiableObjectXmlAdapter.class )
+ @JsonSerialize( using = JsonIdentifiableObjectSetSerializer.class )
public DataSet getDataSet()
{
return dataSet;
@@ -235,8 +231,8 @@
this.sortOrder = sortOrder;
}
- @XmlElementWrapper(name = "greyedFields")
- @XmlElement(name = "greyedField")
+ @XmlElementWrapper( name = "greyedFields" )
+ @XmlElement( name = "greyedField" )
@JsonProperty
public Set<DataElementOperand> getGreyedFields()
{
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorService.java 2011-11-22 16:17:49 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/IndicatorService.java 2011-11-25 14:03:14 +0000
@@ -91,6 +91,8 @@
IndicatorType getIndicatorType( int id );
+ IndicatorType getIndicatorType( String uid );
+
Collection<IndicatorType> getIndicatorTypes( Collection<Integer> identifiers );
Collection<IndicatorType> getAllIndicatorTypes();
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java 2011-11-25 11:00:15 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java 2011-11-25 13:25:37 +0000
@@ -32,17 +32,13 @@
import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.hisp.dhis.attribute.AttributeValue;
import org.hisp.dhis.common.BaseNameableObject;
-import org.hisp.dhis.common.adapter.BaseNameableObjectXmlAdapter;
-import org.hisp.dhis.common.adapter.JsonDateSerializer;
+import org.hisp.dhis.common.adapter.*;
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.dataset.DataSet;
import org.hisp.dhis.organisationunit.comparator.OrganisationUnitNameComparator;
import org.hisp.dhis.user.User;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.*;
import java.util.regex.Matcher;
@@ -502,7 +498,7 @@
@XmlElement
@XmlJavaTypeAdapter( BaseNameableObjectXmlAdapter.class )
-/* @JsonSerialize( using = JsonNameableObjectSerializer.class ) */
+ @JsonSerialize( using = JsonNameableObjectSerializer.class )
public OrganisationUnit getParent()
{
return parent;
@@ -512,7 +508,7 @@
{
this.parent = parent;
}
-
+
public String getAlternativeName()
{
return getShortName();
@@ -621,6 +617,10 @@
this.url = url;
}
+ @XmlElementWrapper( name = "groups" )
+ @XmlElement( name = "group" )
+ @XmlJavaTypeAdapter( BaseIdentifiableObjectXmlAdapter.class )
+ @JsonSerialize( using = JsonIdentifiableObjectSetSerializer.class )
public Set<OrganisationUnitGroup> getGroups()
{
return groups;
@@ -631,6 +631,10 @@
this.groups = groups;
}
+ @XmlElementWrapper( name = "dataSets" )
+ @XmlElement( name = "dataSet" )
+ @XmlJavaTypeAdapter( BaseNameableObjectXmlAdapter.class )
+ @JsonSerialize( using = JsonNameableObjectSetSerializer.class )
public Set<DataSet> getDataSets()
{
return dataSets;
@@ -641,6 +645,7 @@
this.dataSets = dataSets;
}
+ // TODO expose this when marshalling?
public Set<User> getUsers()
{
return users;
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroup.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroup.java 2011-11-24 14:36:19 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroup.java 2011-11-25 13:25:37 +0000
@@ -27,11 +27,15 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.hisp.dhis.common.BaseIdentifiableObject;
+import org.hisp.dhis.common.adapter.BaseIdentifiableObjectXmlAdapter;
+import org.hisp.dhis.common.adapter.BaseNameableObjectXmlAdapter;
+import org.hisp.dhis.common.adapter.JsonIdentifiableObjectSerializer;
+import org.hisp.dhis.common.adapter.JsonNameableObjectSetSerializer;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.*;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.HashSet;
import java.util.Set;
@@ -139,6 +143,10 @@
// Getters and setters
// -------------------------------------------------------------------------
+ @XmlElementWrapper( name = "members" )
+ @XmlElement( name = "member" )
+ @XmlJavaTypeAdapter( BaseNameableObjectXmlAdapter.class )
+ @JsonSerialize( using = JsonNameableObjectSetSerializer.class )
public Set<OrganisationUnit> getMembers()
{
return members;
@@ -149,6 +157,9 @@
this.members = members;
}
+ @XmlElement
+ @XmlJavaTypeAdapter( BaseIdentifiableObjectXmlAdapter.class )
+ @JsonSerialize( using = JsonIdentifiableObjectSerializer.class )
public OrganisationUnitGroupSet getGroupSet()
{
return groupSet;
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSet.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSet.java 2011-11-24 14:36:19 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSet.java 2011-11-25 13:25:37 +0000
@@ -27,12 +27,15 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import org.codehaus.jackson.annotate.JsonProperty;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.hisp.dhis.common.BaseIdentifiableObject;
+import org.hisp.dhis.common.adapter.BaseIdentifiableObjectXmlAdapter;
+import org.hisp.dhis.common.adapter.JsonIdentifiableObjectSetSerializer;
import org.hisp.dhis.organisationunit.comparator.OrganisationUnitGroupNameComparator;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.*;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.*;
/**
@@ -169,6 +172,8 @@
// Getters and setters
// -------------------------------------------------------------------------
+ @XmlElement
+ @JsonProperty
public String getDescription()
{
return description;
@@ -179,6 +184,8 @@
this.description = description;
}
+ @XmlElement
+ @JsonProperty
public boolean isCompulsory()
{
return compulsory;
@@ -189,6 +196,10 @@
this.compulsory = compulsory;
}
+ @XmlElementWrapper( name = "organisationUnitGroups" )
+ @XmlElement( name = "organisationUnitGroup" )
+ @XmlJavaTypeAdapter( BaseIdentifiableObjectXmlAdapter.class )
+ @JsonSerialize( using = JsonIdentifiableObjectSetSerializer.class )
public Set<OrganisationUnitGroup> getOrganisationUnitGroups()
{
return organisationUnitGroups;
=== added 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 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroupSets.java 2011-11-25 13:25:37 +0000
@@ -0,0 +1,37 @@
+package org.hisp.dhis.organisationunit;
+
+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;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlRootElement( name = "organisationUnitGroupSets" )
+@XmlAccessorType( value = XmlAccessType.NONE )
+public class OrganisationUnitGroupSets
+{
+ private List<OrganisationUnitGroupSet> organisationUnitGroupSets = new ArrayList<OrganisationUnitGroupSet>();
+
+ public OrganisationUnitGroupSets()
+ {
+
+ }
+
+ @XmlElement( name = "organisationUnitGroupSet" )
+ @JsonProperty( value = "organisationUnitGroupSets" )
+ public List<OrganisationUnitGroupSet> getOrganisationUnitGroupSets()
+ {
+ return organisationUnitGroupSets;
+ }
+
+ public void setOrganisationUnitGroupSets( List<OrganisationUnitGroupSet> organisationUnitGroupSets )
+ {
+ this.organisationUnitGroupSets = organisationUnitGroupSets;
+ }
+}
=== added 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 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitGroups.java 2011-11-25 13:25:37 +0000
@@ -0,0 +1,37 @@
+package org.hisp.dhis.organisationunit;
+
+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;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlRootElement( name = "organisationUnitGroups" )
+@XmlAccessorType( value = XmlAccessType.NONE )
+public class OrganisationUnitGroups
+{
+ private List<OrganisationUnitGroup> organisationUnitGroups = new ArrayList<OrganisationUnitGroup>();
+
+ public OrganisationUnitGroups()
+ {
+
+ }
+
+ @XmlElement( name = "organisationUnitGroup" )
+ @JsonProperty( value = "organisationUnitGroups" )
+ public List<OrganisationUnitGroup> getOrganisationUnitGroups()
+ {
+ return organisationUnitGroups;
+ }
+
+ public void setOrganisationUnitGroups( List<OrganisationUnitGroup> organisationUnitGroups )
+ {
+ this.organisationUnitGroups = organisationUnitGroups;
+ }
+}
=== 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 2011-11-24 14:36:19 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitLevel.java 2011-11-25 15:12:06 +0000
@@ -27,10 +27,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import org.codehaus.jackson.annotate.JsonProperty;
import org.hisp.dhis.common.BaseIdentifiableObject;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
/**
@@ -105,6 +107,8 @@
// Getters and setters
// -------------------------------------------------------------------------
+ @XmlElement
+ @JsonProperty
public int getLevel()
{
return level;
=== added 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 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitLevels.java 2011-11-25 15:12:06 +0000
@@ -0,0 +1,36 @@
+package org.hisp.dhis.organisationunit;
+
+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;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlRootElement( name = "organisationUnitLevels" )
+@XmlAccessorType( value = XmlAccessType.NONE )
+public class OrganisationUnitLevels
+{
+ private List<OrganisationUnitLevel> organisationUnitLevels = new ArrayList<OrganisationUnitLevel>();
+
+ public OrganisationUnitLevels()
+ {
+ }
+
+ @XmlElement( name = "organisationUnitLevel" )
+ @JsonProperty( value = "organisationUnitLevels" )
+ public List<OrganisationUnitLevel> getOrganisationUnitLevels()
+ {
+ return organisationUnitLevels;
+ }
+
+ public void setOrganisationUnitLevels( List<OrganisationUnitLevel> organisationUnitLevels )
+ {
+ this.organisationUnitLevels = organisationUnitLevels;
+ }
+}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitService.java 2011-11-22 15:48:30 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitService.java 2011-11-25 15:12:06 +0000
@@ -27,16 +27,16 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import org.hisp.dhis.hierarchy.HierarchyViolationException;
+
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.hisp.dhis.hierarchy.HierarchyViolationException;
-
/**
* Defines methods for working with OrganisationUnits.
- *
+ *
* @author Torgeir Lorange Ostby
* @version $Id: OrganisationUnitService.java 5951 2008-10-16 17:41:34Z larshelg $
*/
@@ -45,14 +45,14 @@
String ID = OrganisationUnitService.class.getName();
final int MAX_LIMIT = 500;
-
+
// -------------------------------------------------------------------------
// OrganisationUnit
// -------------------------------------------------------------------------
/**
* Adds an OrganisationUnit to the hierarchy.
- *
+ *
* @param organisationUnit the OrganisationUnit to add.
* @return a generated unique id of the added OrganisationUnit.
*/
@@ -60,24 +60,24 @@
/**
* Updates an OrganisationUnit.
- *
+ *
* @param organisationUnit the OrganisationUnit to update.
*/
void updateOrganisationUnit( OrganisationUnit organisationUnit );
/**
* Updates an OrganisationUnit.
- *
+ *
* @param organisationUnit the organisationUnit to update.
- * @param updateHierarchy indicate whether the OrganisationUnit hierarchy
- * has been updated.
+ * @param updateHierarchy indicate whether the OrganisationUnit hierarchy
+ * has been updated.
*/
void updateOrganisationUnit( OrganisationUnit organisationUnit, boolean updateHierarchy );
-
+
/**
* Deletes an OrganisationUnit. OrganisationUnits with children cannot be
* deleted.
- *
+ *
* @param organisationUnit the OrganisationUnit to delete.
* @throws HierarchyViolationException if the OrganisationUnit has children.
*/
@@ -86,15 +86,15 @@
/**
* Returns an OrganisationUnit.
- *
+ *
* @param id the id of the OrganisationUnit to return.
* @return the OrganisationUnit with the given id, or null if no match.
*/
OrganisationUnit getOrganisationUnit( int id );
-
+
/**
* Returns the OrganisationUnit with the given UID.
- *
+ *
* @param uid the UID of the OrganisationUnit to return.
* @return the OrganisationUnit with the given UID, or null if no match.
*/
@@ -110,32 +110,32 @@
/**
* Returns all OrganisationUnits.
- *
+ *
* @return a collection of all OrganisationUnits, or an empty collection if
* there are no OrganisationUnits.
*/
Collection<OrganisationUnit> getAllOrganisationUnits();
-
+
/**
* Returns all OrganisationUnits with corresponding name key based on the given list.
- *
+ *
* @param orgUnits the collection of organization unit objects.
- * @param key the name key.
+ * @param key the name key.
* @return a collection of OrganisationUnits.
*/
void searchOrganisationUnitByName( List<OrganisationUnit> orgUnits, String key );
-
+
/**
* Returns all OrganisationUnits with corresponding identifiers.
- *
+ *
* @param identifiers the collection of identifiers.
* @return a collection of OrganisationUnits.
*/
Collection<OrganisationUnit> getOrganisationUnits( Collection<Integer> identifiers );
-
+
/**
* Returns an OrganisationUnit with a given name.
- *
+ *
* @param name the name of the OrganisationUnit to return.
* @return the OrganisationUnit with the given name, or null if not match.
*/
@@ -143,7 +143,7 @@
/**
* Returns an OrganisationUnit with a given name. Case is ignored.
- *
+ *
* @param name the name of the OrganisationUnit to return.
* @return the OrganisationUnit with the given name, or null if not match.
*/
@@ -152,7 +152,7 @@
/**
* Returns all root OrganisationUnits. A root OrganisationUnit is an
* OrganisationUnit with no parent/the parent set to null.
- *
+ *
* @return a collection containing all root OrganisationUnits, or an empty
* collection if there are no OrganisationUnits.
*/
@@ -161,15 +161,15 @@
/**
* Returns all OrganisationUnits which are part of the subtree of the
* OrganisationUnit with the given identifer and have no children.
- *
+ *
* @param id the identifier of the parent OrganisationUnit.
* @return a collection of OrganisationUnits.
*/
Collection<OrganisationUnit> getLeafOrganisationUnits( int id );
-
+
/**
* Returns an OrganisationUnit and all its children.
- *
+ *
* @param id the id of the parent OrganisationUnit in the subtree.
* @return a collection containing the OrganisationUnit with the given id
* and all its children, or an empty collection if no
@@ -181,7 +181,7 @@
* Returns the branch of OrganisationUnits from a root to a given
* OrganisationUnit. Both root and target OrganisationUnits are included in
* the returned collection.
- *
+ *
* @param id the id of the OrganisationUnit to trace upwards from.
* @return the list of OrganisationUnits from a root to the given
* OrganisationUnit, or an empty list if the given OrganisationUnit
@@ -192,19 +192,19 @@
/**
* Returns all OrganisationUnits at a given hierarchical level. The root
* OrganisationUnits are at level 1.
- *
+ *
* @param level the hierarchical level.
* @return a collection of all OrganisationUnits at a given hierarchical
* level, or an empty collection if the level is empty.
* @throws IllegalArgumentException if the level is zero or negative.
*/
Collection<OrganisationUnit> getOrganisationUnitsAtLevel( int level );
-
+
/**
* Returns all OrganisationUnits which are children of the given unit and are
* at the given hierarchical level. The root OrganisationUnits are at level 1.
- *
- * @param level the hierarchical level.
+ *
+ * @param level the hierarchical level.
* @param parent the parent unit.
* @return all OrganisationUnits which are children of the given unit and are
* at the given hierarchical level.
@@ -215,16 +215,16 @@
/**
* Returns the hierarchical level in which the given OrganisationUnit
* resides.
- *
+ *
* @param id the identifier of the OrganisationUnit.
* @return the hierarchical level of the given OrganisationUnit.
*/
int getLevelOfOrganisationUnit( int id );
-
+
/**
* Returns the hierarchical level in which the given OrganisationUnit
* resides.
- *
+ *
* @param organisationUnit the OrganisationUnit.
* @return the hierarchical level of the given OrganisationUnit.
*/
@@ -232,24 +232,24 @@
/**
* Returns the number of levels in the OrganisationUnit hierarchy.
- *
+ *
* @return the number of hierarchical levels.
*/
int getNumberOfOrganisationalLevels();
/**
* Returns all OrganisationUnits which are not a member of any OrganisationUnitGroups.
- *
+ *
* @return all OrganisationUnits which are not a member of any OrganisationUnitGroups.
*/
Collection<OrganisationUnit> getOrganisationUnitsWithoutGroups();
-
+
/**
* Get the units which name are like the given name and are members of the
- * given groups. If name or groups are null or empty they are ignored in the
- * search. If name and groups are null an empty collection is returned.
- *
- * @param name the name.
+ * given groups. If name or groups are null or empty they are ignored in the
+ * search. If name and groups are null an empty collection is returned.
+ *
+ * @param name the name.
* @param groups the organisation unit groups.
* @return a collection of organisation units.
*/
@@ -257,75 +257,77 @@
/**
* Get the units which name are like the given name, are members of the
- * given groups and children of the given parent organisation unit. If name
- * or groups are null or empty they are ignored in the sarch. If name and
- * groups are null an empty collection is returned.
- *
- * @param name the name.
+ * given groups and children of the given parent organisation unit. If name
+ * or groups are null or empty they are ignored in the sarch. If name and
+ * groups are null an empty collection is returned.
+ *
+ * @param name the name.
* @param groups the organisation unit groups.
* @return a collection of organisation units.
*/
Collection<OrganisationUnit> getOrganisationUnitsByNameAndGroups( String name, Collection<OrganisationUnitGroup> groups, OrganisationUnit parent, boolean limit );
OrganisationUnitDataSetAssociationSet getOrganisationUnitDataSetAssociationSet();
-
+
void filterOrganisationUnitsWithoutData( Collection<OrganisationUnit> organisationUnits );
-
+
// -------------------------------------------------------------------------
// OrganisationUnitHierarchy
// -------------------------------------------------------------------------
/**
- * Get the OrganisationUnit hierarchy.
- *
+ * Get the OrganisationUnit hierarchy.
+ *
* @return a Collection with OrganisationUnitRelationship entries.
*/
OrganisationUnitHierarchy getOrganisationUnitHierarchy();
/**
* Updates the parent id of the organisation unit with the given id.
- *
+ *
* @param organisationUnitId the child organisation unit identifier.
- * @param parentId the parent organisation unit identifier.
+ * @param parentId the parent organisation unit identifier.
*/
void updateOrganisationUnitParent( int organisationUnitId, int parentId );
-
+
// -------------------------------------------------------------------------
// OrganisationUnitLevel
// -------------------------------------------------------------------------
int addOrganisationUnitLevel( OrganisationUnitLevel level );
-
+
void updateOrganisationUnitLevel( OrganisationUnitLevel level );
-
+
void addOrUpdateOrganisationUnitLevel( OrganisationUnitLevel level );
-
+
void pruneOrganisationUnitLevels( Set<Integer> currentLevels );
-
+
OrganisationUnitLevel getOrganisationUnitLevel( int id );
-
+
+ OrganisationUnitLevel getOrganisationUnitLevel( String uid );
+
Collection<OrganisationUnitLevel> getOrganisationUnitLevels( Collection<Integer> identifiers );
-
+
void deleteOrganisationUnitLevel( OrganisationUnitLevel level );
void deleteOrganisationUnitLevels();
-
+
List<OrganisationUnitLevel> getOrganisationUnitLevels();
-
+
OrganisationUnitLevel getOrganisationUnitLevelByLevel( int level );
-
+
OrganisationUnitLevel getOrganisationUnitLevelByName( String name );
-
+
List<OrganisationUnitLevel> getFilledOrganisationUnitLevels();
-
+
Map<Integer, OrganisationUnitLevel> getOrganisationUnitLevelMap();
-
+
int getNumberOfOrganisationUnits();
-
+
int getMaxOfOrganisationUnitLevels();
-
+
void updateOrganisationUnits( Collection<OrganisationUnit> units );
-
+
Collection<OrganisationUnit> getOrganisationUnits( Boolean hasPatients );
// -------------------------------------------------------------------------
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitStore.java 2011-11-03 01:02:13 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitStore.java 2011-11-25 15:12:06 +0000
@@ -125,6 +125,14 @@
OrganisationUnitLevel getOrganisationUnitLevel( int id );
/**
+ * Gets an OrganisationUnitLevel.
+ *
+ * @param uid the identifier of the OrganisationUnitLevel.
+ * @return the OrganisationUnitLevel with the given identifier.
+ */
+ OrganisationUnitLevel getOrganisationUnitLevel( String uid );
+
+ /**
* Deletes an OrganisationUnitLevel.
*
* @param level the OrganisationUnitLevel to delete.
=== 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-11-23 14:49:40 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnits.java 2011-11-25 13:25:37 +0000
@@ -20,6 +20,7 @@
public OrganisationUnits()
{
+
}
@XmlElement( name = "organisationUnit" )
=== 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 2011-10-13 15:15:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/User.java 2011-11-25 14:53:34 +0000
@@ -27,20 +27,27 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import org.apache.commons.collections.CollectionUtils;
+import org.codehaus.jackson.annotate.JsonProperty;
+import org.hisp.dhis.attribute.AttributeValue;
+import org.hisp.dhis.common.IdentifiableObjectUtils;
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
-import org.apache.commons.collections.CollectionUtils;
-import org.hisp.dhis.attribute.AttributeValue;
-import org.hisp.dhis.common.IdentifiableObjectUtils;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-
/**
* @author Nguyen Hong Duc
* @version $Id: User.java 5554 2008-08-20 09:18:38Z abyot $
*/
+@XmlRootElement( name = "user" )
+@XmlAccessorType( value = XmlAccessType.NONE )
public class User
implements Serializable
{
@@ -56,11 +63,11 @@
*/
private String surname;
- /**
- * Required.
- */
private String firstName;
+ /**
+ * Optional.
+ */
private String email;
private String phoneNumber;
@@ -69,13 +76,13 @@
/**
* All OrgUnits where the user could belong
- *
+ * <p/>
* TODO This should have been put in UserCredentials
*/
private Set<OrganisationUnit> organisationUnits = new HashSet<OrganisationUnit>();
/**
- * Set of the dynamic attributes values that belong to this dataElement.
+ * Set of the dynamic attributes values that belong to this User.
*/
private Set<AttributeValue> attributeValues = new HashSet<AttributeValue>();
@@ -169,7 +176,7 @@
* Null is returned if the user has no organisation units. Which
* organisation unit to return is undefined if the user has multiple
* organisation units.
- *
+ *
* @return an organisation unit associated with the user.
*/
public OrganisationUnit getOrganisationUnit()
@@ -206,6 +213,8 @@
this.id = id;
}
+ @XmlElement
+ @JsonProperty
public String getFirstName()
{
return firstName;
@@ -216,6 +225,8 @@
this.firstName = firstName;
}
+ @XmlElement
+ @JsonProperty
public String getSurname()
{
return surname;
@@ -226,6 +237,8 @@
this.surname = surname;
}
+ @XmlElement
+ @JsonProperty
public String getEmail()
{
return email;
@@ -236,6 +249,8 @@
this.email = email;
}
+ @XmlElement
+ @JsonProperty
public String getPhoneNumber()
{
return phoneNumber;
=== added 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 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/Users.java 2011-11-25 14:53:34 +0000
@@ -0,0 +1,37 @@
+package org.hisp.dhis.user;
+
+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;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@XmlRootElement( name = "users" )
+@XmlAccessorType( value = XmlAccessType.NONE )
+public class Users
+{
+ private List<User> users = new ArrayList<User>();
+
+ public Users()
+ {
+
+ }
+
+ @XmlElement( name = "user" )
+ @JsonProperty( value = "users" )
+ public List<User> getUsers()
+ {
+ return users;
+ }
+
+ public void setUsers( List<User> users )
+ {
+ this.users = users;
+ }
+}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/hibernate/HibernateDataSetStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/hibernate/HibernateDataSetStore.java 2011-11-03 01:02:13 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/hibernate/HibernateDataSetStore.java 2011-11-25 14:03:14 +0000
@@ -100,12 +100,12 @@
return (DataSet) session.get( DataSet.class, id );
}
- public DataSet getDataSet( String uuid )
+ public DataSet getDataSet( String uid )
{
Session session = sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria( DataSet.class );
- criteria.add( Restrictions.eq( "uuid", uuid ) );
+ criteria.add( Restrictions.eq( "uid", uid ) );
return (DataSet) criteria.uniqueResult();
}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/DefaultIndicatorService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/DefaultIndicatorService.java 2011-11-22 16:17:49 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/DefaultIndicatorService.java 2011-11-25 14:03:14 +0000
@@ -27,19 +27,19 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import static org.hisp.dhis.i18n.I18nUtils.i18n;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-
import org.hisp.dhis.common.GenericIdentifiableObjectStore;
import org.hisp.dhis.i18n.I18nService;
import org.hisp.dhis.system.util.Filter;
import org.hisp.dhis.system.util.FilterUtils;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Iterator;
+
+import static org.hisp.dhis.i18n.I18nUtils.i18n;
+
/**
* @author Lars Helge Overland
* @version $Id$
@@ -123,9 +123,9 @@
return i18n( i18nService, indicatorStore.getIndicator( id ) );
}
- public Indicator getIndicator( String uuid )
+ public Indicator getIndicator( String uid )
{
- return i18n( i18nService, indicatorStore.getIndicator( uuid ) );
+ return i18n( i18nService, indicatorStore.getIndicator( uid ) );
}
public Collection<Indicator> getAllIndicators()
@@ -238,6 +238,11 @@
return i18n( i18nService, indicatorTypeStore.get( id ) );
}
+ public IndicatorType getIndicatorType( String uid )
+ {
+ return i18n( i18nService, indicatorTypeStore.getByUid( uid ) );
+ }
+
public Collection<IndicatorType> getIndicatorTypes( final Collection<Integer> identifiers )
{
Collection<IndicatorType> types = getAllIndicatorTypes();
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/hibernate/HibernateIndicatorStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/hibernate/HibernateIndicatorStore.java 2011-11-11 13:25:30 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/indicator/hibernate/HibernateIndicatorStore.java 2011-11-25 14:03:14 +0000
@@ -75,12 +75,12 @@
return (Indicator) session.get( Indicator.class, id );
}
- public Indicator getIndicator( String uuid )
+ public Indicator getIndicator( String uid )
{
Session session = sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria( Indicator.class );
- criteria.add( Restrictions.eq( "uuid", uuid ) );
+ criteria.add( Restrictions.eq( "uid", uid ) );
return (Indicator) criteria.uniqueResult();
}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java 2011-11-22 15:48:30 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java 2011-11-25 15:12:06 +0000
@@ -596,6 +596,11 @@
return organisationUnitStore.getOrganisationUnitLevel( id );
}
+ public OrganisationUnitLevel getOrganisationUnitLevel( String uid )
+ {
+ return organisationUnitStore.getOrganisationUnitLevel( uid );
+ }
+
public Collection<OrganisationUnitLevel> getOrganisationUnitLevels( final Collection<Integer> identifiers )
{
Collection<OrganisationUnitLevel> objects = getOrganisationUnitLevels();
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java 2011-11-04 09:28:14 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java 2011-11-25 15:12:06 +0000
@@ -254,6 +254,11 @@
return orgLevelStore.get( id );
}
+ public OrganisationUnitLevel getOrganisationUnitLevel( String uid )
+ {
+ return orgLevelStore.getByUid( uid );
+ }
+
public void deleteOrganisationUnitLevel( OrganisationUnitLevel level )
{
orgLevelStore.delete( level );
=== modified file 'dhis-2/dhis-support/dhis-support-xml/src/main/java/org/amplecode/staxwax/transformer/LoggingErrorListener.java'
--- dhis-2/dhis-support/dhis-support-xml/src/main/java/org/amplecode/staxwax/transformer/LoggingErrorListener.java 2010-02-22 09:37:31 +0000
+++ dhis-2/dhis-support/dhis-support-xml/src/main/java/org/amplecode/staxwax/transformer/LoggingErrorListener.java 2011-11-28 22:54:04 +0000
@@ -46,7 +46,7 @@
public void warning( TransformerException exception )
throws TransformerException
{
- log.warn( exception.getMessageAndLocation() );
+ log.warn( "xslt: " + exception.getMessage() );
}
@Override
=== modified file 'dhis-2/dhis-web/dhis-web-api/pom.xml'
--- dhis-2/dhis-web/dhis-web-api/pom.xml 2011-12-02 14:53:08 +0000
+++ dhis-2/dhis-web/dhis-web-api/pom.xml 2011-12-02 15:18:52 +0000
@@ -46,6 +46,10 @@
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>fop</artifactId>
+ </dependency>
</dependencies>
<properties>
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ChartController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ChartController.java 2011-11-24 17:50:07 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ChartController.java 2011-12-01 13:44:45 +0000
@@ -32,12 +32,14 @@
import org.hisp.dhis.chart.Charts;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
/**
* @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
@@ -50,19 +52,23 @@
private ChartService chartService;
@RequestMapping( method = RequestMethod.GET )
- public Charts getCharts()
+ public String getCharts( Model model )
{
Charts charts = new Charts();
charts.setCharts( new ArrayList<Chart>( chartService.getAllCharts() ) );
- return charts;
+ model.addAttribute( "model", charts );
+
+ return "charts";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public Chart getChart( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getChart( @PathVariable( "uid" ) String uid, Model model )
{
Chart chart = chartService.getChart( uid );
- return chart;
+ model.addAttribute( "model", chart );
+
+ return "chart";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/CompleteDataSetRegistrationController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/CompleteDataSetRegistrationController.java 2011-11-24 17:50:07 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/CompleteDataSetRegistrationController.java 2011-12-01 19:14:36 +0000
@@ -1,17 +1,41 @@
package org.hisp.dhis.api.controller;
-import org.hisp.dhis.chart.Chart;
-import org.hisp.dhis.chart.Charts;
+/*
+ * 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.hisp.dhis.dataset.CompleteDataSetRegistration;
import org.hisp.dhis.dataset.CompleteDataSetRegistrationService;
import org.hisp.dhis.dataset.CompleteDataSetRegistrations;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
/**
@@ -30,17 +54,19 @@
}
@RequestMapping( method = RequestMethod.GET )
- public CompleteDataSetRegistrations getCompleteDataSetRegistrations()
+ public String getCompleteDataSetRegistrations( Model model )
{
CompleteDataSetRegistrations completeDataSetRegistrations = new CompleteDataSetRegistrations();
completeDataSetRegistrations.setCompleteDataSetRegistrations( new ArrayList<CompleteDataSetRegistration>( completeDataSetRegistrationService.getAllCompleteDataSetRegistrations() ) );
- return completeDataSetRegistrations;
+ model.addAttribute( "model", completeDataSetRegistrations );
+
+ return "completeDataSetRegistrations";
}
/*
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public Chart getChart( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public Chart getChart( @PathVariable( "uid" ) String uid )
{
CompleteDataSetRegistration completeDataSetRegistration = completeDataSetRegistrationService.getCompleteDataSetRegistration( )
Chart chart = chartService.getChart( uid );
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryComboController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryComboController.java 2011-11-23 14:00:28 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryComboController.java 2011-12-01 19:14:36 +0000
@@ -1,16 +1,45 @@
package org.hisp.dhis.api.controller;
+/*
+ * 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.hisp.dhis.dataelement.DataElementCategoryCombo;
import org.hisp.dhis.dataelement.DataElementCategoryCombos;
import org.hisp.dhis.dataelement.DataElementCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
/**
* @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
@@ -22,24 +51,24 @@
@Autowired
private DataElementCategoryService dataElementCategoryService;
- public DataElementCategoryComboController()
- {
- }
-
@RequestMapping( method = RequestMethod.GET )
- public DataElementCategoryCombos getDataElementCategoryCombos()
+ public String getDataElementCategoryCombos( Model model )
{
DataElementCategoryCombos dataElementCategoryCombos = new DataElementCategoryCombos();
dataElementCategoryCombos.setDataElementCategoryCombos( new ArrayList<DataElementCategoryCombo>( dataElementCategoryService.getAllDataElementCategoryCombos() ) );
- return dataElementCategoryCombos;
+ model.addAttribute( "model", dataElementCategoryCombos );
+
+ return "dataElementCategoryCombos";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public DataElementCategoryCombo getDataElementCategoryCombo( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getDataElementCategoryCombo( @PathVariable( "uid" ) String uid, Model model )
{
DataElementCategoryCombo dataElementCategoryCombo = dataElementCategoryService.getDataElementCategoryCombo( uid );
- return dataElementCategoryCombo;
+ model.addAttribute( "model", dataElementCategoryCombo );
+
+ return "dataElementCategoryCombo";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryController.java 2011-11-23 14:00:28 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryController.java 2011-12-01 19:14:36 +0000
@@ -1,15 +1,42 @@
package org.hisp.dhis.api.controller;
+/*
+ * 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.hisp.dhis.dataelement.DataElementCategories;
import org.hisp.dhis.dataelement.DataElementCategory;
import org.hisp.dhis.dataelement.DataElementCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
/**
@@ -22,24 +49,24 @@
@Autowired
private DataElementCategoryService dataElementCategoryService;
- public DataElementCategoryController()
- {
- }
-
@RequestMapping( method = RequestMethod.GET )
- public DataElementCategories getDataElementCategories()
+ public String getDataElementCategories( Model model )
{
DataElementCategories dataElementCategories = new DataElementCategories();
dataElementCategories.setDataElementCategories( new ArrayList<DataElementCategory>( dataElementCategoryService.getAllDataElementCategories() ) );
- return dataElementCategories;
+ model.addAttribute( "model", dataElementCategories );
+
+ return "dataElementCategories";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public DataElementCategory getDataElementCategory( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getDataElementCategory( @PathVariable( "uid" ) String uid, Model model )
{
DataElementCategory dataElementCategory = dataElementCategoryService.getDataElementCategory( uid );
- return dataElementCategory;
+ model.addAttribute( "model", dataElementCategory );
+
+ return "dataElementCategory";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryOptionComboController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryOptionComboController.java 2011-11-23 14:00:28 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryOptionComboController.java 2011-12-01 19:14:36 +0000
@@ -1,15 +1,42 @@
package org.hisp.dhis.api.controller;
+/*
+ * 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.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
import org.hisp.dhis.dataelement.DataElementCategoryOptionCombos;
import org.hisp.dhis.dataelement.DataElementCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
/**
@@ -22,24 +49,24 @@
@Autowired
private DataElementCategoryService dataElementCategoryService;
- public DataElementCategoryOptionComboController()
- {
- }
-
@RequestMapping( method = RequestMethod.GET )
- public DataElementCategoryOptionCombos getDataElementCategoryOptionCombos()
+ public String getDataElementCategoryOptionCombos( Model model )
{
DataElementCategoryOptionCombos dataElementCategoryOptionCombos = new DataElementCategoryOptionCombos();
dataElementCategoryOptionCombos.setDataElementCategoryOptionCombos( new ArrayList<DataElementCategoryOptionCombo>( dataElementCategoryService.getAllDataElementCategoryOptionCombos() ) );
- return dataElementCategoryOptionCombos;
+ model.addAttribute( "model", dataElementCategoryOptionCombos );
+
+ return "dataElementCategoryOptionCombos";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public DataElementCategoryOptionCombo getDataElementCategoryCombo( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getDataElementCategoryCombo( @PathVariable( "uid" ) String uid, Model model )
{
DataElementCategoryOptionCombo dataElementCategoryOptionCombo = dataElementCategoryService.getDataElementCategoryOptionCombo( uid );
- return dataElementCategoryOptionCombo;
+ model.addAttribute( "model", dataElementCategoryOptionCombo );
+
+ return "dataElementCategoryOptionCombo";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryOptionController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryOptionController.java 2011-11-23 14:00:28 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementCategoryOptionController.java 2011-12-01 19:14:36 +0000
@@ -1,15 +1,42 @@
package org.hisp.dhis.api.controller;
+/*
+ * 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.hisp.dhis.dataelement.DataElementCategoryOption;
import org.hisp.dhis.dataelement.DataElementCategoryOptions;
import org.hisp.dhis.dataelement.DataElementCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
/**
@@ -22,24 +49,24 @@
@Autowired
private DataElementCategoryService dataElementCategoryService;
- public DataElementCategoryOptionController()
- {
- }
-
@RequestMapping( method = RequestMethod.GET )
- public DataElementCategoryOptions getDataElementCategoryOptions()
+ public String getDataElementCategoryOptions( Model model )
{
DataElementCategoryOptions dataElementCategoryOptions = new DataElementCategoryOptions();
dataElementCategoryOptions.setDataElementCategoryOptions( new ArrayList<DataElementCategoryOption>( dataElementCategoryService.getAllDataElementCategoryOptions() ) );
- return dataElementCategoryOptions;
+ model.addAttribute( "model", dataElementCategoryOptions );
+
+ return "dataElementCategoryOptions";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public DataElementCategoryOption getDataElementCategoryOption( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getDataElementCategoryOption( @PathVariable( "uid" ) String uid, Model model )
{
DataElementCategoryOption dataElementCategoryOption = dataElementCategoryService.getDataElementCategoryOption( uid );
- return dataElementCategoryOption;
+ model.addAttribute( "model", dataElementCategoryOption );
+
+ return "dataElementCategoryOption";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementController.java 2011-11-21 12:41:53 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementController.java 2011-12-02 17:22:15 +0000
@@ -31,14 +31,21 @@
import org.hisp.dhis.dataelement.DataElementService;
import org.hisp.dhis.dataelement.DataElements;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseStatus;
-import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
import java.util.ArrayList;
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
@Controller
@RequestMapping( value = "/dataElements" )
public class DataElementController
@@ -47,19 +54,62 @@
private DataElementService dataElementService;
@RequestMapping( method = RequestMethod.GET )
- public DataElements getDataElements()
+ public String getDataElements( Model model )
{
DataElements dataElements = new DataElements();
dataElements.setDataElements( new ArrayList<DataElement>( dataElementService.getAllActiveDataElements() ) );
- return dataElements;
+ model.addAttribute( "model", dataElements );
+
+ return "dataElements";
+ }
+
+ @RequestMapping( method = RequestMethod.POST, headers = {"Content-Type=application/xml, text/xml"} )
+ @ResponseStatus( value = HttpStatus.CREATED )
+ public void postDataElementXML( HttpServletResponse response, InputStream input ) throws Exception
+ {
+ System.err.println( "POST request on DataElement using XML." );
+
+ // response.setHeader("Location", "/spittles/" + spittle.getId());
+ }
+
+ @RequestMapping( method = RequestMethod.POST, headers = {"Content-Type=application/json"} )
+ @ResponseStatus( value = HttpStatus.CREATED )
+ public void postDataElementJSON( HttpServletResponse response, InputStream input ) throws Exception
+ {
+ System.err.println( "POST request on DataElement using JSON." );
+
+ // response.setHeader("Location", "/spittles/" + spittle.getId());
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public DataElement getDataElement( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getDataElement( @PathVariable( "uid" ) String uid, Model model )
{
DataElement dataElement = dataElementService.getDataElement( uid );
- return dataElement;
+ model.addAttribute( "model", dataElement );
+
+ return "dataElement";
+ }
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.DELETE )
+ @ResponseStatus( value = HttpStatus.NO_CONTENT )
+ public void deleteDataElement( @PathVariable( "uid" ) String uid )
+ {
+ System.err.println( "DELETE request on DataElement with UID = " + uid );
+ }
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.PUT, headers = {"Content-Type=application/xml, text/xml"} )
+ @ResponseStatus( value = HttpStatus.NO_CONTENT )
+ public void putDataElementXML( @PathVariable( "uid" ) String uid, InputStream input )
+ {
+ System.err.println( "PUT request on DataElement with UID = " + uid + " using XML." );
+ }
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.PUT, headers = {"Content-Type=application/json"} )
+ @ResponseStatus( value = HttpStatus.NO_CONTENT )
+ public void putDataElementJSON( @PathVariable( "uid" ) String uid, InputStream input )
+ {
+ System.err.println( "PUT request on DataElement with UID = " + uid + " using JSON." );
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementGroupController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementGroupController.java 2011-11-23 12:21:07 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementGroupController.java 2011-12-01 19:14:36 +0000
@@ -32,11 +32,11 @@
import org.hisp.dhis.dataelement.DataElementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
@Controller
@@ -47,19 +47,23 @@
private DataElementService dataElementService;
@RequestMapping( method = RequestMethod.GET )
- public DataElementGroups getDataElementGroups()
+ public String getDataElementGroups( Model model )
{
DataElementGroups dataElementGroups = new DataElementGroups();
dataElementGroups.setDataElementGroups( new ArrayList<DataElementGroup>( dataElementService.getAllDataElementGroups() ) );
- return dataElementGroups;
+ model.addAttribute( "model", dataElementGroups );
+
+ return "dataElementGroups";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public DataElementGroup getDataElementGroup( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getDataElementGroup( @PathVariable( "uid" ) String uid, Model model )
{
DataElementGroup dataElementGroup = dataElementService.getDataElementGroup( uid );
- return dataElementGroup;
+ model.addAttribute( "model", dataElementGroup );
+
+ return "dataElementGroup";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementGroupSetController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementGroupSetController.java 2011-11-23 12:21:07 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataElementGroupSetController.java 2011-12-01 19:14:36 +0000
@@ -32,13 +32,16 @@
import org.hisp.dhis.dataelement.DataElementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
@Controller
@RequestMapping( value = "/dataElementGroupSets" )
public class DataElementGroupSetController
@@ -47,19 +50,23 @@
private DataElementService dataElementService;
@RequestMapping( method = RequestMethod.GET )
- public DataElementGroupSets getDataElementGroupSets()
+ public String getDataElementGroupSets( Model model )
{
DataElementGroupSets dataElementGroupSets = new DataElementGroupSets();
dataElementGroupSets.setDataElementGroupSets( new ArrayList<DataElementGroupSet>( dataElementService.getAllDataElementGroupSets() ) );
- return dataElementGroupSets;
+ model.addAttribute( "model", dataElementGroupSets );
+
+ return "dataElementGroupSets";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public DataElementGroupSet getDataElementGroupSet( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getDataElementGroupSet( @PathVariable( "uid" ) String uid, Model model )
{
DataElementGroupSet dataElementGroupSet = dataElementService.getDataElementGroupSet( uid );
- return dataElementGroupSet;
+ model.addAttribute( "model", dataElementGroupSet );
+
+ return "dataElementGroupSet";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataSetController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataSetController.java 2011-12-02 14:53:08 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/DataSetController.java 2011-12-02 15:18:52 +0000
@@ -1,15 +1,42 @@
package org.hisp.dhis.api.controller;
+/*
+ * 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.hisp.dhis.dataset.DataSet;
import org.hisp.dhis.dataset.DataSetService;
import org.hisp.dhis.dataset.DataSets;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
/**
@@ -22,25 +49,24 @@
@Autowired
private DataSetService dataSetService;
- public DataSetController()
- {
-
- }
-
@RequestMapping( method = RequestMethod.GET )
- public DataSets getDataSets()
+ public String getDataSets( Model model )
{
DataSets dataSets = new DataSets();
dataSets.setDataSets( new ArrayList<DataSet>( dataSetService.getAllDataSets() ) );
- return dataSets;
+ model.addAttribute( "model", dataSets );
+
+ return "dataSets";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public DataSet getDataSet( @PathVariable( "uid" ) String uid, HttpServletRequest request )
+ public String getDataSet( @PathVariable( "uid" ) String uid, Model model )
{
DataSet dataSet = dataSetService.getDataSet( uid );
- return dataSet;
+ model.addAttribute( "model", dataSet );
+
+ return "dataSet";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorController.java 2011-11-22 14:05:18 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorController.java 2011-12-01 19:14:36 +0000
@@ -32,13 +32,16 @@
import org.hisp.dhis.indicator.Indicators;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
@Controller
@RequestMapping( value = "/indicators" )
public class IndicatorController
@@ -47,19 +50,23 @@
private IndicatorService indicatorService;
@RequestMapping( method = RequestMethod.GET )
- public Indicators getIndicators()
+ public String getIndicators( Model model )
{
Indicators indicators = new Indicators();
indicators.setIndicators( new ArrayList<Indicator>( indicatorService.getAllIndicators() ) );
- return indicators;
+ model.addAttribute( "model", indicators );
+
+ return "indicators";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public Indicator getIndicator( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getIndicator( @PathVariable( "uid" ) String uid, Model model )
{
Indicator indicator = indicatorService.getIndicator( uid );
- return indicator;
+ model.addAttribute( "model", indicator );
+
+ return "indicator";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorGroupController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorGroupController.java 2011-11-23 12:21:07 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorGroupController.java 2011-12-01 19:14:36 +0000
@@ -27,16 +27,21 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import org.hisp.dhis.indicator.*;
+import org.hisp.dhis.indicator.IndicatorGroup;
+import org.hisp.dhis.indicator.IndicatorGroups;
+import org.hisp.dhis.indicator.IndicatorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
@Controller
@RequestMapping( value = "/indicatorGroups" )
public class IndicatorGroupController
@@ -45,19 +50,23 @@
private IndicatorService indicatorService;
@RequestMapping( method = RequestMethod.GET )
- public IndicatorGroups getIndicatorGroups()
+ public String getIndicatorGroups( Model model )
{
IndicatorGroups indicatorGroups = new IndicatorGroups();
indicatorGroups.setIndicatorGroups( new ArrayList<IndicatorGroup>( indicatorService.getAllIndicatorGroups() ) );
- return indicatorGroups;
+ model.addAttribute( "model", indicatorGroups );
+
+ return "indicatorGroups";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public IndicatorGroup getIndicatorGroup( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getIndicatorGroup( @PathVariable( "uid" ) String uid, Model model )
{
IndicatorGroup indicatorGroup = indicatorService.getIndicatorGroup( uid );
- return indicatorGroup;
+ model.addAttribute( "model", indicatorGroup );
+
+ return "indicatorGroup";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorGroupSetController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorGroupSetController.java 2011-11-23 12:21:07 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorGroupSetController.java 2011-12-01 19:14:36 +0000
@@ -32,13 +32,16 @@
import org.hisp.dhis.indicator.IndicatorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
@Controller
@RequestMapping( value = "/indicatorGroupSets" )
public class IndicatorGroupSetController
@@ -47,19 +50,23 @@
private IndicatorService indicatorService;
@RequestMapping( method = RequestMethod.GET )
- public IndicatorGroupSets getIndicatorGroupSets()
+ public String getIndicatorGroupSets( Model model )
{
IndicatorGroupSets indicatorGroupSets = new IndicatorGroupSets();
indicatorGroupSets.setIndicatorGroupSets( new ArrayList<IndicatorGroupSet>( indicatorService.getAllIndicatorGroupSets() ) );
- return indicatorGroupSets;
+ model.addAttribute( "model", indicatorGroupSets );
+
+ return "indicatorGroupSets";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public IndicatorGroupSet getIndicatorGroupSet( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getIndicatorGroupSet( @PathVariable( "uid" ) String uid, Model model )
{
IndicatorGroupSet indicatorGroupSet = indicatorService.getIndicatorGroupSet( uid );
- return indicatorGroupSet;
+ model.addAttribute( "model", indicatorGroupSet );
+
+ return "indicatorGroupSet";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorTypeController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorTypeController.java 2011-11-23 12:28:39 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/IndicatorTypeController.java 2011-12-01 19:14:36 +0000
@@ -32,13 +32,16 @@
import org.hisp.dhis.indicator.IndicatorTypes;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
@Controller
@RequestMapping( value = "/indicatorTypes" )
public class IndicatorTypeController
@@ -47,19 +50,23 @@
private IndicatorService indicatorService;
@RequestMapping( method = RequestMethod.GET )
- public IndicatorTypes getIndicatorTypes()
+ public String getIndicatorTypes( Model model )
{
IndicatorTypes indicatorTypes = new IndicatorTypes();
indicatorTypes.setIndicatorTypes( new ArrayList<IndicatorType>( indicatorService.getAllIndicatorTypes() ) );
- return indicatorTypes;
+ model.addAttribute( "model", indicatorTypes );
+
+ return "indicatorTypes";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public IndicatorType getIndicator( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getIndicator( @PathVariable( "uid" ) String uid, Model model )
{
IndicatorType indicatorType = indicatorService.getIndicatorType( uid );
- return indicatorType;
+ model.addAttribute( "model", indicatorType );
+
+ return "indicatorType";
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitController.java 2011-11-23 14:49:40 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitController.java 2011-12-01 19:14:36 +0000
@@ -5,11 +5,11 @@
import org.hisp.dhis.organisationunit.OrganisationUnits;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
/**
@@ -22,25 +22,24 @@
@Autowired
private OrganisationUnitService organisationUnitService;
- public OrganisationUnitController()
- {
-
- }
-
@RequestMapping( method = RequestMethod.GET )
- public OrganisationUnits getOrganisationUnits()
+ public String getOrganisationUnits( Model model )
{
OrganisationUnits organisationUnits = new OrganisationUnits();
organisationUnits.setOrganisationUnits( new ArrayList<OrganisationUnit>( organisationUnitService.getAllOrganisationUnits() ) );
- return organisationUnits;
+ model.addAttribute( "model", organisationUnits );
+
+ return "organisationUnits";
}
@RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public OrganisationUnit getOrganisationUnit( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
+ public String getOrganisationUnit( @PathVariable( "uid" ) String uid, Model model )
{
OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( uid );
- return organisationUnit;
+ model.addAttribute( "model", organisationUnit );
+
+ return "organisationUnit";
}
}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitGroupController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitGroupController.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitGroupController.java 2011-12-01 19:14:36 +0000
@@ -0,0 +1,45 @@
+package org.hisp.dhis.api.controller;
+
+import org.hisp.dhis.organisationunit.OrganisationUnitGroup;
+import org.hisp.dhis.organisationunit.OrganisationUnitGroupService;
+import org.hisp.dhis.organisationunit.OrganisationUnitGroups;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.ArrayList;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@Controller
+@RequestMapping( value = "/organisationUnitGroups" )
+public class OrganisationUnitGroupController
+{
+ @Autowired
+ private OrganisationUnitGroupService organisationUnitGroupService;
+
+ @RequestMapping( method = RequestMethod.GET )
+ public String getOrganisationUnits( Model model )
+ {
+ OrganisationUnitGroups organisationUnitGroups = new OrganisationUnitGroups();
+ organisationUnitGroups.setOrganisationUnitGroups( new ArrayList<OrganisationUnitGroup>( organisationUnitGroupService.getAllOrganisationUnitGroups() ) );
+
+ model.addAttribute( "model", organisationUnitGroups );
+
+ return "organisationUnitGroups";
+ }
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.GET )
+ public String getOrganisationUnit( @PathVariable( "uid" ) String uid, Model model )
+ {
+ OrganisationUnitGroup organisationUnitGroup = organisationUnitGroupService.getOrganisationUnitGroup( uid );
+
+ model.addAttribute( "model", organisationUnitGroup );
+
+ return "organisationUnitGroup";
+ }
+}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitGroupSetController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitGroupSetController.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitGroupSetController.java 2011-12-01 19:14:36 +0000
@@ -0,0 +1,72 @@
+package org.hisp.dhis.api.controller;
+
+/*
+ * 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.hisp.dhis.organisationunit.OrganisationUnitGroupService;
+import org.hisp.dhis.organisationunit.OrganisationUnitGroupSet;
+import org.hisp.dhis.organisationunit.OrganisationUnitGroupSets;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.ArrayList;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@Controller
+@RequestMapping( value = "/organisationUnitGroupSets" )
+public class OrganisationUnitGroupSetController
+{
+ @Autowired
+ private OrganisationUnitGroupService organisationUnitGroupService;
+
+ @RequestMapping( method = RequestMethod.GET )
+ public String getOrganisationUnitGroupSets( Model model )
+ {
+ OrganisationUnitGroupSets organisationUnitGroupSets = new OrganisationUnitGroupSets();
+ organisationUnitGroupSets.setOrganisationUnitGroupSets( new ArrayList<OrganisationUnitGroupSet>( organisationUnitGroupService.getAllOrganisationUnitGroupSets() ) );
+
+ model.addAttribute( "model", organisationUnitGroupSets );
+
+ return "organisationUnitGroupSets";
+ }
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.GET )
+ public String getOrganisationUnitGroupSet( @PathVariable( "uid" ) String uid, Model model )
+ {
+ OrganisationUnitGroupSet organisationUnitGroupSet = organisationUnitGroupService.getOrganisationUnitGroupSet( uid );
+
+ model.addAttribute( "model", organisationUnitGroupSet );
+
+ return "organisationUnitGroupSet";
+ }
+}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitLevelController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitLevelController.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OrganisationUnitLevelController.java 2011-12-01 19:14:36 +0000
@@ -0,0 +1,72 @@
+package org.hisp.dhis.api.controller;
+
+/*
+ * 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.hisp.dhis.organisationunit.OrganisationUnitLevel;
+import org.hisp.dhis.organisationunit.OrganisationUnitLevels;
+import org.hisp.dhis.organisationunit.OrganisationUnitService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.ArrayList;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@Controller
+@RequestMapping( value = "/organisationUnitLevels" )
+public class OrganisationUnitLevelController
+{
+ @Autowired
+ private OrganisationUnitService organisationUnitService;
+
+ @RequestMapping( method = RequestMethod.GET )
+ public String getOrganisationUnitLevels( Model model )
+ {
+ OrganisationUnitLevels organisationUnitLevels = new OrganisationUnitLevels();
+ organisationUnitLevels.setOrganisationUnitLevels( new ArrayList<OrganisationUnitLevel>( organisationUnitService.getOrganisationUnitLevels() ) );
+
+ model.addAttribute( "model", organisationUnitLevels );
+
+ return "organisationUnitLevels";
+ }
+
+ @RequestMapping( value = "/{uid}", method = RequestMethod.GET )
+ public String getOrganisationUnit( @PathVariable( "uid" ) String uid, Model model )
+ {
+ OrganisationUnitLevel organisationUnitLevel = organisationUnitService.getOrganisationUnitLevel( uid );
+
+ model.addAttribute( "model", organisationUnitLevel );
+
+ return "organisationUnitLevel";
+ }
+}
=== removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SectionController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SectionController.java 2011-11-24 17:03:14 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SectionController.java 1970-01-01 00:00:00 +0000
@@ -1,46 +0,0 @@
-package org.hisp.dhis.api.controller;
-
-import org.hisp.dhis.dataset.Section;
-import org.hisp.dhis.dataset.SectionService;
-import org.hisp.dhis.dataset.Sections;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-
-/**
- * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
- */
-@Controller
-@RequestMapping( value = "/sections" )
-public class SectionController
-{
- @Autowired
- private SectionService sectionService;
-
- public SectionController()
- {
-
- }
-
- @RequestMapping( method = RequestMethod.GET )
- public Sections getDataSets()
- {
- Sections sections = new Sections();
- sections.setSections( new ArrayList<Section>( sectionService.getAllSections() ) );
-
- return sections;
- }
-
- @RequestMapping( value = "/{uid}", method = RequestMethod.GET )
- public Section getDataSet( @PathVariable( "uid" ) Integer uid, HttpServletRequest request )
- {
- Section section = sectionService.getSection( uid );
-
- return section;
- }
-}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/UserController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/UserController.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/UserController.java 2011-12-01 19:14:36 +0000
@@ -0,0 +1,72 @@
+package org.hisp.dhis.api.controller;
+
+/*
+ * 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.hisp.dhis.user.User;
+import org.hisp.dhis.user.UserService;
+import org.hisp.dhis.user.Users;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.ArrayList;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@Controller
+@RequestMapping( value = "/users" )
+public class UserController
+{
+ @Autowired
+ private UserService userService;
+
+ @RequestMapping( method = RequestMethod.GET )
+ public String getUsers( Model model )
+ {
+ Users users = new Users();
+ users.setUsers( new ArrayList<User>( userService.getAllUsers() ) );
+
+ model.addAttribute( "model", users );
+
+ return "users";
+ }
+
+ @RequestMapping( value = "/{id}", method = RequestMethod.GET )
+ public String getUser( @PathVariable( "id" ) Integer id, Model model )
+ {
+ User user = userService.getUser( id );
+
+ model.addAttribute( "model", user );
+
+ return "user";
+ }
+}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/ClassPathUriResolver.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/ClassPathUriResolver.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/ClassPathUriResolver.java 2011-12-02 14:01:09 +0000
@@ -0,0 +1,62 @@
+package org.hisp.dhis.api.view;
+
+import org.springframework.core.io.ClassPathResource;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.URIResolver;
+import javax.xml.transform.stream.StreamSource;
+import java.io.IOException;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+public class ClassPathUriResolver implements URIResolver
+{
+ private String templatePath = "/templates/";
+
+ public ClassPathUriResolver()
+ {
+
+ }
+
+ public ClassPathUriResolver( String templatePath )
+ {
+ this.templatePath = templatePath;
+ }
+
+ public String getTemplatePath()
+ {
+ return templatePath;
+ }
+
+ public void setTemplatePath( String templatePath )
+ {
+ this.templatePath = templatePath;
+ }
+
+ @Override
+ public Source resolve( String href, String base ) throws TransformerException
+ {
+ String url = getTemplatePath() + href;
+ ClassPathResource classPathResource = new ClassPathResource( url );
+
+ if ( !classPathResource.exists() )
+ {
+ throw (new TransformerException( "Resource " + url + " does not exist in classpath." ));
+ }
+
+ Source source = null;
+
+ try
+ {
+ source = new StreamSource( classPathResource.getInputStream() );
+ }
+ catch ( IOException e )
+ {
+ throw (new TransformerException( "IOException while reading " + url + "." ));
+ }
+
+ return source;
+ }
+}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/Jaxb2View.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/Jaxb2View.java 2011-11-12 15:46:34 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/Jaxb2View.java 2011-11-30 12:12:57 +0000
@@ -1,6 +1,5 @@
package org.hisp.dhis.api.view;
-import org.springframework.validation.BindingResult;
import org.springframework.web.servlet.view.AbstractView;
import javax.servlet.http.HttpServletRequest;
@@ -8,62 +7,47 @@
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import java.io.OutputStream;
-import java.util.HashMap;
import java.util.Map;
/**
* @author mortenoh
*/
-public class Jaxb2View extends AbstractView {
+public class Jaxb2View extends AbstractView
+{
public static final String DEFAULT_CONTENT_TYPE = "application/xml";
- public Jaxb2View() {
- setContentType(DEFAULT_CONTENT_TYPE);
+ public Jaxb2View()
+ {
+ setContentType( DEFAULT_CONTENT_TYPE );
}
@Override
- protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
- response.setContentType(getContentType());
-
- Object value = filterModel(model);
-
- if (value instanceof Map) {
- Map map = (Map) value;
-
- if (map.size() == 1) {
- value = map.values().toArray()[0];
- }
+ protected void renderMergedOutputModel( Map<String, Object> model, HttpServletRequest request, HttpServletResponse response ) throws Exception
+ {
+ response.setContentType( getContentType() );
+ model = ViewUtils.filterModel( model );
+
+ Object domainModel = model.get( "model" );
+
+ if ( domainModel == null )
+ {
+ // TODO throw exception
}
OutputStream outputStream = response.getOutputStream();
- JAXBContext context = JAXBContext.newInstance(value.getClass());
+ JAXBContext context = JAXBContext.newInstance( domainModel.getClass() );
Marshaller marshaller = context.createMarshaller();
- marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
- marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
-
-// Marshaller.Listener listener = new IdentifiableObjectListener(request);
-// marshaller.setListener(listener);
-
- /* TODO This will only work on JAXB RI (and crash on others!) please fixme.. */
-
- /*
+ marshaller.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, false );
+ marshaller.setProperty( Marshaller.JAXB_ENCODING, "UTF-8" );
+
+ marshaller.marshal( domainModel, outputStream );
+
+/*
+ Marshaller.Listener listener = new IdentifiableObjectListener(request);
+ marshaller.setListener(listener);
+
marshaller.setProperty("com.sun.xml.internal.bind.xmlHeaders",
"\n<?xml-stylesheet type=\"text/xsl\" href=\"dhis-web-api/xslt/chart.xslt\"?>\n");
- */
-
- marshaller.marshal(value, outputStream);
- }
-
- protected Object filterModel(Map<String, Object> model) {
- Map<String, Object> result = new HashMap<String, Object>(model.size());
-
- for (Map.Entry<String, Object> entry : model.entrySet()) {
- if (!(entry.getValue() instanceof BindingResult)) {
- result.put(entry.getKey(), entry.getValue());
- }
- }
-
- return result;
- }
-
+*/
+ }
}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/TransformCache.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/TransformCache.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/TransformCache.java 2011-12-02 14:01:09 +0000
@@ -0,0 +1,57 @@
+package org.hisp.dhis.api.view;
+
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+
+/*
+ * Copyright (c) 2004-2005, 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 <ORGANIZATION> nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+/**
+ *
+ * @author bobj
+ * @version created 02-Dec-2011
+ */
+public interface TransformCache
+{
+ /**
+ * A Transformer for processing lists of elements to html tables
+ *
+ * @return the transformer
+ * @throws TransformerConfigurationException
+ */
+ Transformer getHtmlTransformer()
+ throws TransformerConfigurationException;
+
+ /**
+ * A transformer for rendering elements to xsl-fop
+ *
+ * @return the transformer
+ * @throws TransformerConfigurationException
+ */
+ Transformer getFopTransformer()
+ throws TransformerConfigurationException;
+}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/TransformCacheImpl.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/TransformCacheImpl.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/TransformCacheImpl.java 2011-12-02 16:05:28 +0000
@@ -0,0 +1,114 @@
+package org.hisp.dhis.api.view;
+
+
+import java.io.IOException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.xml.transform.ErrorListener;
+import javax.xml.transform.Source;
+import javax.xml.transform.Templates;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+import org.amplecode.staxwax.transformer.LoggingErrorListener;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.stereotype.Component;
+
+/*
+ * Copyright (c) 2004-2005, 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 <ORGANIZATION> nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ *
+ * @author bobj
+ * @version created 02-Dec-2011
+ */
+@Component
+public class TransformCacheImpl implements TransformCache
+{
+ static final String MODEL2HTML = "model2html.xsl";
+
+ static final String MODEL2FOP = "model2fop.xsl";
+
+ static final String HTMLXSLT_RESOURCE = "/templates/xslt/";
+
+ static final String FOPXSLT_RESOURCE = "/templates/xslfo/";
+
+ static private TransformCache instance;
+
+ private Templates htmlCachedTransform;
+
+ private Templates fopCachedTransform;
+
+ private TransformCacheImpl() throws IOException, TransformerConfigurationException
+ {
+ ErrorListener errorListener = new LoggingErrorListener();
+
+ TransformerFactory factory = TransformerFactory.newInstance();
+ factory.setErrorListener( errorListener );
+
+ Source model2html =
+ new StreamSource(new ClassPathResource( HTMLXSLT_RESOURCE + MODEL2HTML ).getInputStream());
+ Source model2fop =
+ new StreamSource(new ClassPathResource( FOPXSLT_RESOURCE + MODEL2FOP ).getInputStream());
+
+ factory.setURIResolver( new ClassPathUriResolver(HTMLXSLT_RESOURCE));
+ htmlCachedTransform = factory.newTemplates( model2html );
+ factory.setURIResolver( new ClassPathUriResolver(FOPXSLT_RESOURCE));
+ fopCachedTransform = factory.newTemplates( model2fop );
+ }
+
+ static TransformCache instance() {
+ if (instance == null) {
+ try
+ {
+ instance = new TransformCacheImpl();
+ } catch ( Exception ex )
+ {
+ Logger.getLogger( TransformCacheImpl.class.getName() ).log( Level.SEVERE, null, ex );
+ }
+ }
+ return instance;
+ }
+
+
+
+ @Override
+ public Transformer getHtmlTransformer()
+ throws TransformerConfigurationException
+ {
+ return htmlCachedTransform.newTransformer();
+ }
+
+ @Override
+ public Transformer getFopTransformer()
+ throws TransformerConfigurationException
+ {
+ return fopCachedTransform.newTransformer();
+ }
+
+}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/ViewUtils.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/ViewUtils.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/ViewUtils.java 2011-11-28 17:34:49 +0000
@@ -0,0 +1,28 @@
+package org.hisp.dhis.api.view;
+
+import org.springframework.validation.BindingResult;
+
+import java.lang.annotation.Annotation;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+public class ViewUtils
+{
+ public static Map<String, Object> filterModel( Map<String, Object> model )
+ {
+ Map<String, Object> result = new HashMap<String, Object>( model.size() );
+
+ for ( Map.Entry<String, Object> entry : model.entrySet() )
+ {
+ if ( !(entry.getValue() instanceof BindingResult) )
+ {
+ result.put( entry.getKey(), entry.getValue() );
+ }
+ }
+
+ return result;
+ }
+}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/XslFoPdfView.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/XslFoPdfView.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/XslFoPdfView.java 2011-12-02 15:28:37 +0000
@@ -0,0 +1,57 @@
+package org.hisp.dhis.api.view;
+
+import org.apache.fop.apps.Fop;
+import org.apache.fop.apps.FopFactory;
+import org.apache.xmlgraphics.util.MimeConstants;
+import org.springframework.web.servlet.view.AbstractUrlBasedView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.util.JAXBSource;
+import javax.xml.transform.*;
+import javax.xml.transform.sax.SAXResult;
+import java.util.Map;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+public class XslFoPdfView extends AbstractUrlBasedView
+{
+ public static final String PDF_CONTENT_TYPE = "application/pdf";
+
+ public XslFoPdfView()
+ {
+ setContentType( PDF_CONTENT_TYPE );
+ }
+
+ @Override
+ protected void renderMergedOutputModel( Map<String, Object> model, HttpServletRequest request, HttpServletResponse response ) throws Exception
+ {
+ response.setContentType( getContentType() );
+ model = ViewUtils.filterModel( model );
+
+ Object domainModel = model.get( "model" );
+
+ if ( domainModel == null )
+ {
+ // throw exception
+ }
+
+ JAXBContext context = JAXBContext.newInstance( domainModel.getClass() );
+ Marshaller marshaller = context.createMarshaller();
+ marshaller.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, false );
+ marshaller.setProperty( Marshaller.JAXB_ENCODING, "UTF-8" );
+
+ Source xmlSource = new JAXBSource( context, domainModel );
+
+ Transformer transformer = TransformCacheImpl.instance().getFopTransformer();
+
+ FopFactory fopFactory = FopFactory.newInstance();
+ Fop fop = fopFactory.newFop( MimeConstants.MIME_PDF, response.getOutputStream() );
+
+ Result result = new SAXResult( fop.getDefaultHandler() );
+ transformer.transform( xmlSource, result );
+ }
+}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/XsltHtmlView.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/XsltHtmlView.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/view/XsltHtmlView.java 2011-12-02 15:28:37 +0000
@@ -0,0 +1,66 @@
+package org.hisp.dhis.api.view;
+
+import org.springframework.web.servlet.view.AbstractUrlBasedView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.util.JAXBSource;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.stream.StreamResult;
+import java.io.OutputStream;
+import java.util.Map;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+public class XsltHtmlView extends AbstractUrlBasedView
+{
+ public static final String HTML_CONTENT_TYPE = "text/html";
+
+ public XsltHtmlView()
+ {
+ setContentType( HTML_CONTENT_TYPE );
+ }
+
+ @Override
+ protected void renderMergedOutputModel( Map<String, Object> model, HttpServletRequest request, HttpServletResponse response )
+ throws Exception
+ {
+ response.setContentType( getContentType() );
+ model = ViewUtils.filterModel( model );
+
+ Object domainModel = model.get( "model" );
+
+ if ( domainModel == null )
+ {
+ // TODO throw exception
+ }
+
+ JAXBContext context = JAXBContext.newInstance( domainModel.getClass() );
+ Marshaller marshaller = context.createMarshaller();
+ marshaller.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, false );
+ marshaller.setProperty( Marshaller.JAXB_ENCODING, "UTF-8" );
+
+ Source xmlSource = new JAXBSource( context, domainModel );
+
+ Transformer transformer = TransformCacheImpl.instance().getHtmlTransformer();
+
+ OutputStream output = response.getOutputStream();
+
+ // pass on any parameters set in xslt-params
+ Map<String, String> params = (Map<String, String>) model.get( "xslt-params" );
+ if ( params != null )
+ {
+ for ( Map.Entry<String, String> entry : params.entrySet() )
+ {
+ transformer.setParameter( entry.getKey(), entry.getValue() );
+ }
+ }
+
+ transformer.transform( xmlSource, new StreamResult( output ) );
+
+ }
+}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/beans.xml 2011-11-02 11:14:35 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/beans.xml 2011-12-02 14:01:09 +0000
@@ -3,5 +3,5 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
-
+
</beans>
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/servlet.xml'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/servlet.xml 2011-11-16 09:00:32 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/servlet.xml 2011-11-28 18:15:52 +0000
@@ -18,6 +18,8 @@
<entry key="json" value="application/json" />
<entry key="jsonp" value="application/javascript" />
<entry key="xml" value="application/xml" />
+ <entry key="pdf" value="application/pdf" />
+ <entry key="html" value="text/html" />
</map>
</property>
@@ -30,10 +32,27 @@
</bean>
<bean class="org.hisp.dhis.api.view.Jaxb2View" />
- </list>
- </property>
-
- <property name="defaultContentType" value="application/xml" />
+
+ </list>
+ </property>
+
+ <property name="viewResolvers">
+ <list>
+ <bean name="xsltHtmlViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
+ <property name="prefix" value="/templates/xslt/" />
+ <property name="suffix" value=".xsl" />
+ <property name="viewClass" value="org.hisp.dhis.api.view.XsltHtmlView" />
+ </bean>
+
+ <bean name="xslFoPdfViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
+ <property name="prefix" value="/templates/xslfo/" />
+ <property name="suffix" value=".xsl" />
+ <property name="viewClass" value="org.hisp.dhis.api.view.XslFoPdfView" />
+ </bean>
+ </list>
+ </property>
+
+ <property name="defaultContentType" value="text/html" />
<property name="favorParameter" value="true" />
</bean>
=== added directory 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates'
=== added directory 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslfo'
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslfo/list.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslfo/list.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslfo/list.xsl 2011-12-01 13:44:45 +0000
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <xsl:output method="xml" />
+ <xsl:template match="/">
+ <fo:root>
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="A4">
+ <fo:region-body margin="1in" />
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+
+ <fo:page-sequence master-reference="A4">
+ <fo:flow flow-name="xsl-region-body">
+ <fo:block font-size="20pt" border-bottom="2pt solid black" margin-bottom="20pt">DataElements</fo:block>
+
+ <xsl:apply-templates />
+
+ </fo:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </xsl:template>
+
+<xsl:template match="dataElements">
+ <xsl:apply-templates />
+</xsl:template>
+
+<xsl:template match="dataElement">
+<fo:block font-size="12pt" font-weight="bold" border-bottom="1pt solid black"><xsl:value-of select="@name" /></fo:block>
+<fo:table border-top="1pt solid black" margin-bottom="10pt" table-layout="fixed">
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell><fo:block>ShortName</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block><xsl:value-of select="@shortName" /></fo:block></fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell><fo:block>LastUpdated</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block><xsl:value-of select="@lastUpdated" /></fo:block></fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell><fo:block>Active</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block><xsl:value-of select="active" /></fo:block></fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell><fo:block>AggregationOperator</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block><xsl:value-of select="aggregationOperator" /></fo:block></fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell><fo:block>DomainType</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block><xsl:value-of select="domainType" /></fo:block></fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell><fo:block>SortOrder</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block><xsl:value-of select="sortOrder" /></fo:block></fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell><fo:block>Type</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block><xsl:value-of select="type" /></fo:block></fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell><fo:block>ZeroIsSignificant</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block><xsl:value-of select="zeroIsSignificant" /></fo:block></fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+</fo:table>
+</xsl:template>
+
+</xsl:stylesheet>
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslfo/model2fop.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslfo/model2fop.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslfo/model2fop.xsl 2011-12-02 14:01:09 +0000
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:template match="/">
+ <fo>Hello World</fo>
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
=== added directory 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt'
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/chart.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/chart.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/chart.xsl 2011-12-02 20:35:16 +0000
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:template match="chart">
+ <div class="chart">
+ <h2>
+ <xsl:value-of select="@name"/>
+ </h2>
+ <table border="1">
+ <tr>
+ <td>ID</td>
+ <td>
+ <xsl:value-of select="@id"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Last Updated</td>
+ <td>
+ <xsl:value-of select="@lastUpdated"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Dimension</td>
+ <td>
+ <xsl:value-of select="dimension"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Hide legend</td>
+ <td>
+ <xsl:value-of select="hideLegend"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Hide subtitle</td>
+ <td>
+ <xsl:value-of select="hideSubtitle"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Horizontal Pilot Orientation</td>
+ <td>
+ <xsl:value-of select="horizontalPlotOrientation"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Regression</td>
+ <td>
+ <xsl:value-of select="regression"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Size</td>
+ <td>
+ <xsl:value-of select="size"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Target line</td>
+ <td>
+ <xsl:value-of select="targetLine"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Target line label</td>
+ <td>
+ <xsl:value-of select="targetLineLabel"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Type</td>
+ <td>
+ <xsl:value-of select="type"/>
+ </td>
+ </tr>
+ <tr>
+ <td>User organisation unit</td>
+ <td>
+ <xsl:value-of select="userOrganisationUnit"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Vertical labels</td>
+ <td>
+ <xsl:value-of select="verticalLabels"/>
+ </td>
+ </tr>
+ </table>
+
+ <xsl:apply-templates select="organisationUnits|dataElements|indicators"/>
+
+ </div>
+ </xsl:template>
+
+ <xsl:template match="organisationUnits">
+ <xsl:if test="count(child::*) > 0">
+ <h3>OrganisationUnits</h3>
+ <table border="1">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="dataElements">
+ <xsl:if test="count(child::*) > 0">
+ <h3>DataElements</h3>
+ <table border="1">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="indicators">
+ <xsl:if test="count(child::*) > 0">
+ <h3>Indicators</h3>
+ <table border="1">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/dataElement.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/dataElement.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/dataElement.xsl 2011-12-02 20:35:16 +0000
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:template match="dataElement">
+ <div class="dataElement">
+ <h2>
+ <xsl:value-of select="@name" />
+ </h2>
+
+ <table border="1">
+ <tr>
+ <td>ID</td>
+ <td>
+ <xsl:value-of select="@id" />
+ </td>
+ </tr>
+ <tr>
+ <td>Last Updated</td>
+ <td>
+ <xsl:value-of select="@lastUpdated" />
+ </td>
+ </tr>
+ <tr>
+ <td>Short Name</td>
+ <td>
+ <xsl:value-of select="@shortName" />
+ </td>
+ </tr>
+ <tr>
+ <td>Type</td>
+ <td>
+ <xsl:value-of select="type" />
+ </td>
+ </tr>
+ <tr>
+ <td>Zero is Significant</td>
+ <td>
+ <xsl:value-of select="zeroIsSignificant" />
+ </td>
+ </tr>
+ <tr>
+ <td>Sort Order</td>
+ <td>
+ <xsl:value-of select="sortOrder" />
+ </td>
+ </tr>
+ <tr>
+ <td>Active</td>
+ <td>
+ <xsl:value-of select="active" />
+ </td>
+ </tr>
+ <tr>
+ <td>Aggregation Operator</td>
+ <td>
+ <xsl:value-of select="aggregationOperator" />
+ </td>
+ </tr>
+ <tr>
+ <td>Domain Type</td>
+ <td>
+ <xsl:value-of select="domainType" />
+ </td>
+ </tr>
+ </table>
+
+ <xsl:apply-templates select="categoryCombo|groups|dataSets" />
+ </div>
+ </xsl:template>
+
+ <xsl:template match="categoryCombo">
+ <h3>DataElementCategoryCombo</h3>
+ <table border="1" class="categoryCombo">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="groups">
+ <xsl:if test="count(child::*) > 0">
+ <h3>DataElementGroups</h3>
+ <table border="1" class="dataElementGroups">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="dataSets">
+ <xsl:if test="count(child::*) > 0">
+ <h3>DataSets</h3>
+ <table border="1" class="dataSets">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/dataSet.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/dataSet.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/dataSet.xsl 2011-12-02 20:35:16 +0000
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:template match="dataSet">
+ <div class="dataSet">
+ <h2>
+ <xsl:value-of select="@name" />
+ </h2>
+ <table border="1">
+ <tr>
+ <td>ID</td>
+ <td>
+ <xsl:value-of select="@id" />
+ </td>
+ </tr>
+ <tr>
+ <td>Last Updated</td>
+ <td>
+ <xsl:value-of select="@lastUpdated" />
+ </td>
+ </tr>
+ <tr>
+ <td>Short Name</td>
+ <td>
+ <xsl:value-of select="shortName" />
+ </td>
+ </tr>
+ <tr>
+ <td>Version</td>
+ <td>
+ <xsl:value-of select="version" />
+ </td>
+ </tr>
+ <tr>
+ <td>Mobile</td>
+ <td>
+ <xsl:value-of select="mobile" />
+ </td>
+ </tr>
+
+ </table>
+
+ <xsl:apply-templates select="dataElements|indicators|sources" />
+
+ </div>
+ </xsl:template>
+
+ <xsl:template match="dataElements">
+ <xsl:if test="count(child::*) > 0">
+ <h3>DataElements</h3>
+ <table border="1" class="dataElements">
+ <xsl:apply-templates mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="indicators">
+ <xsl:if test="count(child::*) > 0">
+ <h3>Indicators</h3>
+ <table border="1" class="indicator">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="sources">
+ <xsl:if test="count(child::*) > 0">
+ <h3>OrganisationUnits</h3>
+ <table border="1" class="sources">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/html-wrapper.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/html-wrapper.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/html-wrapper.xsl 2011-12-02 14:01:09 +0000
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:output method="html" />
+
+ <xsl:template match="/">
+ <html>
+ <head>
+ <title>DHIS Web-API</title>
+ <!-- stylesheets, javascript etc -->
+ </head>
+
+ <body>
+ <p>Some CSS required!</p>
+ <xsl:apply-templates />
+ </body>
+
+ </html>
+ </xsl:template>
+
+</xsl:stylesheet>
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/identifiable-row.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/identifiable-row.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/identifiable-row.xsl 2011-12-02 20:35:16 +0000
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" version="1.0">
+ <xd:doc scope="stylesheet">
+ <xd:desc>
+ <xd:p><xd:b>Created on:</xd:b> Nov 28, 2011</xd:p>
+ <xd:p><xd:b>Author:</xd:b> bobj</xd:p>
+ <xd:p>Generic rendering of table rows of identifiable objects</xd:p>
+ </xd:desc>
+ </xd:doc>
+
+ <xsl:template match="*" mode="row">
+ <xsl:variable name="root" select="concat('/api/',local-name(.),'s')" />
+ <tr>
+ <td><xsl:value-of select="@name"/></td>
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href"><xsl:value-of select="concat($root,'/',@id)"/></xsl:attribute>
+ <xsl:text>html</xsl:text>
+ </xsl:element>
+ </td>
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href"><xsl:value-of select="concat($root,'/',@id,'.xml')"/></xsl:attribute>
+ <xsl:text>xml</xsl:text>
+ </xsl:element>
+ </td>
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href"><xsl:value-of select="concat($root,'/',@id,'.json')"/></xsl:attribute>
+ <xsl:text>json</xsl:text>
+ </xsl:element>
+ </td>
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href"><xsl:value-of select="concat($root,'/',@id,'.jsonp')"/></xsl:attribute>
+ <xsl:text>jsonp</xsl:text>
+ </xsl:element>
+ </td>
+ <td>
+ <xsl:element name="a">
+ <xsl:attribute name="href"><xsl:value-of select="concat($root,'/',@id,'.pdf')"/></xsl:attribute>
+ <xsl:text>pdf</xsl:text>
+ </xsl:element>
+ </td>
+ </tr>
+ </xsl:template>
+
+</xsl:stylesheet>
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/indicator.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/indicator.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/indicator.xsl 2011-12-02 20:35:16 +0000
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:template match="indicator">
+ <div class="indicator">
+ <h2>
+ <xsl:value-of select="@name" />
+ </h2>
+ <table border="1">
+ <tr>
+ <td>ID</td>
+ <td>
+ <xsl:value-of select="@id" />
+ </td>
+ </tr>
+ <tr>
+ <td>Last Updated</td>
+ <td>
+ <xsl:value-of select="@lastUpdated" />
+ </td>
+ </tr>
+ <tr>
+ <td>Short Name</td>
+ <td>
+ <xsl:value-of select="shortName" />
+ </td>
+ </tr>
+ <tr>
+ <td>Denominator</td>
+ <td>
+ <xsl:value-of select="denominator" />
+ </td>
+ </tr>
+ <tr>
+ <td>Denominator Description</td>
+ <td>
+ <xsl:value-of select="denominatorDescription" />
+ </td>
+ </tr>
+ <tr>
+ <td>Numerator</td>
+ <td>
+ <xsl:value-of select="numerator" />
+ </td>
+ </tr>
+ <tr>
+ <td>Numerator Description</td>
+ <td>
+ <xsl:value-of select="numeratorDescription" />
+ </td>
+ </tr>
+ <tr>
+ <td>Annualized</td>
+ <td>
+ <xsl:value-of select="annualized" />
+ </td>
+ </tr>
+ <tr>
+ <td>Sort Order</td>
+ <td>
+ <xsl:value-of select="sortOrder" />
+ </td>
+ </tr>
+
+ </table>
+
+ <xsl:apply-templates select="groups|dataSets" />
+
+ </div>
+ </xsl:template>
+
+ <xsl:template match="groups">
+ <xsl:if test="count(child::*) > 0">
+ <h3>Indicator Groups</h3>
+ <table border="1" class="indicatorGroups">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="dataSets">
+ <xsl:if test="count(child::*) > 0">
+ <h3>DataSets</h3>
+ <table border="1" class="dataSets">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/list.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/list.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/list.xsl 2011-12-02 20:35:16 +0000
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+ <xsl:include href="identifiable-row.xsl"/>
+
+ <!-- match all plural elements -->
+ <xsl:template match="charts|dataElements|indicators|organisationUnits|categories|categoryCombos|categoryOptions|dataElementGroups|dataElementGroupSets">
+ <xsl:variable name="elements" select="local-name()" />
+ <h3>
+ <xsl:value-of select="$elements"/>
+ </h3>
+
+ <table border="1">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:template>
+
+</xsl:stylesheet>
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/model2html.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/model2html.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/model2html.xsl 2011-12-02 20:35:16 +0000
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:output method="html"/>
+
+ <!-- html page level settings -->
+ <xsl:include href="html-wrapper.xsl"/>
+
+ <!-- for list views -->
+ <xsl:include href="list.xsl"/>
+
+ <!-- for rendering elements -->
+ <xsl:include href="chart.xsl"/>
+ <xsl:include href="dataElement.xsl"/>
+ <xsl:include href="indicator.xsl"/>
+ <xsl:include href="organisationUnit.xsl"/>
+ <xsl:include href="dataSet.xsl"/>
+ <!-- etc ... -->
+
+</xsl:stylesheet>
\ No newline at end of file
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/organisationUnit.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/organisationUnit.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/organisationUnit.xsl 2011-12-02 20:35:16 +0000
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:template match="organisationUnit">
+ <div class="organisationUnit">
+ <h2>
+ <xsl:value-of select="@name" />
+ </h2>
+ <table border="1">
+ <tr>
+ <td>ID</td>
+ <td>
+ <xsl:value-of select="@id" />
+ </td>
+ </tr>
+ <tr>
+ <td>Last Updated</td>
+ <td>
+ <xsl:value-of select="@lastUpdated" />
+ </td>
+ </tr>
+ <tr>
+ <td>Short Name</td>
+ <td>
+ <xsl:value-of select="shortName" />
+ </td>
+ </tr>
+ <tr>
+ <td>Opening Date</td>
+ <td>
+ <xsl:value-of select="openingDate" />
+ </td>
+ </tr>
+ <tr>
+ <td>Level</td>
+ <td>
+ <xsl:value-of select="level" />
+ </td>
+ </tr>
+ <tr>
+ <td>Active</td>
+ <td>
+ <xsl:value-of select="active" />
+ </td>
+ </tr>
+ <tr>
+ <td>Current Parent</td>
+ <td>
+ <xsl:value-of select="currentParent" />
+ </td>
+ </tr>
+ <tr>
+ <td>Has Patients</td>
+ <td>
+ <xsl:value-of select="hasPatients" />
+ </td>
+ </tr>
+
+ </table>
+
+ <xsl:apply-templates select="parent|groups|dataSets" />
+
+ </div>
+ </xsl:template>
+
+ <xsl:template match="parent">
+ <h3>Parent OrganisationUnit</h3>
+ <table>
+ <xsl:apply-templates select="." mode="row"/>
+ </table>
+ </xsl:template>
+
+ <xsl:template match="groups">
+ <xsl:if test="count(child::*) > 0">
+ <h3>OrganisationUnit Groups</h3>
+ <table border="1" class="organisationUnitGroups">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="dataSets">
+ <xsl:if test="count(child::*) > 0">
+ <h3>DataSets</h3>
+ <table border="1" class="dataSets">
+ <xsl:apply-templates select="child::*" mode="row"/>
+ </table>
+ </xsl:if>
+ </xsl:template>
+
+</xsl:stylesheet>
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/users.xsl'
--- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/users.xsl 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/xslt/users.xsl 2011-12-01 19:14:36 +0000
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <xsl:include href="identifiable-row.xsl" />
+ <xsl:include href="html-wrapper.xsl" />
+ <xsl:include href="list.xsl" />
+
+ <xsl:param name="title">Users</xsl:param>
+ <xsl:param name="elements">users</xsl:param>
+
+ <xsl:template match="user">
+ <xsl:apply-templates />
+ </xsl:template>
+</xsl:stylesheet>
=== modified file 'dhis-2/pom.xml'
--- dhis-2/pom.xml 2011-11-24 17:03:14 +0000
+++ dhis-2/pom.xml 2011-11-28 17:34:49 +0000
@@ -785,6 +785,13 @@
<version>2.2.2</version>
</dependency>
+ <!-- XSL-FO -->
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>fop</artifactId>
+ <version>1.0</version>
+ </dependency>
+
</dependencies>
</dependencyManagement>