------------------------------------------------------------ revno: 6316 committer: Morten Olav Hansen <morte...@gmail.com> branch nick: dhis2 timestamp: Tue 2012-03-20 15:42:51 +0100 message: added proper serialization/deserialization of periodType added: dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/JacksonPeriodTypeDeserializer.java dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/JacksonPeriodTypeSerializer.java modified: dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataentryform/DataEntryForm.java dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRule.java dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/MetaDataController.java
-- lp:dhis2 https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk Your team DHIS 2 developers is subscribed to branch lp:dhis2. To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/JacksonPeriodTypeDeserializer.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/JacksonPeriodTypeDeserializer.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/JacksonPeriodTypeDeserializer.java 2012-03-20 14:42:51 +0000 @@ -0,0 +1,26 @@ +package org.hisp.dhis.common.adapter; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import org.hisp.dhis.period.PeriodType; + +import java.io.IOException; + +/** + * @author Morten Olav Hansen <morte...@gmail.com> + */ +public class JacksonPeriodTypeDeserializer + extends JsonDeserializer<PeriodType> +{ + @Override + public PeriodType deserialize( JsonParser jp, DeserializationContext ctxt ) throws IOException, JsonProcessingException + { + String periodTypeString = jp.readValueAs( String.class ); + + System.err.println( "Deserialized: " + periodTypeString ); + + return PeriodType.getPeriodTypeByName( periodTypeString ); + } +} === added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/JacksonPeriodTypeSerializer.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/JacksonPeriodTypeSerializer.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/adapter/JacksonPeriodTypeSerializer.java 2012-03-20 14:42:51 +0000 @@ -0,0 +1,24 @@ +package org.hisp.dhis.common.adapter; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import org.hisp.dhis.period.PeriodType; + +import java.io.IOException; + +/** + * @author Morten Olav Hansen <morte...@gmail.com> + */ +public class JacksonPeriodTypeSerializer + extends JsonSerializer<PeriodType> +{ + @Override + public void serialize( PeriodType value, JsonGenerator jgen, SerializerProvider provider ) throws IOException, JsonProcessingException + { + System.err.println( "Deserialized: " + value.getName() ); + + jgen.writeString( value.getName() ); + } +} === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataentryform/DataEntryForm.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataentryform/DataEntryForm.java 2012-03-12 13:27:35 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataentryform/DataEntryForm.java 2012-03-20 14:42:51 +0000 @@ -28,9 +28,13 @@ */ import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonView; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import org.hisp.dhis.common.Dxf2Namespace; import org.hisp.dhis.common.ImportableObject; +import org.hisp.dhis.common.view.DetailedView; +import org.hisp.dhis.common.view.ExportView; import java.io.Serializable; import java.util.Map; @@ -186,6 +190,8 @@ } @JsonProperty + @JsonView( {DetailedView.class, ExportView.class} ) + @JacksonXmlProperty public String getName() { return name; @@ -197,6 +203,8 @@ } @JsonProperty + @JsonView( {DetailedView.class, ExportView.class} ) + @JacksonXmlProperty public String getHtmlCode() { return htmlCode; === 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 2012-03-20 09:04:21 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSet.java 2012-03-20 14:42:51 +0000 @@ -29,6 +29,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; @@ -36,6 +37,8 @@ import org.hisp.dhis.common.BaseIdentifiableObject; import org.hisp.dhis.common.BaseNameableObject; import org.hisp.dhis.common.Dxf2Namespace; +import org.hisp.dhis.common.adapter.JacksonPeriodTypeDeserializer; +import org.hisp.dhis.common.adapter.JacksonPeriodTypeSerializer; import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; import org.hisp.dhis.dataelement.DataElement; @@ -306,6 +309,11 @@ // Getters and setters // ------------------------------------------------------------------------- + @JsonProperty + @JsonSerialize( using = JacksonPeriodTypeSerializer.class ) + @JsonDeserialize( using = JacksonPeriodTypeDeserializer.class ) + @JsonView( {DetailedView.class, ExportView.class} ) + @JacksonXmlProperty public PeriodType getPeriodType() { return periodType; @@ -316,6 +324,9 @@ this.periodType = periodType; } + @JsonProperty + @JsonView( {DetailedView.class, ExportView.class} ) + @JacksonXmlProperty public DataEntryForm getDataEntryForm() { return dataEntryForm; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRule.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRule.java 2012-03-19 14:58:46 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/validation/ValidationRule.java 2012-03-20 14:42:51 +0000 @@ -29,12 +29,15 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import org.hisp.dhis.common.BaseIdentifiableObject; import org.hisp.dhis.common.Dxf2Namespace; +import org.hisp.dhis.common.adapter.JacksonPeriodTypeDeserializer; +import org.hisp.dhis.common.adapter.JacksonPeriodTypeSerializer; import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; import org.hisp.dhis.expression.Expression; @@ -150,6 +153,11 @@ this.description = description; } + @JsonProperty + @JsonSerialize( using = JacksonPeriodTypeSerializer.class ) + @JsonDeserialize( using = JacksonPeriodTypeDeserializer.class ) + @JsonView( {DetailedView.class, ExportView.class} ) + @JacksonXmlProperty public PeriodType getPeriodType() { return periodType; === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/MetaDataController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/MetaDataController.java 2012-03-20 12:44:53 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/MetaDataController.java 2012-03-20 14:42:51 +0000 @@ -255,7 +255,7 @@ private DXF2 getExportObject() { DXF2 dxf2 = new DXF2(); - +/* dxf2.setAttributeTypes( new ArrayList<Attribute>( attributeService.getAllAttributes() ) ); dxf2.setUsers( new ArrayList<User>( userService.getAllUsers() ) ); @@ -284,9 +284,9 @@ dxf2.setOrganisationUnitLevels( new ArrayList<OrganisationUnitLevel>( organisationUnitService.getOrganisationUnitLevels() ) ); dxf2.setOrganisationUnitGroups( new ArrayList<OrganisationUnitGroup>( organisationUnitGroupService.getAllOrganisationUnitGroups() ) ); dxf2.setOrganisationUnitGroupSets( new ArrayList<OrganisationUnitGroupSet>( organisationUnitGroupService.getAllOrganisationUnitGroupSets() ) ); - +*/ dxf2.setDataSets( new ArrayList<DataSet>( dataSetService.getAllDataSets() ) ); - +/* dxf2.setValidationRules( new ArrayList<ValidationRule>( validationRuleService.getAllValidationRules() ) ); dxf2.setValidationRuleGroups( new ArrayList<ValidationRuleGroup>( validationRuleService.getAllValidationRuleGroups() ) ); @@ -303,7 +303,7 @@ dxf2.setMapLayers( new ArrayList<MapLayer>( mappingService.getAllMapLayers() ) ); dxf2.setDataDictionaries( new ArrayList<DataDictionary>( dataDictionaryService.getAllDataDictionaries() ) ); - +*/ return dxf2; }
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp