=== removed directory 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/consumer' === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/consumer/ActivityValueConsumer.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/consumer/ActivityValueConsumer.java 2010-09-24 11:12:49 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/consumer/ActivityValueConsumer.java 1970-01-01 00:00:00 +0000 @@ -1,42 +0,0 @@ -package org.hisp.dhis.web.api.consumer; - -import java.io.IOException; -import java.io.InputStream; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import javax.ws.rs.Consumes; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyReader; -import javax.ws.rs.ext.Provider; - -import org.hisp.dhis.web.api.model.ActivityValue; - -import com.sun.jersey.spi.resource.Singleton; - -@Provider -@Singleton -@Consumes( "application/vnd.org.dhis2.activityvaluelist+serialized" ) -public class ActivityValueConsumer implements MessageBodyReader{ - - @Override - public boolean isReadable(Class arg0, Type arg1, Annotation[] arg2, - MediaType arg3) { - return true; - } - - @Override - public ActivityValue readFrom(Class arg0, Type arg1, - Annotation[] arg2, MediaType arg3, - MultivaluedMap arg4, InputStream stream ) - throws IOException, WebApplicationException { - - ActivityValue activityValue = new ActivityValue(); - arg0.cast(activityValue); - - return activityValue.deSerialize( stream ); - - } -} === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/consumer/DataSetValueConsumer.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/consumer/DataSetValueConsumer.java 2010-09-24 11:12:49 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/consumer/DataSetValueConsumer.java 1970-01-01 00:00:00 +0000 @@ -1,43 +0,0 @@ -package org.hisp.dhis.web.api.consumer; - -import java.io.IOException; -import java.io.InputStream; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import javax.ws.rs.Consumes; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyReader; -import javax.ws.rs.ext.Provider; - -import org.hisp.dhis.web.api.model.DataSetValue; - -import com.sun.jersey.spi.resource.Singleton; - -@Provider -@Singleton -@Consumes( "application/vnd.org.dhis2.datasetvalue+serialized" ) -public class DataSetValueConsumer implements MessageBodyReader{ - - @Override - public boolean isReadable(Class arg0, Type arg1, Annotation[] arg2, - MediaType arg3) { - return true; - } - - @Override - public DataSetValue readFrom(Class arg0, Type arg1, - Annotation[] arg2, MediaType arg3, - MultivaluedMap arg4, InputStream stream ) - throws IOException, WebApplicationException { - - DataSetValue dsValue = new DataSetValue(); - arg0.cast(dsValue); - - return dsValue.deSerialize( stream ); - - } - -} === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/AbstractModel.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/AbstractModel.java 2010-09-24 11:12:49 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/AbstractModel.java 1970-01-01 00:00:00 +0000 @@ -1,91 +0,0 @@ -package org.hisp.dhis.web.api.model; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; - -/** - * - * @author abyotag_adm - */ -public class AbstractModel implements ISerializable { - - private int id; - - private String name; - - public AbstractModel(){} - - /** - * @return the id - */ - public int getId() { - return id; - } - - /** - * @param id the id to set - */ - public void setId(int id) { - this.id = id; - } - - /** - * @return the name - */ - public String getName() { - return name; - } - - /** - * @param name the name to set - */ - public void setName(String name) { - this.name = name; - } - - public static AbstractModel recordToAbstractModel( byte[] rec) - { - ByteArrayInputStream bin = new ByteArrayInputStream(rec); - DataInputStream din = new DataInputStream(bin); - - AbstractModel model = new AbstractModel(); - - try{ - model.setId( din.readInt() ); - model.setName( din.readUTF()); - }catch(IOException ioe){} - - return model; - - } - - public byte[] serialize() throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream(bout); - - dout.writeInt(this.getId()); - dout.writeUTF(this.getName()); - - return bout.toByteArray(); - } - - public void deSerialize(byte[] data) throws IOException - { - ByteArrayInputStream bin = new ByteArrayInputStream(data); - DataInputStream din = new DataInputStream(bin); - - this.setId( din.readInt() ); - this.setName( din.readUTF() ); - } - - public void deSerialize( DataInputStream din ) throws IOException - { - this.setId( din.readInt() ); - this.setName( din.readUTF() ); - } -} - === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/AbstractModelList.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/AbstractModelList.java 2010-11-09 02:53:08 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/AbstractModelList.java 1970-01-01 00:00:00 +0000 @@ -1,90 +0,0 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ - -package org.hisp.dhis.web.api.model; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.List; - -/** - * - * @author abyotag_adm - */ -public class AbstractModelList - implements ISerializable -{ - - private List abstractModels; - - public List getAbstractModels() - { - return abstractModels; - } - - public void setAbstractModels( List abstractModels ) - { - this.abstractModels = abstractModels; - } - - public byte[] serialize() - throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream( bout ); - - dout.writeInt( abstractModels.size() ); - - for ( int i = 0; i < abstractModels.size(); i++ ) - { - AbstractModel abstractModel = (AbstractModel) abstractModels.get( i ); - dout.writeInt( abstractModel.getId() ); - dout.writeUTF( abstractModel.getName() ); - } - - return bout.toByteArray(); - } - - public void deSerialize( byte[] data ) - throws IOException - { - ByteArrayInputStream bin = new ByteArrayInputStream( data ); - DataInputStream din = new DataInputStream( bin ); - - int size = din.readInt(); - - for ( int i = 0; i < size; i++ ) - { - AbstractModel abstractModel = new AbstractModel(); - abstractModel.setId( din.readInt() ); - abstractModel.setName( din.readUTF() ); - this.abstractModels.add( abstractModel ); - } - } - - public void serialize( OutputStream out ) - throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream( bout ); - - dout.writeInt( abstractModels.size() ); - - for ( int i = 0; i < abstractModels.size(); i++ ) - { - AbstractModel abstractModel = (AbstractModel) abstractModels.get( i ); - dout.writeInt( abstractModel.getId() ); - dout.writeUTF( abstractModel.getName() ); - } - - // bout.flush(); - bout.writeTo( out ); - - } -} === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Activity.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Activity.java 2010-10-20 11:54:08 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Activity.java 2010-11-16 16:28:41 +0000 @@ -1,15 +1,39 @@ package org.hisp.dhis.web.api.model; -import java.io.ByteArrayOutputStream; +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import java.io.OutputStream; import java.util.Date; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -public class Activity implements ISerializable +public class Activity + implements MobileSerializable { private Beneficiary beneficiary; @@ -18,7 +42,7 @@ private Task task; - private Date dueDate; + private Date dueDate; public Beneficiary getBeneficiary() { @@ -50,51 +74,33 @@ this.dueDate = dueDate; } - - - public boolean isLate() { - return late; - } - - public void setLate(boolean late) { - this.late = late; - } - - @Override - public byte[] serialize() throws IOException { - // TODO Auto-generated method stub - return null; - } - - public void serialize( DataOutputStream dout ) throws IOException - { - this.getBeneficiary().serialize(dout); - this.getTask().serialize(dout); - - dout.writeLong(this.getDueDate().getTime()); - - dout.flush(); - } - - public void serialize( OutputStream out ) throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream(bout); - - this.getBeneficiary().serialize(dout); - dout.writeBoolean(late); - this.getTask().serialize(dout); - dout.writeLong(this.getDueDate().getTime()); - - bout.flush(); - bout.writeTo(out); - - } - - @Override - public void deSerialize(byte[] data) throws IOException { - // TODO Auto-generated method stub - - } + public boolean isLate() + { + return late; + } + + public void setLate( boolean late ) + { + this.late = late; + } + + @Override + public void serialize( DataOutputStream dout ) + throws IOException + { + this.getBeneficiary().serialize( dout ); + dout.writeBoolean( late ); + this.getTask().serialize( dout ); + dout.writeLong( this.getDueDate().getTime() ); + + } + + @Override + public void deSerialize( DataInputStream dataInputStream ) + throws IOException + { + // FIXME: Get implementation from client + + } } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ActivityPlan.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ActivityPlan.java 2010-11-12 10:28:30 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ActivityPlan.java 2010-11-16 16:28:41 +0000 @@ -1,23 +1,43 @@ package org.hisp.dhis.web.api.model; -import java.io.ByteArrayOutputStream; +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import java.io.OutputStream; import java.util.List; -import java.util.Set; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement + public class ActivityPlan - implements ISerializable + implements MobileSerializable { private List activitiesList; - @XmlElement( name = "activity" ) public List getActivitiesList() { return activitiesList; @@ -29,29 +49,9 @@ } @Override - public byte[] serialize() - throws IOException - { - - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream( bout ); - - dout.writeInt( this.getActivitiesList().size() ); - - for ( int i = 0; i < activitiesList.size(); i++ ) - { - Activity activity = (Activity) activitiesList.get( i ); - activity.serialize( dout ); - } - - return bout.toByteArray(); - } - - public void serialize( OutputStream out ) - throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream( bout ); + public void serialize( DataOutputStream dout ) + throws IOException + { if ( activitiesList == null ) { @@ -68,23 +68,21 @@ Beneficiary b = activity.getBeneficiary(); b.serialize( dout ); - + Task t = activity.getTask(); dout.writeInt( t.getId() ); dout.writeInt( t.getProgramStageId() ); dout.writeBoolean( t.isCompleted() ); } } - bout.flush(); - bout.writeTo( out ); } @Override - public void deSerialize( byte[] data ) + public void deSerialize( DataInputStream dataInputStream ) throws IOException { - // TODO Auto-generated method stub + // FIXME: Get implementation from client } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ActivityValue.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ActivityValue.java 2010-11-13 17:48:18 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ActivityValue.java 2010-11-16 16:28:41 +0000 @@ -1,101 +1,95 @@ -/** - * - */ package org.hisp.dhis.web.api.model; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import java.io.InputStream; import java.util.ArrayList; import java.util.List; -/** - * @author abyotag_adm - * - */ -public class ActivityValue implements ISerializable { - - private int programInstanceId; - - private List dataValues = new ArrayList(); - - public ActivityValue() { - } - - public void setProgramInstanceId(int programInstanceId) { - this.programInstanceId = programInstanceId; - } - - public int getProgramInstanceId() { - return programInstanceId; - } - - public void setDataValues(List dataValues) { - this.dataValues = dataValues; - } - - public List getDataValues() { - return dataValues; - } - - public byte[] serialize() throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream(bout); - - dout.writeInt(this.getProgramInstanceId()); - dout.writeInt(dataValues.size()); - - for(int i=0; i dataValues = new ArrayList(); + + public ActivityValue() + { + } + + public void setProgramInstanceId( int programInstanceId ) + { + this.programInstanceId = programInstanceId; + } + + public int getProgramInstanceId() + { + return programInstanceId; + } + + public void setDataValues( List dataValues ) + { + this.dataValues = dataValues; + } + + public List getDataValues() + { + return dataValues; + } + + @Override + public void serialize( DataOutputStream dataOutputStream ) + throws IOException + { + // FIXME: Get implementation from client + + } + + @Override + public void deSerialize( DataInputStream dataInputStream ) + throws IOException + { + DataInputStream din = new DataInputStream( dataInputStream ); + + this.setProgramInstanceId( din.readInt() ); + + int size = din.readInt(); + + for ( int i = 0; i < size; i++ ) + { + DataValue dv = new DataValue(); + dv.deSerialize( dataInputStream ); + this.dataValues.add( dv ); + } + + } + } === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ActivityWrapper.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ActivityWrapper.java 2010-10-28 09:17:13 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ActivityWrapper.java 1970-01-01 00:00:00 +0000 @@ -1,77 +0,0 @@ -package org.hisp.dhis.web.api.model; - -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.List; - -/** - * @author Tran Ng Minh Luan - * - */ -public class ActivityWrapper implements ISerializable -{ - private ActivityPlan activityPlan; - private List programs; - - public ActivityPlan getActivityPlan() - { - return activityPlan; - } - - public void setActivityPlan( ActivityPlan activityPlan ) - { - this.activityPlan = activityPlan; - } - - public List getPrograms() - { - return programs; - } - - public void setPrograms( List programs ) - { - this.programs = programs; - } - - public ActivityWrapper() - { - - } - - public void serialize(OutputStream out) throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream(bout); - - dout.writeInt(programs.size()); - - this.activityPlan.serialize( dout ); - - for(Program each : programs){ - each.serialize( dout ); - } - bout.flush(); - bout.writeTo(out); - } - - @Override - public byte[] serialize() - throws IOException - { - // TODO Auto-generated method stub - return null; - } - - @Override - public void deSerialize( byte[] data ) - throws IOException - { - // TODO Auto-generated method stub - - } - - - -} === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Beneficiary.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Beneficiary.java 2010-11-12 10:28:30 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Beneficiary.java 2010-11-16 16:28:41 +0000 @@ -1,17 +1,40 @@ package org.hisp.dhis.web.api.model; +/* + * Copyright (c) 2004-2010, 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 java.io.ByteArrayOutputStream; +import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import java.io.OutputStream; import java.util.Set; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement public class Beneficiary - implements ISerializable + implements MobileSerializable { private int id; @@ -45,7 +68,6 @@ this.patientAttValues = patientAttValues; } - @XmlAttribute public int getId() { return id; @@ -56,7 +78,6 @@ this.id = id; } - @XmlAttribute public String getFirstName() { return firstName; @@ -67,7 +88,6 @@ this.firstName = firstName; } - @XmlAttribute public String getMiddleName() { return middleName; @@ -78,7 +98,6 @@ this.middleName = middleName; } - @XmlAttribute public String getLastName() { return lastName; @@ -89,13 +108,7 @@ this.lastName = lastName; } - public byte[] serialize() - throws IOException - { - // TODO Auto-generated method stub - return null; - } - + @Override public void serialize( DataOutputStream out ) throws IOException { @@ -131,10 +144,13 @@ bout.writeTo( out ); } - public void deSerialize( byte[] data ) + @Override + public void deSerialize( DataInputStream dataInputStream ) throws IOException { - // TODO Auto-generated method stub + // FIXME: Get implementation from client + } + } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataElement.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataElement.java 2010-11-08 03:52:21 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataElement.java 2010-11-16 16:28:41 +0000 @@ -1,13 +1,37 @@ package org.hisp.dhis.web.api.model; -import javax.xml.bind.annotation.XmlRootElement; +/* + * Copyright (c) 2004-2010, 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. + */ -@XmlRootElement -public class DataElement extends AbstractModel { +public class DataElement extends Model { private String type; - private AbstractModelList categoryOptionCombos; + private ModelList categoryOptionCombos; public DataElement() { @@ -21,16 +45,14 @@ this.type = type; } - public AbstractModelList getCategoryOptionCombos() + public ModelList getCategoryOptionCombos() { return categoryOptionCombos; } - public void setCategoryOptionCombos( AbstractModelList categoryOptionCombos ) + public void setCategoryOptionCombos( ModelList categoryOptionCombos ) { this.categoryOptionCombos = categoryOptionCombos; } - - } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataSet.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataSet.java 2010-11-02 03:53:54 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataSet.java 2010-11-16 16:28:41 +0000 @@ -1,131 +1,93 @@ package org.hisp.dhis.web.api.model; -import java.io.ByteArrayOutputStream; +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import java.io.OutputStream; import java.util.List; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.XmlAccessType; - - - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder= {"id", "name", "periodType", "dataElements"}) -public class DataSet extends AbstractModel { - - private String periodType; - -// @XmlElementWrapper( name = "des" ) -// @XmlElement(name = "de") - private List
sections; -// private List dataElements; - - public void setPeriodType(String periodType) { - this.periodType = periodType; - } - - public String getPeriodType() { - return periodType; - } - - -// public List getDataElements() { -// return dataElements; -// } -// -// public void setDataElements(List dataElements) { -// this.dataElements = dataElements; -// } - - public List
getSections() { - return sections; - } - - public void setSections(List
sections) { - this.sections = sections; - } - -// public byte[] serialize() throws IOException -// { -// ByteArrayOutputStream bout = new ByteArrayOutputStream(); -// DataOutputStream dout = new DataOutputStream(bout); -// -// dout.writeInt(this.getId()); -// dout.writeUTF(this.getName()); -// dout.writeUTF(this.getPeriodType()); -// dout.writeInt(dataElements.size()); -// -// for(int i=0; i sections; + + public String getPeriodType() + { + return periodType; + } + + public void setPeriodType( String periodType ) + { + this.periodType = periodType; + } + + public List
getSections() + { + return sections; + } + + public void setSections( List
sections ) + { + this.sections = sections; + } + + @Override + public void serialize( DataOutputStream dout ) + throws IOException + { + dout.writeInt( this.getId() ); + dout.writeUTF( this.getName() ); + dout.writeUTF( this.getPeriodType() ); + + if ( this.sections == null ) + { + dout.writeInt( 0 ); + } + else + { + dout.writeInt( this.sections.size() ); + for ( Section section : this.sections ) + { + section.serialize( dout ); } } - bout.flush(); - bout.writeTo(out); - - -// dout.writeInt(dataElements.size()); - -// for(int i=0; i dataValues = new ArrayList(); - - public DataSetValue(){} - + + private List dataValues = new ArrayList(); + + public DataSetValue() + { + } + public boolean isCompleted() { return completed; @@ -38,85 +57,53 @@ this.completed = completed; } - public String getpName() { - return pName; - } - - public void setpName(String pName) { - this.pName = pName; - } - - public void setDataValues(List dataValues) { - this.dataValues = dataValues; - } - - public List getDataValues() { - return dataValues; - } - - public byte[] serialize() throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream(bout); - - dout.writeInt(this.getId()); - dout.writeUTF(this.getName()); - dout.writeUTF(this.getpName()); - dout.writeBoolean( this.isCompleted() ); - dout.writeInt(dataValues.size()); - - for(int i=0; i dataValues ) + { + this.dataValues = dataValues; + } + + public List getDataValues() + { + return dataValues; + } + + @Override + public void serialize( DataOutputStream dataOutputStream ) + throws IOException + { + // FIXME: Get implementation from client + } + + @Override + public void deSerialize( DataInputStream din ) + throws IOException + { + + this.setId( din.readInt() ); + this.setName( din.readUTF() ); + this.setpName( din.readUTF() ); + this.setCompleted( din.readBoolean() ); + int size = din.readInt(); + + for ( int i = 0; i < size; i++ ) + { + DataValue dv = new DataValue(); + dv.setId( din.readInt() ); + dv.setCategoryOptComboID( din.readInt() ); + dv.setVal( din.readUTF() ); + this.dataValues.add( dv ); + } + + } + } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataValue.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataValue.java 2010-11-09 02:53:08 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/DataValue.java 2010-11-16 16:28:41 +0000 @@ -1,15 +1,38 @@ package org.hisp.dhis.web.api.model; +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; +import java.io.DataOutputStream; import java.io.IOException; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - -@XmlType( name = "dv" ) -@XmlAccessorType( XmlAccessType.FIELD ) public class DataValue - implements ISerializable + implements MobileSerializable { private int id; @@ -49,18 +72,20 @@ } @Override - public byte[] serialize() + public void serialize( DataOutputStream dataOutputStream ) throws IOException { // TODO Auto-generated method stub - return null; + } @Override - public void deSerialize( byte[] data ) + public void deSerialize( DataInputStream din ) throws IOException { - // TODO Auto-generated method stub + setId( din.readInt() ); + setCategoryOptComboID( din.readInt() ); + setVal( din.readUTF() ); + } - } } === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Form.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Form.java 2010-08-25 17:40:56 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Form.java 1970-01-01 00:00:00 +0000 @@ -1,51 +0,0 @@ -package org.hisp.dhis.web.api.model; - -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.XmlAccessType; - - -@XmlRootElement -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(propOrder= {"id", "name", "dataElements"}) -public class Form { - - private int id; - - private String name; - - @XmlElementWrapper( name = "des" ) - @XmlElement(name = "de") - private List dataElements; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public List getDataElements() { - return dataElements; - } - - public void setDataElements(List dataElements) { - this.dataElements = dataElements; - } -} - - === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ISerializable.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ISerializable.java 2010-09-24 11:12:49 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ISerializable.java 1970-01-01 00:00:00 +0000 @@ -1,15 +0,0 @@ -/** - * - */ -package org.hisp.dhis.web.api.model; - -import java.io.IOException; - -/** - * @author abyotag_adm - * - */ -public interface ISerializable { - byte[] serialize() throws IOException; - void deSerialize(byte[] data)throws IOException; -} \ No newline at end of file === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Link.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Link.java 2010-08-25 17:40:56 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Link.java 1970-01-01 00:00:00 +0000 @@ -1,31 +0,0 @@ -package org.hisp.dhis.web.api.model; - -import javax.xml.bind.annotation.XmlAttribute; - -public class Link -{ - - private String url; - - public Link() - { - } - - public Link( String url ) - { - this.url = url; - } - - @XmlAttribute - public String getUrl() - { - return url; - } - - public void setUrl( String url ) - { - this.url = url; - } - - -} === added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/MobileModel.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/MobileModel.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/MobileModel.java 2010-11-16 16:28:41 +0000 @@ -0,0 +1,130 @@ +package org.hisp.dhis.web.api.model; + +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.util.List; + +public class MobileModel + implements MobileSerializable +{ + private ActivityPlan activityPlan; + + private List programs; + + private List datasets; + + public ActivityPlan getActivityPlan() + { + return activityPlan; + } + + public void setActivityPlan( ActivityPlan activityPlan ) + { + this.activityPlan = activityPlan; + } + + public List getPrograms() + { + return programs; + } + + public void setPrograms( List programs ) + { + this.programs = programs; + } + + public List getDatasets() + { + return datasets; + } + + public void setDatasets( List datasets ) + { + this.datasets = datasets; + } + + @Override + public void serialize( DataOutputStream dout ) + throws IOException + { + + if ( programs != null ) + { + dout.writeInt( programs.size() ); + } + else + { + dout.writeInt( 0 ); + } + + // Write ActivityPlans + if ( this.activityPlan == null ) + { + dout.writeInt( 0 ); + } + else + { + this.activityPlan.serialize( dout ); + } + + // Write Programs + if ( programs != null || programs.size() > 0 ) + { + for ( Program prog : programs ) + { + prog.serialize( dout ); + } + } + + // Write DataSets + if ( datasets == null ) + { + dout.writeInt( 0 ); + } + else + { + dout.writeInt( datasets.size() ); + for ( DataSet ds : datasets ) + { + ds.serialize( dout ); + } + } + } + + @Override + public void deSerialize( DataInputStream dataInputStream ) + throws IOException + { + // FIXME: Get implementation from client + + } + +} === added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/MobileSerializable.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/MobileSerializable.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/MobileSerializable.java 2010-11-16 16:28:41 +0000 @@ -0,0 +1,47 @@ +package org.hisp.dhis.web.api.model; + +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +/** + * Interface for entities that needs to be serialized/deserialized for + * communication with low-bandwith mobile phones + */ +public interface MobileSerializable +{ + + public void serialize( DataOutputStream dataOutputStream ) + throws IOException; + + public void deSerialize( DataInputStream dataInputStream ) + throws IOException; + +} \ No newline at end of file === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/MobileWrapper.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/MobileWrapper.java 2010-11-13 17:48:18 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/MobileWrapper.java 1970-01-01 00:00:00 +0000 @@ -1,126 +0,0 @@ -package org.hisp.dhis.web.api.model; - -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.List; - -/** - * @author Tran Ng Minh Luan - * - */ -public class MobileWrapper - implements ISerializable -{ - private ActivityPlan activityPlan; - - private List programs; - - private List datasets; - - public MobileWrapper() - { - } - - public ActivityPlan getActivityPlan() - { - return activityPlan; - } - - public void setActivityPlan( ActivityPlan activityPlan ) - { - this.activityPlan = activityPlan; - } - - public List getPrograms() - { - return programs; - } - - public void setPrograms( List programs ) - { - this.programs = programs; - } - - public List getDatasets() - { - return datasets; - } - - public void setDatasets( List datasets ) - { - this.datasets = datasets; - } - - public void serialize( OutputStream out ) - throws IOException - { - - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream( bout ); - - if ( programs != null ) - { - dout.writeInt( programs.size() ); - } - else - { - dout.writeInt( 0 ); - } - - // Write ActivityPlans - if ( this.activityPlan == null ) - { - dout.writeInt( 0 ); - } - else - { - this.activityPlan.serialize( dout ); - } - - // Write Programs - if ( programs != null || programs.size() > 0 ) - { - for ( Program prog : programs ) - { - prog.serialize( dout ); - } - } - - // Write DataSets - if ( datasets == null ) - { - dout.writeInt( 0 ); - } - else - { - dout.writeInt( datasets.size() ); - for ( DataSet ds : datasets ) - { - ds.serialize( dout ); - } - } - - bout.flush(); - bout.writeTo( out ); - - } - - @Override - public byte[] serialize() - throws IOException - { - // TODO Auto-generated method stub - return null; - } - - @Override - public void deSerialize( byte[] data ) - throws IOException - { - // TODO Auto-generated method stub - - } - -} === added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Model.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Model.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Model.java 2010-11-16 16:28:41 +0000 @@ -0,0 +1,78 @@ +package org.hisp.dhis.web.api.model; + +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + +public class Model + implements MobileSerializable +{ + + private int id; + + private String name; + + public int getId() + { + return id; + } + + public void setId( int id ) + { + this.id = id; + } + + public String getName() + { + return name; + } + + public void setName( String name ) + { + this.name = name; + } + + @Override + public void serialize( DataOutputStream dout ) + throws IOException + { + dout.writeInt( this.id ); + dout.writeUTF( this.name ); + } + + @Override + public void deSerialize( DataInputStream dataInputStream ) + throws IOException + { + this.id = dataInputStream.readInt(); + this.name = dataInputStream.readUTF(); + } + +} === added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ModelList.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ModelList.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/ModelList.java 2010-11-16 16:28:41 +0000 @@ -0,0 +1,81 @@ +package org.hisp.dhis.web.api.model; + +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +public class ModelList + implements MobileSerializable +{ + + private List models; + + public List getAbstractModels() + { + return models; + } + + public void setModels( List models ) + { + this.models = models; + } + + @Override + public void serialize( DataOutputStream dataOutputStream ) + throws IOException + { + dataOutputStream.writeInt( models.size() ); + + for ( int i = 0; i < models.size(); i++ ) + { + models.get( i ).serialize( dataOutputStream ); + } + + } + + @Override + public void deSerialize( DataInputStream dataInputStream ) + throws IOException + { + int size = dataInputStream.readInt(); + models = new ArrayList( size ); + + for ( int i = 0; i < size; i++ ) + { + Model m = new Model(); + m.deSerialize( dataInputStream ); + models.add( m ); + } + + } + +} === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/OrgUnit.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/OrgUnit.java 2010-08-25 17:40:56 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/OrgUnit.java 2010-11-16 16:28:41 +0000 @@ -1,43 +1,105 @@ package org.hisp.dhis.web.api.model; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name="orgUnit") -public class OrgUnit { - - @XmlAttribute +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; + + +public class OrgUnit implements MobileSerializable { + private int id; - @XmlAttribute private String name; - @XmlElement(name="allProgramForms") - private Link programFormsLink; + private String programFormsLink; - @XmlElement(name="currentActivities") - private Link activitiesLink; + private String activitiesLink; + + public int getId() + { + return id; + } public void setId( int id ) { this.id = id; } + public String getName() + { + return name; + } + public void setName( String name ) { this.name = name; } - public void setProgramFormsLink( Link programFormsLink ) + public String getProgramFormsLink() + { + return programFormsLink; + } + + public void setProgramFormsLink( String programFormsLink ) { this.programFormsLink = programFormsLink; } - public void setActivitiesLink( Link activitiesLink ) + public String getActivitiesLink() + { + return activitiesLink; + } + + public void setActivitiesLink( String activitiesLink ) { this.activitiesLink = activitiesLink; } - - + + @Override + public void serialize( DataOutputStream dataOutputStream ) + throws IOException + { + dataOutputStream.write( this.id ); + dataOutputStream.writeUTF( this.name ); + dataOutputStream.writeUTF( this.activitiesLink ); + dataOutputStream.writeUTF( this.programFormsLink ); + } + + @Override + public void deSerialize( DataInputStream dataInputStream ) + throws IOException + { + this.id = dataInputStream.readInt(); + this.name = dataInputStream.readUTF(); + this.activitiesLink = dataInputStream.readUTF(); + this.programFormsLink = dataInputStream.readUTF(); + } + } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/PatientAttribute.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/PatientAttribute.java 2010-11-12 10:28:30 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/PatientAttribute.java 2010-11-16 16:28:41 +0000 @@ -1,5 +1,7 @@ +package org.hisp.dhis.web.api.model; + /* - * Copyright (c) 2004-2009, University of Oslo + * Copyright (c) 2004-2010, University of Oslo * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,29 +26,18 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package org.hisp.dhis.web.api.model; -import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -public class PatientAttribute +public class PatientAttribute implements MobileSerializable { private String name; private String value; - // ------------------------------------------------------------------------- - // Constructors - // ------------------------------------------------------------------------- - public PatientAttribute() - { - } - - // ------------------------------------------------------------------------- - // Getter & Setter - // ------------------------------------------------------------------------- public String getName() { return name; @@ -67,17 +58,20 @@ this.value = value; } - public void serialize( DataOutputStream out ) + @Override + public void serialize( DataOutputStream dout ) throws IOException { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream( bout ); - dout.writeUTF( this.name ); dout.writeUTF( this.value ); + } + + @Override + public void deSerialize( DataInputStream dataInputStream ) + throws IOException + { + // FIXME: Get implementation from client - bout.flush(); - bout.writeTo( out ); } } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Program.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Program.java 2010-11-01 06:32:22 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Program.java 2010-11-16 16:28:41 +0000 @@ -1,62 +1,72 @@ -/** - * - */ package org.hisp.dhis.web.api.model; -import java.io.ByteArrayOutputStream; +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import java.io.OutputStream; import java.util.List; -/** - * @author abyotag_adm - * - */ -public class Program extends AbstractModel { - - private List programStages; - - public List getProgramStages() { - return programStages; - } - - public void setProgramStages(List programStages) { - this.programStages = programStages; - } - - public byte[] serialize() throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream(bout); - - dout.writeInt(this.getId()); - dout.writeUTF(this.getName()); - dout.writeInt(programStages.size()); - - for(int i=0; i programStages; + + public List getProgramStages() + { + return programStages; + } + + public void setProgramStages( List programStages ) + { + this.programStages = programStages; + } + + @Override + public void serialize( DataOutputStream dout ) + throws IOException + { + dout.writeInt( this.getId() ); + dout.writeUTF( this.getName() ); + dout.writeInt( programStages.size() ); + for ( int i = 0; i < programStages.size(); i++ ) { - ProgramStage prorgamStage = (ProgramStage)programStages.get(i); - prorgamStage.serialize(dout); + ProgramStage programStage = (ProgramStage) programStages.get( i ); + programStage.serialize( dout ); } + } - return bout.toByteArray(); - } - - public void serialize( OutputStream out ) throws IOException + @Override + public void deSerialize( DataInputStream dataInputStream ) + throws IOException { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream(bout); - dout.writeInt(this.getId()); - dout.writeUTF(this.getName()); - dout.writeInt(programStages.size()); - for(int i=0; i dataElements; @@ -24,46 +48,24 @@ this.dataElements = dataElements; } - public byte[] serialize() - throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream( bout ); - - dout.writeInt( this.getId() ); - dout.writeUTF( this.getName() ); - dout.writeInt( dataElements.size() ); - - for ( int i = 0; i < dataElements.size(); i++ ) - { - DataElement de = (DataElement) dataElements.get( i ); - dout.writeInt( de.getId() ); - dout.writeUTF( de.getName() ); - dout.writeUTF( de.getType() ); - } - - return bout.toByteArray(); - } - - public void serialize( OutputStream out ) - throws IOException - { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream( bout ); - - dout.writeInt( this.getId() ); - dout.writeUTF( this.getName() ); - - dout.writeInt( dataElements.size() ); - - for ( int i = 0; i < dataElements.size(); i++ ) - { - DataElement de = (DataElement) dataElements.get( i ); - dout.writeInt( de.getId() ); - dout.writeUTF( de.getName() ); - dout.writeUTF( de.getType() ); - - List cateOptCombos = de.getCategoryOptionCombos().getAbstractModels(); + @Override + public void serialize( DataOutputStream dout ) + throws IOException + { + // FIXME: Children should serialize themselves + dout.writeInt( this.getId() ); + dout.writeUTF( this.getName() ); + + dout.writeInt( dataElements.size() ); + + for ( int i = 0; i < dataElements.size(); i++ ) + { + DataElement de = (DataElement) dataElements.get( i ); + dout.writeInt( de.getId() ); + dout.writeUTF( de.getName() ); + dout.writeUTF( de.getType() ); + + List cateOptCombos = de.getCategoryOptionCombos().getAbstractModels(); if ( cateOptCombos == null || cateOptCombos.size() <= 0 ) { dout.writeInt( 0 ); @@ -71,53 +73,20 @@ else { dout.writeInt( cateOptCombos.size() ); - for ( AbstractModel each : cateOptCombos ) + for ( Model each : cateOptCombos ) { dout.writeInt( each.getId() ); dout.writeUTF( each.getName() ); } } } - - bout.flush(); - bout.writeTo( out ); } - // public void serialize( DataOutputStream dout ) throws IOException - // { - // dout.writeInt(this.getId()); - // dout.writeUTF(this.getName()); - // dout.writeInt(dataElements.size()); - // System.out.println("add dataelement"); - // for(int i=0; i dataElements; - public Section() - { - } - - public List getDes() - { - return dataElements; - } - - public void setDes( List des ) + public void setDataElements( List des ) { this.dataElements = des; } - public void serialize( OutputStream out ) + @Override + public void serialize( DataOutputStream dout ) throws IOException { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream( bout ); - dout.writeInt( this.getId() ); dout.writeUTF( getName() ); @@ -52,7 +63,7 @@ dout.writeInt( de.getId() ); dout.writeUTF( de.getName() ); dout.writeUTF( de.getType() ); - List cateOptCombos = de.getCategoryOptionCombos().getAbstractModels(); + List cateOptCombos = de.getCategoryOptionCombos().getAbstractModels(); if ( cateOptCombos == null || cateOptCombos.size() <= 0 ) { dout.writeInt( 0 ); @@ -60,7 +71,7 @@ else { dout.writeInt( cateOptCombos.size() ); - for ( AbstractModel each : cateOptCombos ) + for ( Model each : cateOptCombos ) { dout.writeInt( each.getId() ); dout.writeUTF( each.getName() ); @@ -69,8 +80,14 @@ } } - bout.flush(); - bout.writeTo( out ); - } + } + + @Override + public void deSerialize( DataInputStream dataInputStream ) + throws IOException + { + // FIXME + } + } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Task.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Task.java 2010-09-24 11:12:49 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/model/Task.java 2010-11-16 16:28:41 +0000 @@ -1,6 +1,34 @@ package org.hisp.dhis.web.api.model; +/* + * Copyright (c) 2004-2010, 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 java.io.ByteArrayOutputStream; +import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -8,8 +36,7 @@ import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; -@XmlRootElement -public class Task implements ISerializable +public class Task implements MobileSerializable { private int id; @@ -17,7 +44,6 @@ private boolean completed; - @XmlAttribute public int getId() { return id; @@ -28,7 +54,6 @@ this.id = id; } - @XmlAttribute public int getProgramStageId() { return programStageId; @@ -39,7 +64,6 @@ this.programStageId = programStageId; } - @XmlAttribute public boolean isCompleted() { return completed; @@ -50,39 +74,22 @@ this.completed = completed; } - @Override - public byte[] serialize() throws IOException { - // TODO Auto-generated method stub - return null; - } - - public void serialize( DataOutputStream dout ) throws IOException - { - dout.writeInt(this.getId()); + @Override + public void serialize( DataOutputStream dout ) + throws IOException + { + dout.writeInt(this.getId()); dout.writeInt(this.getProgramStageId()); dout.writeBoolean(this.isCompleted()); - - dout.flush(); } - - public void serialize( OutputStream out ) throws IOException + + @Override + public void deSerialize( DataInputStream dataInputStream ) + throws IOException { - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - DataOutputStream dout = new DataOutputStream(bout); - - dout.writeInt(this.getId()); - dout.writeInt(this.getProgramStageId()); - dout.writeBoolean(this.isCompleted()); - - bout.flush(); - bout.writeTo(out); - - } + // Fixme + + } - @Override - public void deSerialize(byte[] data) throws IOException { - // TODO Auto-generated method stub - - } } === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/AbstractModelListProvider.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/AbstractModelListProvider.java 2010-09-24 11:12:49 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/AbstractModelListProvider.java 1970-01-01 00:00:00 +0000 @@ -1,76 +0,0 @@ -package org.hisp.dhis.web.api.provider; - -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import javax.ws.rs.Produces; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyWriter; -import javax.ws.rs.ext.Provider; - -import com.jcraft.jzlib.JZlib; -import com.jcraft.jzlib.ZOutputStream; -import com.sun.jersey.spi.resource.Singleton; - -import org.hisp.dhis.web.api.model.AbstractModelList; - -@Provider -@Singleton -@Produces( "application/vnd.org.dhis2.abstractmodellist+serialized" ) -public class AbstractModelListProvider implements MessageBodyWriter{ - - @Override - public long getSize(AbstractModelList arg0, Class arg1, Type arg2, - Annotation[] arg3, MediaType arg4) { - return -1; - } - - @Override - public boolean isWriteable(Class arg0, Type arg1, Annotation[] arg2, - MediaType arg3) { - return true; - } - - @Override - public void writeTo(AbstractModelList abstractModelList, Class arg1, Type arg2, - Annotation[] arg3, MediaType arg4, - MultivaluedMap arg5, OutputStream stream) - throws IOException, WebApplicationException { - - serializeZipped(abstractModelList, stream); - } - - public void serializeZipped( AbstractModelList abstractModelList, OutputStream os ) throws IOException - { - ByteArrayOutputStream baos = serializePersistent( abstractModelList ); - ZOutputStream gzip = new ZOutputStream( os, JZlib.Z_BEST_COMPRESSION ); - DataOutputStream dos = new DataOutputStream( gzip ); - - try - { - //dos.writeByte( 1 ); - byte[] res = baos.toByteArray(); - dos.write( res ); - } - finally - { - dos.flush(); - gzip.finish(); - } - } - - public ByteArrayOutputStream serializePersistent( AbstractModelList abstractModelList ) throws IOException - { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - DataOutputStream out = new DataOutputStream( baos ); - abstractModelList.serialize(out); - out.flush(); - return baos; - } -} === added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/ActivityValueConsumer.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/ActivityValueConsumer.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/ActivityValueConsumer.java 2010-11-16 16:28:41 +0000 @@ -0,0 +1,69 @@ +package org.hisp.dhis.web.api.provider; + +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; + +import javax.ws.rs.Consumes; +import javax.ws.rs.WebApplicationException; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.ext.MessageBodyReader; +import javax.ws.rs.ext.Provider; + +import org.hisp.dhis.web.api.model.ActivityValue; + +import com.sun.jersey.spi.resource.Singleton; + +@Provider +@Singleton +@Consumes( "application/vnd.org.dhis2.activityvaluelist+serialized" ) +public class ActivityValueConsumer + implements MessageBodyReader +{ + + @Override + public boolean isReadable( Class type, Type genericType, Annotation[] annotations, MediaType mediaType ) + { + return true; + } + + @Override + public ActivityValue readFrom( Class type, Type genericType, Annotation[] annotations, + MediaType mediaType, MultivaluedMap httpHeaders, InputStream entityStream ) + throws IOException, WebApplicationException + { + ActivityValue activityValue = new ActivityValue(); + activityValue.deSerialize( new DataInputStream( entityStream ) ); + return activityValue; + } +} === added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/DataSerializableProvider.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/DataSerializableProvider.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/DataSerializableProvider.java 2010-11-16 16:28:41 +0000 @@ -0,0 +1,106 @@ +package org.hisp.dhis.web.api.provider; + +/* + * Copyright (c) 2004-2010, 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 java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; + +import javax.ws.rs.Produces; +import javax.ws.rs.WebApplicationException; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.ext.MessageBodyWriter; +import javax.ws.rs.ext.Provider; + +import org.hisp.dhis.web.api.model.MobileSerializable; + +import com.jcraft.jzlib.JZlib; +import com.jcraft.jzlib.ZOutputStream; +import com.sun.jersey.spi.resource.Singleton; + +@Provider +@Singleton +@Produces( "application/vnd.org.dhis2.mobile+serialized" ) +public class DataSerializableProvider + implements MessageBodyWriter +{ + + @Override + public boolean isWriteable( Class type, Type genericType, Annotation[] annotations, MediaType mediaType ) + { + return true; + } + + @Override + public long getSize( MobileSerializable t, Class type, Type genericType, Annotation[] annotations, + MediaType mediaType ) + { + return -1; + } + + @Override + public void writeTo( MobileSerializable t, Class type, Type genericType, Annotation[] annotations, + MediaType mediaType, MultivaluedMap httpHeaders, OutputStream entityStream ) + throws IOException, WebApplicationException + { + ByteArrayOutputStream baos = serializePersistent( t ); + ZOutputStream gzip = new ZOutputStream( entityStream, JZlib.Z_BEST_COMPRESSION ); + DataOutputStream dos = new DataOutputStream( gzip ); + + try + { + byte[] res = baos.toByteArray(); + dos.write( res ); + } + catch ( Exception e ) + { + e.printStackTrace(); + } + finally + { + dos.flush(); + gzip.finish(); + } + + } + + public ByteArrayOutputStream serializePersistent( MobileSerializable entity ) + throws IOException + { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + DataOutputStream out = new DataOutputStream( baos ); + entity.serialize( out ); + out.flush(); + return baos; + } + +} === added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/DataSetValueConsumer.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/DataSetValueConsumer.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/DataSetValueConsumer.java 2010-11-16 16:28:41 +0000 @@ -0,0 +1,70 @@ +package org.hisp.dhis.web.api.provider; + +/* + * Copyright (c) 2004-2010, 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 java.io.DataInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; + +import javax.ws.rs.Consumes; +import javax.ws.rs.WebApplicationException; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.ext.MessageBodyReader; +import javax.ws.rs.ext.Provider; + +import org.hisp.dhis.web.api.model.DataSetValue; + +import com.sun.jersey.spi.resource.Singleton; + +@Provider +@Singleton +@Consumes( "application/vnd.org.dhis2.datasetvalue+serialized" ) +public class DataSetValueConsumer + implements MessageBodyReader +{ + + @Override + public boolean isReadable( Class type, Type genericType, Annotation[] annotations, MediaType mediaType ) + { + return true; + } + + @Override + public DataSetValue readFrom( Class type, Type genericType, Annotation[] annotations, + MediaType mediaType, MultivaluedMap httpHeaders, InputStream entityStream ) + throws IOException, WebApplicationException + { + DataSetValue dsValue = new DataSetValue(); + dsValue.deSerialize( new DataInputStream( entityStream ) ); + return dsValue; + } + +} === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/MobileWrapperProvider.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/MobileWrapperProvider.java 2010-10-28 09:25:22 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/provider/MobileWrapperProvider.java 1970-01-01 00:00:00 +0000 @@ -1,84 +0,0 @@ -package org.hisp.dhis.web.api.provider; - -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.lang.annotation.Annotation; -import java.lang.reflect.Type; - -import javax.ws.rs.Produces; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyWriter; -import javax.ws.rs.ext.Provider; - -import org.hisp.dhis.web.api.model.ActivityWrapper; -import org.hisp.dhis.web.api.model.MobileWrapper; - -import com.jcraft.jzlib.JZlib; -import com.jcraft.jzlib.ZOutputStream; -import com.sun.jersey.spi.resource.Singleton; - -/** - * @author Tran Ng Minh Luan - * - */ -@Provider -@Singleton -@Produces( "application/vnd.org.dhis2.mobileresource+serialized" ) -public class MobileWrapperProvider implements MessageBodyWriter{ - @Override - public long getSize(MobileWrapper arg0, Class arg1, Type arg2, - Annotation[] arg3, MediaType arg4) { - return -1; - } - - @Override - public boolean isWriteable(Class arg0, Type arg1, Annotation[] arg2, - MediaType arg3) { - return true; - } - - @Override - public void writeTo(MobileWrapper mobileWrapper, Class arg1, Type arg2, - Annotation[] arg3, MediaType arg4, - MultivaluedMap arg5, OutputStream stream) - throws IOException, WebApplicationException { - - //activityPlan.serialize( stream ); - serializeZipped(mobileWrapper, stream); - } - - - public void serializeZipped( MobileWrapper mobileWrapper, OutputStream os ) throws IOException - { - ByteArrayOutputStream baos = serializePersistent( mobileWrapper ); - ZOutputStream gzip = new ZOutputStream( os, JZlib.Z_BEST_COMPRESSION ); - DataOutputStream dos = new DataOutputStream( gzip ); - - try - { - byte[] res = baos.toByteArray(); - dos.write( res ); - } - catch(Exception e){ - e.printStackTrace(); - } - finally - { - dos.flush(); - gzip.finish(); - } - } - - public ByteArrayOutputStream serializePersistent( MobileWrapper mobileWrapper ) throws IOException - { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - DataOutputStream out = new DataOutputStream( baos ); - mobileWrapper.serialize(out); - out.flush(); - return baos; - } -} === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ActivityPlanResource.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ActivityPlanResource.java 2010-11-13 17:48:18 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ActivityPlanResource.java 1970-01-01 00:00:00 +0000 @@ -1,50 +0,0 @@ -package org.hisp.dhis.web.api.resources; - -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.Produces; - -import org.hisp.dhis.web.api.model.ActivityPlan; -import org.hisp.dhis.web.api.model.ActivityValue; -import org.hisp.dhis.web.api.service.IActivityPlanService; -import org.hisp.dhis.web.api.service.IActivityValueService; -import org.springframework.beans.factory.annotation.Autowired; - -@Path( "/activityplan" ) -public class ActivityPlanResource -{ - - // ------------------------------------------------------------------------- - // Dependencies - // ------------------------------------------------------------------------- - - @Autowired - private IActivityPlanService activityPlanService; - - @Autowired - private IActivityValueService iactivityValueService; - - // ------------------------------------------------------------------------- - // Resources - // ------------------------------------------------------------------------- - - @GET - @Path( "current" ) - @Produces( "application/vnd.org.dhis2.activityplan+serialized" ) - public ActivityPlan getCurrentActivityPlan( @HeaderParam( "accept-language" ) String locale ) - { - return activityPlanService.getCurrentActivityPlan( locale ); - } - - @POST - @Path( "values" ) - @Consumes( "application/vnd.org.dhis2.activityvaluelist+serialized" ) - @Produces( "application/xml" ) - public String getValues( ActivityValue activityValue ) - { - return iactivityValueService.saveValues( activityValue ); - } -} === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/DataSetResource.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/DataSetResource.java 2010-11-01 06:32:22 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/DataSetResource.java 1970-01-01 00:00:00 +0000 @@ -1,65 +0,0 @@ -package org.hisp.dhis.web.api.resources; - -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.Produces; - -import org.hisp.dhis.web.api.model.AbstractModelList; -import org.hisp.dhis.web.api.model.DataSet; -import org.hisp.dhis.web.api.model.DataSetValue; -import org.hisp.dhis.web.api.service.IDataSetService; -import org.hisp.dhis.web.api.service.IDataValueService; -import org.springframework.beans.factory.annotation.Autowired; - -@Path("/mobile-datasets") -public class DataSetResource { - - - // ------------------------------------------------------------------------- - // Dependencies - // ------------------------------------------------------------------------- - - @Autowired - private IDataSetService idataSetService; - - @Autowired - private IDataValueService idataValueService; - - - // ------------------------------------------------------------------------- - // Resources - // ------------------------------------------------------------------------- - - @GET - @Produces( "application/vnd.org.dhis2.abstractmodellist+serialized" ) - public AbstractModelList getAllMobileDataSets(@HeaderParam("accept-language") String locale) - { - return null; -// return idataSetService.getAllMobileDataSetsForLocale( locale ); - } - - @GET - @Path("{datasetid}") - @Produces( "application/vnd.org.dhis2.dataset+serialized" ) - public DataSet getSelectedDataSet( - @PathParam("datasetid") int datasetid, - @HeaderParam("accept-language") String locale - ) - { - return null; -// return idataSetService.getDataSetForLocale( datasetid, locale ); - } - - @POST - @Path( "values" ) - @Consumes( "application/vnd.org.dhis2.datasetvalue+serialized" ) - @Produces("application/xml") - public String getValues(DataSetValue dataSetValue) - { - return idataValueService.saveValues(dataSetValue); - } -} === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/MobileResource.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/MobileResource.java 2010-11-15 18:00:33 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/MobileResource.java 2010-11-16 16:28:41 +0000 @@ -1,9 +1,38 @@ package org.hisp.dhis.web.api.resources; +/* + * Copyright (c) 2004-2010, 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 java.util.Collection; +import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; @@ -15,70 +44,81 @@ import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.user.CurrentUserService; import org.hisp.dhis.user.User; -import org.hisp.dhis.web.api.model.Link; -import org.hisp.dhis.web.api.model.MobileWrapper; +import org.hisp.dhis.web.api.model.ActivityPlan; +import org.hisp.dhis.web.api.model.ActivityValue; +import org.hisp.dhis.web.api.model.DataSetValue; +import org.hisp.dhis.web.api.model.MobileModel; import org.hisp.dhis.web.api.model.OrgUnit; import org.hisp.dhis.web.api.service.IActivityPlanService; +import org.hisp.dhis.web.api.service.IActivityValueService; import org.hisp.dhis.web.api.service.IDataSetService; +import org.hisp.dhis.web.api.service.IDataValueService; import org.hisp.dhis.web.api.service.IProgramService; +import org.springframework.beans.factory.annotation.Required; @Path( "/mobile" ) public class MobileResource { + private static final String MEDIA_TYPE_MOBILE_SERIALIZED = "application/vnd.org.dhis2.mobile+serialized"; + + // Dependencies + + private IDataValueService idataValueService; + + private IActivityValueService iactivityValueService; + private IProgramService programService; - public IProgramService getProgramService() + private IActivityPlanService activityPlanService; + + private IDataSetService idataSetService; + + private CurrentUserService currentUserService; + + @Required + public void setIdataValueService( IDataValueService idataValueService ) { - return programService; + this.idataValueService = idataValueService; } + @Required public void setProgramService( IProgramService programService ) { this.programService = programService; } - private IActivityPlanService activityPlanService; - - public IActivityPlanService getActivityPlanService() - { - return activityPlanService; - } - + @Required public void setActivityPlanService( IActivityPlanService activityPlanService ) { this.activityPlanService = activityPlanService; } - private IDataSetService idataSetService; - - public IDataSetService getIdataSetService() + @Required + public void setIactivityValueService( IActivityValueService iactivityValueService ) { - return idataSetService; + this.iactivityValueService = iactivityValueService; } + @Required public void setIdataSetService( IDataSetService idataSetService ) { this.idataSetService = idataSetService; } - private CurrentUserService currentUserService; - - public CurrentUserService getCurrentUserService() - { - return currentUserService; - } - + @Required public void setCurrentUserService( CurrentUserService currentUserService ) { this.currentUserService = currentUserService; } + // Resource methods + @Context private UriInfo uriInfo; @GET - @Produces( MediaType.APPLICATION_XML ) + @Produces( MEDIA_TYPE_MOBILE_SERIALIZED ) public Response getOrgUnitForUser() { User user = currentUserService.getCurrentUser(); @@ -110,10 +150,10 @@ @GET @Path( "all" ) - @Produces( "application/vnd.org.dhis2.mobileresource+serialized" ) - public MobileWrapper getAllDataForUser( @HeaderParam( "accept-language" ) String locale ) + @Produces( MEDIA_TYPE_MOBILE_SERIALIZED ) + public MobileModel getAllDataForUser( @HeaderParam( "accept-language" ) String locale ) { - MobileWrapper mobileWrapper = new MobileWrapper(); + MobileModel mobileWrapper = new MobileModel(); mobileWrapper.setActivityPlan( activityPlanService.getCurrentActivityPlan( locale ) ); mobileWrapper.setPrograms( programService.getAllProgramsForLocale( locale ) ); @@ -123,14 +163,40 @@ return mobileWrapper; } + @POST + @Path( "dataSets" ) + @Consumes( "application/vnd.org.dhis2.datasetvalue+serialized" ) + @Produces( "application/xml" ) + public String getValues( DataSetValue dataSetValue ) + { + return idataValueService.saveValues( dataSetValue ); + } + + @GET + @Path( "activities/currentplan" ) + @Produces( "application/vnd.org.dhis2.activityplan+serialized" ) + public ActivityPlan getCurrentActivityPlan( @HeaderParam( "accept-language" ) String locale ) + { + return activityPlanService.getCurrentActivityPlan( locale ); + } + + @POST + @Path( "activities" ) + @Consumes( "application/vnd.org.dhis2.activityvaluelist+serialized" ) + @Produces( "application/xml" ) + public String getValues( ActivityValue activityValue ) + { + return iactivityValueService.saveValues( activityValue ); + } + private OrgUnit getOrgUnit( OrganisationUnit unit ) { OrgUnit m = new OrgUnit(); m.setId( unit.getId() ); m.setName( unit.getShortName() ); - m.setProgramFormsLink( new Link( uriInfo.getRequestUriBuilder().path( "programforms" ).build().toString() ) ); - m.setActivitiesLink( new Link( uriInfo.getRequestUriBuilder().path( "activityplan/current" ).build().toString() ) ); + m.setProgramFormsLink( uriInfo.getRequestUriBuilder().path( "programforms" ).build().toString() ); + m.setActivitiesLink( uriInfo.getRequestUriBuilder().path( "activityplan/current" ).build().toString() ); return m; } === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/OrgUnitResource.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/OrgUnitResource.java 2010-11-15 08:35:53 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/OrgUnitResource.java 1970-01-01 00:00:00 +0000 @@ -1,76 +0,0 @@ -package org.hisp.dhis.web.api.resources; - -import java.util.List; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - -import org.hisp.dhis.organisationunit.OrganisationUnitService; -import org.hisp.dhis.web.api.model.ActivityPlan; -import org.hisp.dhis.web.api.model.Form; -import org.hisp.dhis.web.api.service.ActivityPlanModelService; -import org.hisp.dhis.web.api.service.ProgramStageService; -import org.springframework.beans.factory.annotation.Autowired; - -@Path( "/orgUnits/{id}" ) -public class OrgUnitResource -{ - private OrganisationUnitService organisationUnitService; - - public OrganisationUnitService getOrganisationUnitService() - { - return organisationUnitService; - } - - public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) - { - this.organisationUnitService = organisationUnitService; - } - - private ActivityPlanModelService service; - - public ActivityPlanModelService getService() - { - return service; - } - - public void setService( ActivityPlanModelService service ) - { - this.service = service; - } - - private ProgramStageService programStageService; - - public ProgramStageService getProgramStageService() - { - return programStageService; - } - - public void setProgramStageService( ProgramStageService programStageService ) - { - this.programStageService = programStageService; - } - - @PathParam( "id" ) - private int unitId; - - @GET - @Path( "activityplan/current" ) - @Produces( MediaType.APPLICATION_XML ) - public ActivityPlan getCurrentActivityPlan() - { - return service.getCurrentActivityPlan( organisationUnitService.getOrganisationUnit( unitId ) ); - } - - @GET - @Path( "programforms" ) - @Produces( MediaType.APPLICATION_XML ) - public List
getAllForms() - { - return programStageService.getAllForms(); - } - -} === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ProgramResource.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ProgramResource.java 2010-11-01 06:32:22 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/resources/ProgramResource.java 1970-01-01 00:00:00 +0000 @@ -1,47 +0,0 @@ -package org.hisp.dhis.web.api.resources; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.Produces; - -import org.hisp.dhis.web.api.model.AbstractModelList; -import org.hisp.dhis.web.api.model.Program; -import org.hisp.dhis.web.api.service.IProgramService; -import org.springframework.beans.factory.annotation.Autowired; - -@Path("/programs") -public class ProgramResource { - - - // ------------------------------------------------------------------------- - // Dependencies - // ------------------------------------------------------------------------- - - @Autowired - private IProgramService iprogramService; - - // ------------------------------------------------------------------------- - // Resources - // ------------------------------------------------------------------------- - - @GET - @Produces( "application/vnd.org.dhis2.abstractmodellist+serialized" ) - public AbstractModelList getAllMobileDataSets(@HeaderParam("accept-language") String locale) - { -// return iprogramService.getAllProgramsForLocale( locale ); - return null; - } - - @GET - @Path("{programid}") - @Produces( "application/vnd.org.dhis2.program+serialized" ) - public Program getSelectedProgram( - @PathParam("programid") int programid, - @HeaderParam("accept-language") String locale - ) - { - return iprogramService.getProgramForLocale( programid, locale ); - } -} === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultActivityPlanService.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultActivityPlanService.java 2010-11-15 08:35:53 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultActivityPlanService.java 2010-11-16 16:28:41 +0000 @@ -1,6 +1,3 @@ -/** - * - */ package org.hisp.dhis.web.api.service; import java.util.ArrayList; @@ -24,10 +21,6 @@ import org.joda.time.DateTime; import org.springframework.beans.factory.annotation.Autowired; -/** - * @author abyotag_adm - * - */ public class DefaultActivityPlanService implements IActivityPlanService { === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultDataSetService.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultDataSetService.java 2010-11-15 08:35:53 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultDataSetService.java 2010-11-16 16:28:41 +0000 @@ -5,7 +5,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Set; @@ -14,10 +13,10 @@ import org.hisp.dhis.dataelement.comparator.DataElementSortOrderComparator; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.user.CurrentUserService; -import org.hisp.dhis.web.api.model.AbstractModel; -import org.hisp.dhis.web.api.model.AbstractModelList; import org.hisp.dhis.web.api.model.DataElement; import org.hisp.dhis.web.api.model.DataSet; +import org.hisp.dhis.web.api.model.Model; +import org.hisp.dhis.web.api.model.ModelList; import org.hisp.dhis.web.api.model.Section; import org.hisp.dhis.web.api.utils.LocaleUtil; @@ -146,7 +145,7 @@ section.setName( "" ); List dataElementList = new ArrayList(); - section.setDes( dataElementList ); + section.setDataElements( dataElementList ); for ( org.hisp.dhis.dataelement.DataElement dataElement : dataElements ) { @@ -154,13 +153,13 @@ dataElement = i18n( i18nService, locale, dataElement ); Set deCatOptCombs = dataElement.getCategoryCombo().getOptionCombos(); // Client DataElement - AbstractModelList deCateOptCombo = new AbstractModelList(); - List listCateOptCombo = new ArrayList(); - deCateOptCombo.setAbstractModels( listCateOptCombo ); + ModelList deCateOptCombo = new ModelList(); + List listCateOptCombo = new ArrayList(); + deCateOptCombo.setModels( listCateOptCombo ); for ( DataElementCategoryOptionCombo oneCatOptCombo : deCatOptCombs ) { - AbstractModel oneCateOptCombo = new AbstractModel(); + Model oneCateOptCombo = new Model(); oneCateOptCombo.setId( oneCatOptCombo.getId() ); oneCateOptCombo.setName( oneCatOptCombo.getName() ); listCateOptCombo.add( oneCateOptCombo ); @@ -185,7 +184,7 @@ section.setName( each.getName() ); // Mobile List dataElementList = new ArrayList(); - section.setDes( dataElementList ); + section.setDataElements( dataElementList ); for ( org.hisp.dhis.dataelement.DataElement dataElement : dataElements ) { @@ -195,13 +194,13 @@ .getOptionCombos(); // Client DataElement - AbstractModelList deCateOptCombo = new AbstractModelList(); - List listCateOptCombo = new ArrayList(); - deCateOptCombo.setAbstractModels( listCateOptCombo ); + ModelList deCateOptCombo = new ModelList(); + List listCateOptCombo = new ArrayList(); + deCateOptCombo.setModels( listCateOptCombo ); for ( DataElementCategoryOptionCombo oneCatOptCombo : deCatOptCombs ) { - AbstractModel oneCateOptCombo = new AbstractModel(); + Model oneCateOptCombo = new Model(); oneCateOptCombo.setId( oneCatOptCombo.getId() ); oneCateOptCombo.setName( oneCatOptCombo.getName() ); listCateOptCombo.add( oneCateOptCombo ); === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultProgramService.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultProgramService.java 2010-11-15 15:24:26 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/DefaultProgramService.java 2010-11-16 16:28:41 +0000 @@ -14,8 +14,8 @@ import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.user.CurrentUserService; -import org.hisp.dhis.web.api.model.AbstractModel; -import org.hisp.dhis.web.api.model.AbstractModelList; +import org.hisp.dhis.web.api.model.Model; +import org.hisp.dhis.web.api.model.ModelList; import org.hisp.dhis.web.api.model.DataElement; import org.hisp.dhis.web.api.model.Program; import org.hisp.dhis.web.api.model.ProgramStage; @@ -117,15 +117,15 @@ for ( org.hisp.dhis.program.ProgramStageDataElement programStagedataElement : programStage .getProgramStageDataElements() ) { - AbstractModelList mobileCategpryOptCombos = new AbstractModelList(); - mobileCategpryOptCombos.setAbstractModels( new ArrayList() ); + ModelList mobileCategpryOptCombos = new ModelList(); + mobileCategpryOptCombos.setModels( new ArrayList() ); programStagedataElement = i18n( i18nService, locale, programStagedataElement ); Set deCatOptCombs = programStagedataElement.getDataElement() .getCategoryCombo().getOptionCombos(); for ( DataElementCategoryOptionCombo categoryOptCombo : deCatOptCombs ) { - AbstractModel mobileCategpryOptCombo = new AbstractModel(); + Model mobileCategpryOptCombo = new Model(); mobileCategpryOptCombo.setId( categoryOptCombo.getId() ); mobileCategpryOptCombo.setName( categoryOptCombo.getName() ); mobileCategpryOptCombos.getAbstractModels().add( mobileCategpryOptCombo ); === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/IDataSetService.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/IDataSetService.java 2010-10-28 09:17:13 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/IDataSetService.java 2010-11-16 16:28:41 +0000 @@ -3,7 +3,7 @@ import java.util.List; import java.util.Locale; -import org.hisp.dhis.web.api.model.AbstractModelList; +import org.hisp.dhis.web.api.model.ModelList; import org.hisp.dhis.web.api.model.DataSet; public interface IDataSetService { === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/IProgramService.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/IProgramService.java 2010-10-20 15:56:07 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/IProgramService.java 2010-11-16 16:28:41 +0000 @@ -5,7 +5,7 @@ import java.util.List; -import org.hisp.dhis.web.api.model.AbstractModelList; +import org.hisp.dhis.web.api.model.ModelList; import org.hisp.dhis.web.api.model.Program; /** === removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/ProgramStageService.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/ProgramStageService.java 2010-11-15 08:35:53 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/web/api/service/ProgramStageService.java 1970-01-01 00:00:00 +0000 @@ -1,71 +0,0 @@ -package org.hisp.dhis.web.api.service; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import org.hisp.dhis.program.ProgramStageDataElement; -import org.hisp.dhis.web.api.model.Form; -import org.hisp.dhis.web.api.model.DataElement; -import org.springframework.beans.factory.annotation.Autowired; - -public class ProgramStageService -{ - - private org.hisp.dhis.program.ProgramStageService programStageService; - - public org.hisp.dhis.program.ProgramStageService getProgramStageService() - { - return programStageService; - } - - public void setProgramStageService( org.hisp.dhis.program.ProgramStageService programStageService ) - { - this.programStageService = programStageService; - } - - public List getAllForms() - { - - List forms = new ArrayList(); - - for ( org.hisp.dhis.program.ProgramStage programStage : programStageService.getAllProgramStages() ) - { - - Form modelProgramStage = new Form(); - - modelProgramStage.setId( programStage.getId() ); - modelProgramStage.setName( programStage.getName() ); - - forms.add( modelProgramStage ); - - } - - return forms; - } - - public Form getForm( int programStageId ) - { - org.hisp.dhis.program.ProgramStage programStage = programStageService.getProgramStage( programStageId ); - - Collection dataElements = programStage.getProgramStageDataElements(); - - Form modelProgramStage = new Form(); - List des = new ArrayList(); - modelProgramStage.setId( programStage.getId() ); - modelProgramStage.setName( programStage.getName() ); - - for ( ProgramStageDataElement programStageDataElement : dataElements ) - { - DataElement de = new DataElement(); - de.setId( programStageDataElement.getDataElement().getId() ); - de.setName( programStageDataElement.getDataElement().getName() ); - de.setType( programStageDataElement.getDataElement().getType() ); - des.add( de ); - } - - modelProgramStage.setDataElements( des ); - - return modelProgramStage; - } -} === 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 2010-11-15 18:00:33 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/resources/META-INF/dhis/beans.xml 2010-11-16 16:28:41 +0000 @@ -1,187 +1,116 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +