← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 9891: upload tracking form: initial steps - LWUIT

 

------------------------------------------------------------
revno: 9891
committer: Lai <lai.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2013-02-25 13:32:56 +0700
message:
  upload tracking form: initial steps - LWUIT
modified:
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/ActivityReportingService.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Activity.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ActivityPlan.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ActivityValue.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Beneficiary.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Contact.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataElement.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataSet.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataSetList.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataStreamSerializable.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataValue.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Patient.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/ProgramStage.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/ProgramStageDataElement.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Section.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/MobileModel.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/MobileOrgUnitLinks.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Model.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ModelList.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/OptionSet.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/OrgUnits.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/PatientAttribute.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/PatientIdentifier.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Program.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ProgramStage.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/SMSCode.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/SMSCommand.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Section.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Task.java
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java
  dhis-2/dhis-services/dhis-service-mobile/src/test/java/org/hisp/dhis/mobile/api/model/OrgUnitTest.java
  dhis-2/dhis-services/dhis-service-mobile/src/test/java/org/hisp/dhis/mobile/api/model/OrgUnitsTest.java
  dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileClientController.java
  dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileOrganisationUnitController.java


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/ActivityReportingService.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/ActivityReportingService.java	2013-02-01 07:09:23 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/ActivityReportingService.java	2013-02-25 06:32:56 +0000
@@ -30,6 +30,7 @@
 import org.hisp.dhis.api.mobile.model.ActivityPlan;
 import org.hisp.dhis.api.mobile.model.ActivityValue;
 import org.hisp.dhis.api.mobile.model.LWUITmodel.Patient;
+import org.hisp.dhis.api.mobile.model.LWUITmodel.ProgramStage;
 import org.hisp.dhis.organisationunit.OrganisationUnit;
 
 /**
@@ -50,4 +51,8 @@
 
     public Patient findPatient( String name )
         throws NotAllowedException;
+
+    public void saveProgramStage( ProgramStage programStage )
+        throws NotAllowedException;
+
 }

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Activity.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Activity.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Activity.java	2013-02-25 06:32:56 +0000
@@ -116,15 +116,15 @@
     {
         if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_EIGHT ) )
         {
-            this.serializeVerssion2_8( dout );
+            this.serializeVersion2_8( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_NINE ) )
         {
-            this.serializeVerssion2_9( dout );
+            this.serializeVersion2_9( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_TEN ) )
         {
-            this.serializeVerssion2_10( dout );
+            this.serializeVersion2_10( dout );
         }
     }
 
@@ -144,24 +144,24 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
+    public void serializeVersion2_8( DataOutputStream dout )
         throws IOException
     {
         this.task.setClientVersion( TWO_POINT_EIGHT );
         this.getTask().serialize( dout );
-        this.getBeneficiary().serializeVerssion2_8( dout );
+        this.getBeneficiary().serializeVersion2_8( dout );
         dout.writeBoolean( late );
         dout.writeLong( this.getDueDate().getTime() );
         dout.writeLong( this.getExpireDate().getTime() );
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         this.task.setClientVersion( TWO_POINT_NINE );
         this.getTask().serialize( dout );
-        this.getBeneficiary().serializeVerssion2_9( dout );
+        this.getBeneficiary().serializeVersion2_9( dout );
         dout.writeBoolean( late );
         dout.writeLong( this.getDueDate().getTime() );
         dout.writeLong( this.getExpireDate().getTime() );
@@ -169,12 +169,12 @@
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dout )
+    public void serializeVersion2_10( DataOutputStream dout )
         throws IOException
     {
         this.task.setClientVersion( TWO_POINT_TEN );
         this.getTask().serialize( dout );
-        this.getBeneficiary().serializeVerssion2_9( dout );
+        this.getBeneficiary().serializeVersion2_9( dout );
         dout.writeBoolean( late );
         dout.writeLong( this.getDueDate().getTime() );
         dout.writeLong( this.getExpireDate().getTime() );

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ActivityPlan.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ActivityPlan.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ActivityPlan.java	2013-02-25 06:32:56 +0000
@@ -79,15 +79,15 @@
     {
         if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_EIGHT ) )
         {
-            this.serializeVerssion2_8( dout );
+            this.serializeVersion2_8( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_NINE ) )
         {
-            this.serializeVerssion2_9( dout );
+            this.serializeVersion2_9( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_TEN ) )
         {
-            this.serializeVerssion2_10( dout );
+            this.serializeVersion2_10( dout );
         }
     }
 
@@ -99,7 +99,7 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
+    public void serializeVersion2_8( DataOutputStream dout )
         throws IOException
     {
         if ( activitiesList == null )
@@ -119,7 +119,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         if ( activitiesList == null )
@@ -139,7 +139,7 @@
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dout )
+    public void serializeVersion2_10( DataOutputStream dout )
         throws IOException
     {
         if ( activitiesList == null )

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ActivityValue.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ActivityValue.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ActivityValue.java	2013-02-25 06:32:56 +0000
@@ -104,23 +104,23 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dataOutputStream )
-        throws IOException
-    {
-        // TODO Auto-generated method stub
-
-    }
-
-    @Override
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
-        throws IOException
-    {
-        // TODO Auto-generated method stub
-
-    }
-
-    @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dataOutputStream )
+        throws IOException
+    {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
+        throws IOException
+    {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Beneficiary.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Beneficiary.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Beneficiary.java	2013-02-25 06:32:56 +0000
@@ -339,7 +339,7 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream out )
+    public void serializeVersion2_8( DataOutputStream out )
         throws IOException
     {
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
@@ -418,7 +418,7 @@
         dout.writeInt( identifiers.size() );
         for ( PatientIdentifier each : identifiers )
         {
-            each.serializeVerssion2_8( dout );
+            each.serializeVersion2_8( dout );
         }
 
         bout.flush();
@@ -426,7 +426,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -502,12 +502,12 @@
         dout.writeInt( identifiers.size() );
         for ( PatientIdentifier each : identifiers )
         {
-            each.serializeVerssion2_9( dout );
+            each.serializeVersion2_9( dout );
         }
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Contact.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Contact.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Contact.java	2013-02-25 06:32:56 +0000
@@ -62,7 +62,7 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub
@@ -70,7 +70,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub
@@ -88,7 +88,7 @@
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataElement.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataElement.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataElement.java	2013-02-25 06:32:56 +0000
@@ -104,20 +104,20 @@
     {
         if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_EIGHT ) )
         {
-            this.serializeVerssion2_8( dout );
+            this.serializeVersion2_8( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_NINE ) )
         {
-            this.serializeVerssion2_9( dout );
+            this.serializeVersion2_9( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_TEN ) )
         {
-            this.serializeVerssion2_10( dout );
+            this.serializeVersion2_10( dout );
         }
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
+    public void serializeVersion2_8( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -142,7 +142,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -178,7 +178,7 @@
     }
     
     @Override
-    public void serializeVerssion2_10( DataOutputStream dout )
+    public void serializeVersion2_10( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataSet.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataSet.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataSet.java	2013-02-25 06:32:56 +0000
@@ -110,20 +110,20 @@
     {
         if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_EIGHT ) )
         {
-            this.serializeVerssion2_8( dout );
+            this.serializeVersion2_8( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_NINE ) )
         {
-            this.serializeVerssion2_9( dout );
+            this.serializeVersion2_9( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_TEN ) )
         {
-            this.serializeVerssion2_10( dout );
+            this.serializeVersion2_10( dout );
         }
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
+    public void serializeVersion2_8( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -147,7 +147,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -190,7 +190,7 @@
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dout )
+    public void serializeVersion2_10( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataSetList.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataSetList.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataSetList.java	2013-02-25 06:32:56 +0000
@@ -107,173 +107,173 @@
     {
         if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_EIGHT ) )
         {
-            serializeVerssion2_8( dout );
+            serializeVersion2_8( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_NINE ) )
         {
-            serializeVerssion2_9( dout );
+            serializeVersion2_9( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_TEN ) )
         {
-            serializeVerssion2_10( dout );
-        }
-    }
-
-    @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
-        throws IOException
-    {
-        if ( addedDataSets != null )
-        {
-            dout.writeInt( addedDataSets.size() );
-            for ( DataSet dataSet : addedDataSets )
-            {
-                dataSet.serializeVerssion2_8( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-        if ( deletedDataSets != null )
-        {
-            dout.writeInt( deletedDataSets.size() );
-            for ( DataSet dataSet : deletedDataSets )
-            {
-                dataSet.serializeVerssion2_8( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-        if ( modifiedDataSets != null )
-        {
-            dout.writeInt( modifiedDataSets.size() );
-            for ( DataSet dataSet : modifiedDataSets )
-            {
-                dataSet.serializeVerssion2_8( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-        if ( currentDataSets != null )
-        {
-            dout.writeInt( currentDataSets.size() );
-            for ( DataSet dataSet : currentDataSets )
-            {
-                dataSet.serializeVerssion2_8( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-    }
-
-    @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
-        throws IOException
-    {
-        if ( addedDataSets != null )
-        {
-            dout.writeInt( addedDataSets.size() );
-            for ( DataSet dataSet : addedDataSets )
-            {
-                dataSet.serializeVerssion2_9( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-        if ( deletedDataSets != null )
-        {
-            dout.writeInt( deletedDataSets.size() );
-            for ( DataSet dataSet : deletedDataSets )
-            {
-                dataSet.serializeVerssion2_9( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-        if ( modifiedDataSets != null )
-        {
-            dout.writeInt( modifiedDataSets.size() );
-            for ( DataSet dataSet : modifiedDataSets )
-            {
-                dataSet.serializeVerssion2_9( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-        if ( currentDataSets != null )
-        {
-            dout.writeInt( currentDataSets.size() );
-            for ( DataSet dataSet : currentDataSets )
-            {
-                dataSet.serializeVerssion2_9( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-    }
-
-    @Override
-    public void serializeVerssion2_10( DataOutputStream dout )
-        throws IOException
-    {
-
-        if ( addedDataSets != null )
-        {
-            dout.writeInt( addedDataSets.size() );
-            for ( DataSet dataSet : addedDataSets )
-            {
-                dataSet.serializeVerssion2_10( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-        if ( deletedDataSets != null )
-        {
-            dout.writeInt( deletedDataSets.size() );
-            for ( DataSet dataSet : deletedDataSets )
-            {
-                dataSet.serializeVerssion2_10( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-        if ( modifiedDataSets != null )
-        {
-            dout.writeInt( modifiedDataSets.size() );
-            for ( DataSet dataSet : modifiedDataSets )
-            {
-                dataSet.serializeVerssion2_10( dout );
-            }
-        }
-        else
-        {
-            dout.writeInt( 0 );
-        }
-        if ( currentDataSets != null )
-        {
-            dout.writeInt( currentDataSets.size() );
-            for ( DataSet dataSet : currentDataSets )
-            {
-                dataSet.serializeVerssion2_10( dout );
+            serializeVersion2_10( dout );
+        }
+    }
+
+    @Override
+    public void serializeVersion2_8( DataOutputStream dout )
+        throws IOException
+    {
+        if ( addedDataSets != null )
+        {
+            dout.writeInt( addedDataSets.size() );
+            for ( DataSet dataSet : addedDataSets )
+            {
+                dataSet.serializeVersion2_8( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+        if ( deletedDataSets != null )
+        {
+            dout.writeInt( deletedDataSets.size() );
+            for ( DataSet dataSet : deletedDataSets )
+            {
+                dataSet.serializeVersion2_8( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+        if ( modifiedDataSets != null )
+        {
+            dout.writeInt( modifiedDataSets.size() );
+            for ( DataSet dataSet : modifiedDataSets )
+            {
+                dataSet.serializeVersion2_8( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+        if ( currentDataSets != null )
+        {
+            dout.writeInt( currentDataSets.size() );
+            for ( DataSet dataSet : currentDataSets )
+            {
+                dataSet.serializeVersion2_8( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+    }
+
+    @Override
+    public void serializeVersion2_9( DataOutputStream dout )
+        throws IOException
+    {
+        if ( addedDataSets != null )
+        {
+            dout.writeInt( addedDataSets.size() );
+            for ( DataSet dataSet : addedDataSets )
+            {
+                dataSet.serializeVersion2_9( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+        if ( deletedDataSets != null )
+        {
+            dout.writeInt( deletedDataSets.size() );
+            for ( DataSet dataSet : deletedDataSets )
+            {
+                dataSet.serializeVersion2_9( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+        if ( modifiedDataSets != null )
+        {
+            dout.writeInt( modifiedDataSets.size() );
+            for ( DataSet dataSet : modifiedDataSets )
+            {
+                dataSet.serializeVersion2_9( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+        if ( currentDataSets != null )
+        {
+            dout.writeInt( currentDataSets.size() );
+            for ( DataSet dataSet : currentDataSets )
+            {
+                dataSet.serializeVersion2_9( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+    }
+
+    @Override
+    public void serializeVersion2_10( DataOutputStream dout )
+        throws IOException
+    {
+
+        if ( addedDataSets != null )
+        {
+            dout.writeInt( addedDataSets.size() );
+            for ( DataSet dataSet : addedDataSets )
+            {
+                dataSet.serializeVersion2_10( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+        if ( deletedDataSets != null )
+        {
+            dout.writeInt( deletedDataSets.size() );
+            for ( DataSet dataSet : deletedDataSets )
+            {
+                dataSet.serializeVersion2_10( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+        if ( modifiedDataSets != null )
+        {
+            dout.writeInt( modifiedDataSets.size() );
+            for ( DataSet dataSet : modifiedDataSets )
+            {
+                dataSet.serializeVersion2_10( dout );
+            }
+        }
+        else
+        {
+            dout.writeInt( 0 );
+        }
+        if ( currentDataSets != null )
+        {
+            dout.writeInt( currentDataSets.size() );
+            for ( DataSet dataSet : currentDataSets )
+            {
+                dataSet.serializeVersion2_10( dout );
             }
         }
         else

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataStreamSerializable.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataStreamSerializable.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataStreamSerializable.java	2013-02-25 06:32:56 +0000
@@ -51,13 +51,13 @@
     public void deSerialize( DataInputStream dataInputStream )
         throws IOException;
     
-    public void serializeVerssion2_8( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dataOutputStream )
         throws IOException;
 
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
         throws IOException;
     
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
     throws IOException;
 
 }
\ No newline at end of file

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataValue.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataValue.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/DataValue.java	2013-02-25 06:32:56 +0000
@@ -106,22 +106,22 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dataOutputStream )
-        throws IOException
-    {
-        // TODO Auto-generated method stub
-
-    }
-
-    @Override
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
-        throws IOException
-    {
-        // TODO Auto-generated method stub
-    }
-
-    @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dataOutputStream )
+        throws IOException
+    {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
+        throws IOException
+    {
+        // TODO Auto-generated method stub
+    }
+
+    @Override
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Patient.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Patient.java	2013-02-01 07:09:23 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Patient.java	2013-02-25 06:32:56 +0000
@@ -371,7 +371,7 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream out )
+    public void serializeVersion2_8( DataOutputStream out )
         throws IOException
     {
         ByteArrayOutputStream bout = new ByteArrayOutputStream();
@@ -450,7 +450,7 @@
         dout.writeInt( identifiers.size() );
         for ( PatientIdentifier each : identifiers )
         {
-            each.serializeVerssion2_8( dout );
+            each.serializeVersion2_8( dout );
         }
 
         bout.flush();
@@ -458,7 +458,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -534,15 +534,12 @@
         dout.writeInt( identifiers.size() );
         for ( PatientIdentifier each : identifiers )
         {
-            each.serializeVerssion2_9( dout );
+            each.serializeVersion2_9( dout );
         }
     }
 
-    /* (non-Javadoc)
-     * @see org.hisp.dhis.api.mobile.model.DataStreamSerializable#serializeVerssion2_10(java.io.DataOutputStream)
-     */
     @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/ProgramStage.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/ProgramStage.java	2013-02-01 07:09:23 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/ProgramStage.java	2013-02-25 06:32:56 +0000
@@ -29,6 +29,7 @@
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.hisp.dhis.api.mobile.model.DataElement;
@@ -49,7 +50,7 @@
 
     private List<Section> sections;
     
-    private List<ProgramStageDataElement> dataElements;
+    private List<ProgramStageDataElement> dataElements = new ArrayList<ProgramStageDataElement>();
 
     public List<Section> getSections()
     {
@@ -123,9 +124,39 @@
     }
 
     @Override
-    public void deSerialize( DataInputStream dataInputStream )
+    public void deSerialize( DataInputStream dint )
         throws IOException
     {
-        // FIXME: Get implementation from client
+        super.deSerialize( dint );
+        this.setRepeatable( dint.readBoolean() );
+        this.setCompleted( dint.readBoolean() );
+        int dataElementSize = dint.readInt();
+        if ( dataElementSize > 0 )
+        {
+            for ( int i = 0; i < dataElementSize; i++ )
+            {
+                ProgramStageDataElement de = new ProgramStageDataElement();
+                de.deSerialize( dint );
+                this.dataElements.add( de );
+            }
+        }
+        else
+        {
+        }
+        
+        int sectionSize = dint.readInt();
+        if ( sectionSize > 0 )
+        {
+            for ( int i = 0; i < sectionSize; i++ )
+            {
+                sections = new ArrayList<Section>();
+                Section se = new Section();
+                se.deSerialize( dint );
+                this.sections.add( se );
+            }
+        }
+        else
+        {
+        }
     }
 }

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/ProgramStageDataElement.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/ProgramStageDataElement.java	2013-02-01 07:09:23 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/ProgramStageDataElement.java	2013-02-25 06:32:56 +0000
@@ -58,6 +58,7 @@
     public void serialize( DataOutputStream dout )
         throws IOException
     {
+        super.serialize( dout );
         dout.writeUTF( this.getType() );
         dout.writeBoolean( this.isCompulsory() );
         
@@ -71,7 +72,7 @@
             dout.writeInt( cateOptCombos.size() );
             for ( Model each : cateOptCombos )
             {
-                each.setClientVersion( TWO_POINT_NINE );
+                each.setClientVersion( TWO_POINT_TEN );
                 each.serialize( dout );
             }
         }
@@ -82,7 +83,7 @@
         }
         else
         {
-            optionSet.setClientVersion( TWO_POINT_NINE );
+            optionSet.setClientVersion( TWO_POINT_TEN );
             optionSet.serialize( dout );
         }
         
@@ -90,11 +91,17 @@
     }
     
     @Override
-    public void deSerialize( DataInputStream dataInputStream )
+    public void deSerialize( DataInputStream dint )
         throws IOException
     {
-        // TODO Auto-generated method stub
-        super.deSerialize( dataInputStream );
+        super.deSerialize( dint );
+        this.setType( dint.readUTF() );
+        this.setCompulsory( dint.readBoolean() );
+        /*this.categoryOptionCombos = new ModelList();
+        this.categoryOptionCombos.deSerialize( dint );
+        this.optionSet = new OptionSet();
+        this.optionSet.deSerialize( dint );*/
+        this.setValue( dint.readUTF() );
     }
     
     

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Section.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Section.java	2013-02-01 07:09:23 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Section.java	2013-02-25 06:32:56 +0000
@@ -29,6 +29,7 @@
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlElement;
@@ -90,10 +91,25 @@
     }
 
     @Override
-    public void deSerialize( DataInputStream dataInputStream )
+    public void deSerialize( DataInputStream dint )
         throws IOException
     {
-        // FIXME: Get implementation from client
+        this.setId( dint.readInt() );
+        this.setName( dint.readUTF() );
+
+        int numbOfDataElement = dint.readInt();
+        
+        if ( numbOfDataElement > 0 )
+        {
+            dataElementIds = new ArrayList<Integer>();
+            for ( int i = 0; i < numbOfDataElement; i++ )
+            {
+                dataElementIds.add( dint.readInt() );
+            }
+        }
+        else
+        {
+        }
     }
 
 }

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/MobileModel.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/MobileModel.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/MobileModel.java	2013-02-25 06:32:56 +0000
@@ -130,15 +130,15 @@
     {
         if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_EIGHT ) )
         {
-            this.serializeVerssion2_8( dout );
+            this.serializeVersion2_8( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_NINE ) )
         {
-            this.serializeVerssion2_9( dout );
+            this.serializeVersion2_9( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_TEN ) )
         {
-            this.serializeVerssion2_10( dout );
+            this.serializeVersion2_10( dout );
         }
     }
 
@@ -150,7 +150,7 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
+    public void serializeVersion2_8( DataOutputStream dout )
         throws IOException
     {
         if ( programs == null )
@@ -213,7 +213,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         if ( programs == null )
@@ -276,7 +276,7 @@
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dout )
+    public void serializeVersion2_10( DataOutputStream dout )
         throws IOException
     {
         if ( programs == null )

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/MobileOrgUnitLinks.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/MobileOrgUnitLinks.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/MobileOrgUnitLinks.java	2013-02-25 06:32:56 +0000
@@ -65,6 +65,8 @@
     private String updateContactUrl;
     
     private String findPatientUrl;
+    
+    private String uploadProgramStageUrl;
 
     @XmlAttribute
     public int getId()
@@ -198,6 +200,16 @@
         this.findPatientUrl = findPatientUrl;
     }
 
+    public String getUploadProgramStageUrl()
+    {
+        return uploadProgramStageUrl;
+    }
+
+    public void setUploadProgramStageUrl( String uploadProgramStageUrl )
+    {
+        this.uploadProgramStageUrl = uploadProgramStageUrl;
+    }
+
     public void serialize( DataOutputStream dataOutputStream )
 
         throws IOException
@@ -214,6 +226,7 @@
         dataOutputStream.writeUTF( this.updateNewVersionUrl );
         dataOutputStream.writeUTF( this.updateContactUrl );
         dataOutputStream.writeUTF( this.findPatientUrl );
+        dataOutputStream.writeUTF( this.uploadProgramStageUrl );
     }
 
     public void deSerialize( DataInputStream dataInputStream )
@@ -231,25 +244,43 @@
         this.updateNewVersionUrl = dataInputStream.readUTF();
         this.updateContactUrl = dataInputStream.readUTF();
         this.findPatientUrl = dataInputStream.readUTF();
-    }
-
-    @Override
-    public void serializeVerssion2_8( DataOutputStream dataOutputStream )
-        throws IOException
-    {
-        dataOutputStream.writeInt( this.id );
-        dataOutputStream.writeUTF( this.name );
-        dataOutputStream.writeUTF( this.downloadAllUrl );
-        dataOutputStream.writeUTF( this.updateActivityPlanUrl );
-        dataOutputStream.writeUTF( this.uploadFacilityReportUrl );
-        dataOutputStream.writeUTF( this.uploadActivityReportUrl );
-        dataOutputStream.writeUTF( this.updateDataSetUrl );
-        dataOutputStream.writeUTF( this.changeUpdateDataSetLangUrl );
-        dataOutputStream.writeUTF( this.searchUrl );
-    }
-
-    @Override
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
+        this.uploadProgramStageUrl = dataInputStream.readUTF();
+    }
+
+    @Override
+    public void serializeVersion2_8( DataOutputStream dataOutputStream )
+        throws IOException
+    {
+        dataOutputStream.writeInt( this.id );
+        dataOutputStream.writeUTF( this.name );
+        dataOutputStream.writeUTF( this.downloadAllUrl );
+        dataOutputStream.writeUTF( this.updateActivityPlanUrl );
+        dataOutputStream.writeUTF( this.uploadFacilityReportUrl );
+        dataOutputStream.writeUTF( this.uploadActivityReportUrl );
+        dataOutputStream.writeUTF( this.updateDataSetUrl );
+        dataOutputStream.writeUTF( this.changeUpdateDataSetLangUrl );
+        dataOutputStream.writeUTF( this.searchUrl );
+    }
+
+    @Override
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
+        throws IOException
+    {
+        dataOutputStream.writeInt( this.id );
+        dataOutputStream.writeUTF( this.name );
+        dataOutputStream.writeUTF( this.downloadAllUrl );
+        dataOutputStream.writeUTF( this.updateActivityPlanUrl );
+        dataOutputStream.writeUTF( this.uploadFacilityReportUrl );
+        dataOutputStream.writeUTF( this.uploadActivityReportUrl );
+        dataOutputStream.writeUTF( this.updateDataSetUrl );
+        dataOutputStream.writeUTF( this.changeUpdateDataSetLangUrl );
+        dataOutputStream.writeUTF( this.searchUrl );
+        dataOutputStream.writeUTF( this.updateNewVersionUrl );
+        dataOutputStream.writeUTF( this.updateContactUrl );
+    }
+
+    @Override
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         dataOutputStream.writeInt( this.id );
@@ -264,13 +295,7 @@
         dataOutputStream.writeUTF( this.updateNewVersionUrl );
         dataOutputStream.writeUTF( this.updateContactUrl );
         dataOutputStream.writeUTF( this.findPatientUrl );
-    }
-
-    @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
-        throws IOException
-    {
-        // TODO Auto-generated method stub
+        dataOutputStream.writeUTF( this.uploadProgramStageUrl );
         
     }
 

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Model.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Model.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Model.java	2013-02-25 06:32:56 +0000
@@ -91,27 +91,27 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
-        throws IOException
-    {
-        dout.writeInt( this.id );
-        dout.writeUTF( this.name );
-    }
-
-    @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
-        throws IOException
-    {
-        dout.writeInt( this.id );
-        dout.writeUTF( this.name );
-    }
-
-    @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dout )
+        throws IOException
+    {
+        dout.writeInt( this.id );
+        dout.writeUTF( this.name );
+    }
+
+    @Override
+    public void serializeVersion2_9( DataOutputStream dout )
+        throws IOException
+    {
+        dout.writeInt( this.id );
+        dout.writeUTF( this.name );
+    }
+
+    @Override
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         // No change from 2.9 to 2.10
-        this.serializeVerssion2_9( dataOutputStream );
+        this.serializeVersion2_9( dataOutputStream );
     }
 
 }

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ModelList.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ModelList.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ModelList.java	2013-02-25 06:32:56 +0000
@@ -97,7 +97,7 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dataOutputStream )
         throws IOException
     {
         if ( models == null )
@@ -115,7 +115,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
         throws IOException
     {
         if ( models == null )
@@ -127,12 +127,12 @@
 
         for ( int i = 0; i < models.size(); i++ )
         {
-            models.get( i ).serializeVerssion2_9( dataOutputStream );
+            models.get( i ).serializeVersion2_9( dataOutputStream );
         }
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/OptionSet.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/OptionSet.java	2013-01-09 04:52:37 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/OptionSet.java	2013-02-25 06:32:56 +0000
@@ -12,7 +12,7 @@
 {
     private String clientVersion;
     
-    private List<String> options = new ArrayList<String>();
+    private List<String> options;
 
     public List<String> getOptions()
     {
@@ -51,7 +51,7 @@
     }
     
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
+    public void serializeVersion2_8( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -65,7 +65,7 @@
     }
     
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/OrgUnits.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/OrgUnits.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/OrgUnits.java	2013-02-25 06:32:56 +0000
@@ -86,11 +86,18 @@
         // }
         if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_EIGHT ) )
         {
-            this.serializeVerssion2_8( dataOutputStream );
+            this.serializeVersion2_8( dataOutputStream );
+            System.out.println("2.8");
+        }
+        else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_NINE ) )
+        {
+            this.serializeVersion2_9( dataOutputStream );
+            System.out.println("2.9");
         }
         else
         {
-            this.serializeVerssion2_9( dataOutputStream );
+            this.serializeVersion2_10( dataOutputStream );
+            System.out.println("2.10");
         }
     }
 
@@ -111,18 +118,18 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dataOutputStream )
         throws IOException
     {
         dataOutputStream.writeInt( orgUnits.size() );
         for ( MobileOrgUnitLinks unit : orgUnits )
         {
-            unit.serializeVerssion2_8( dataOutputStream );
+            unit.serializeVersion2_8( dataOutputStream );
         }
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
         throws IOException
     {
         // send the current version to client for updating or not
@@ -130,16 +137,21 @@
         dataOutputStream.writeInt( orgUnits.size() );
         for ( MobileOrgUnitLinks unit : orgUnits )
         {
-            unit.serializeVerssion2_9( dataOutputStream );
+            unit.serializeVersion2_9( dataOutputStream );
         }
 
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
-        // TODO Auto-generated method stub
+        dataOutputStream.writeDouble( MobileOrgUnitLinks.currentVersion );
+        dataOutputStream.writeInt( orgUnits.size() );
+        for ( MobileOrgUnitLinks unit : orgUnits )
+        {
+            unit.serializeVersion2_10( dataOutputStream );
+        }
         
     }
 

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/PatientAttribute.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/PatientAttribute.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/PatientAttribute.java	2013-02-25 06:32:56 +0000
@@ -109,7 +109,7 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
+    public void serializeVersion2_8( DataOutputStream dout )
         throws IOException
     {
         dout.writeUTF( this.name );
@@ -117,7 +117,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub
@@ -125,7 +125,7 @@
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/PatientIdentifier.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/PatientIdentifier.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/PatientIdentifier.java	2013-02-25 06:32:56 +0000
@@ -101,23 +101,23 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dataOutputStream )
-        throws IOException
-    {
-        dataOutputStream.writeUTF( identifierType );
-        dataOutputStream.writeUTF( identifier );
-    }
-
-    @Override
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
-        throws IOException
-    {
-        dataOutputStream.writeUTF( identifierType );
-        dataOutputStream.writeUTF( identifier );
-    }
-
-    @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dataOutputStream )
+        throws IOException
+    {
+        dataOutputStream.writeUTF( identifierType );
+        dataOutputStream.writeUTF( identifier );
+    }
+
+    @Override
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
+        throws IOException
+    {
+        dataOutputStream.writeUTF( identifierType );
+        dataOutputStream.writeUTF( identifier );
+    }
+
+    @Override
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Program.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Program.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Program.java	2013-02-25 06:32:56 +0000
@@ -77,15 +77,15 @@
     {
         if ( this.clientVersion.equalsIgnoreCase( DataStreamSerializable.TWO_POINT_EIGHT ) )
         {
-            this.serializeVerssion2_8( dout );
+            this.serializeVersion2_8( dout );
         }
         else if ( this.clientVersion.equalsIgnoreCase( DataStreamSerializable.TWO_POINT_NINE ) )
         {
-            this.serializeVerssion2_9( dout );
+            this.serializeVersion2_9( dout );
         }
         else if ( this.clientVersion.equalsIgnoreCase( DataStreamSerializable.TWO_POINT_TEN ) )
         {
-            this.serializeVerssion2_10( dout );
+            this.serializeVersion2_10( dout );
         }
         // dout.writeInt( this.getId() );
         // dout.writeUTF( this.getName() );
@@ -99,7 +99,7 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
+    public void serializeVersion2_8( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -115,7 +115,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -131,7 +131,7 @@
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dout )
+    public void serializeVersion2_10( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ProgramStage.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ProgramStage.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/ProgramStage.java	2013-02-25 06:32:56 +0000
@@ -65,20 +65,20 @@
     {
         if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_EIGHT ) )
         {
-            this.serializeVerssion2_8( dout );
+            this.serializeVersion2_8( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_NINE ) )
         {
-            this.serializeVerssion2_9( dout );
+            this.serializeVersion2_9( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_TEN ) )
         {
-            this.serializeVerssion2_10( dout );
+            this.serializeVersion2_10( dout );
         }
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
+    public void serializeVersion2_8( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -95,7 +95,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -112,7 +112,7 @@
     }
     
     @Override
-    public void serializeVerssion2_10( DataOutputStream dout )
+    public void serializeVersion2_10( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/SMSCode.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/SMSCode.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/SMSCode.java	2013-02-25 06:32:56 +0000
@@ -19,7 +19,7 @@
     public void serialize( DataOutputStream dataOutputStream )
         throws IOException
     {
-        this.serializeVerssion2_10( dataOutputStream );
+        this.serializeVersion2_10( dataOutputStream );
     }
 
     @Override
@@ -33,14 +33,14 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dataOutputStream )
         throws IOException
     {
         // does not exist in version 2.8
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
         throws IOException
     {
      // does not exist in version 2.9
@@ -88,7 +88,7 @@
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         dataOutputStream.writeUTF( this.code );

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/SMSCommand.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/SMSCommand.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/SMSCommand.java	2013-02-25 06:32:56 +0000
@@ -24,7 +24,7 @@
     public void serialize( DataOutputStream dataOutputStream )
         throws IOException
     {
-        this.serializeVerssion2_10( dataOutputStream );
+        this.serializeVersion2_10( dataOutputStream );
     }
 
     @Override
@@ -35,14 +35,14 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dataOutputStream )
         throws IOException
     {
         // does not exist in version 2.8
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dataOutputStream )
+    public void serializeVersion2_9( DataOutputStream dataOutputStream )
         throws IOException
     {
         // does not exist in version 2.9
@@ -109,7 +109,7 @@
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         dataOutputStream.writeUTF( this.parserType );

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Section.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Section.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Section.java	2013-02-25 06:32:56 +0000
@@ -67,20 +67,20 @@
     {
         if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_EIGHT ) )
         {
-            this.serializeVerssion2_8( dout );
+            this.serializeVersion2_8( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_NINE ) )
         {
-            this.serializeVerssion2_9( dout );
+            this.serializeVersion2_9( dout );
         }
         else if ( this.getClientVersion().equals( DataStreamSerializable.TWO_POINT_TEN ) )
         {
-            this.serializeVerssion2_10( dout );
+            this.serializeVersion2_10( dout );
         }
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
+    public void serializeVersion2_8( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -103,7 +103,7 @@
     }
 
     @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
+    public void serializeVersion2_9( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );
@@ -126,7 +126,7 @@
     }
 
     @Override
-    public void serializeVerssion2_10( DataOutputStream dout )
+    public void serializeVersion2_10( DataOutputStream dout )
         throws IOException
     {
         dout.writeInt( this.getId() );

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Task.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Task.java	2013-01-22 08:08:14 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/Task.java	2013-02-25 06:32:56 +0000
@@ -113,28 +113,28 @@
     }
 
     @Override
-    public void serializeVerssion2_8( DataOutputStream dout )
-        throws IOException
-    {
-        dout.writeInt( this.getId() );
-        dout.writeInt( this.getProgramStageId() );
-        dout.writeInt( this.getProgramId() );
-        dout.writeBoolean( this.isCompleted() );
-    }
-
-    @Override
-    public void serializeVerssion2_9( DataOutputStream dout )
-        throws IOException
-    {
-        dout.writeInt( this.getId() );
-        dout.writeInt( this.getProgramStageId() );
-        dout.writeInt( this.getProgramId() );
-        dout.writeBoolean( this.isCompleted() );
-
-    }
-
-    @Override
-    public void serializeVerssion2_10( DataOutputStream dataOutputStream )
+    public void serializeVersion2_8( DataOutputStream dout )
+        throws IOException
+    {
+        dout.writeInt( this.getId() );
+        dout.writeInt( this.getProgramStageId() );
+        dout.writeInt( this.getProgramId() );
+        dout.writeBoolean( this.isCompleted() );
+    }
+
+    @Override
+    public void serializeVersion2_9( DataOutputStream dout )
+        throws IOException
+    {
+        dout.writeInt( this.getId() );
+        dout.writeInt( this.getProgramStageId() );
+        dout.writeInt( this.getProgramId() );
+        dout.writeBoolean( this.isCompleted() );
+
+    }
+
+    @Override
+    public void serializeVersion2_10( DataOutputStream dataOutputStream )
         throws IOException
     {
         // TODO Auto-generated method stub

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java	2013-02-01 07:09:23 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java	2013-02-25 06:32:56 +0000
@@ -909,4 +909,12 @@
             return patient;
         }
     }
+
+    @Override
+    public void saveProgramStage( org.hisp.dhis.api.mobile.model.LWUITmodel.ProgramStage programStage )
+        throws NotAllowedException
+    {
+        System.out.println("name: "+programStage.getName());
+        
+    }
 }

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/test/java/org/hisp/dhis/mobile/api/model/OrgUnitTest.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/test/java/org/hisp/dhis/mobile/api/model/OrgUnitTest.java	2013-01-14 06:36:46 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/test/java/org/hisp/dhis/mobile/api/model/OrgUnitTest.java	2013-02-25 06:32:56 +0000
@@ -59,6 +59,7 @@
         unit.setUpdateNewVersionUrl( "" );
         unit.setUpdateContactUrl( "updateContactUrl" );
         unit.setFindPatientUrl( "findPatientUrl" );
+        unit.setUploadProgramStageUrl( "uploadProgramStageUrl" );
 
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         DataOutputStream dos = new DataOutputStream( baos );

=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/test/java/org/hisp/dhis/mobile/api/model/OrgUnitsTest.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/test/java/org/hisp/dhis/mobile/api/model/OrgUnitsTest.java	2013-01-14 06:36:46 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/test/java/org/hisp/dhis/mobile/api/model/OrgUnitsTest.java	2013-02-25 06:32:56 +0000
@@ -55,7 +55,7 @@
 
         OrgUnits units = new OrgUnits();
         units.setOrgUnits( Arrays.asList( new MobileOrgUnitLinks[] { unit } ) );
-        units.serializeVerssion2_9( dos );
+        units.serializeVersion2_10( dos );
         dos.flush();
         OrgUnits units2 = new OrgUnits();
         units2.deSerialize( new DataInputStream( new ByteArrayInputStream( baos.toByteArray() ) ) );
@@ -84,6 +84,7 @@
         unit.setUpdateNewVersionUrl( "test" );
         unit.setUpdateContactUrl( "updateContactUrl" );
         unit.setFindPatientUrl( "findPatientUrl" );
+        unit.setUploadProgramStageUrl( "uploadProgramStageUrl" );
         return unit;
     }
 }

=== modified file 'dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileClientController.java'
--- dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileClientController.java	2013-01-14 06:36:46 +0000
+++ dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileClientController.java	2013-02-25 06:32:56 +0000
@@ -51,7 +51,7 @@
         return orgUnits;
     }
     
-    @RequestMapping( method = RequestMethod.GET, value = "/{version}" )
+    @RequestMapping( method = RequestMethod.GET, value = "/{version}/" )
     @ResponseBody
     public OrgUnits getOrgUnitsForUser( HttpServletRequest request, @PathVariable String version )
         throws NotAllowedException
@@ -71,7 +71,7 @@
             unitList.add( getOrgUnit( unit, request ) );
         }
         OrgUnits orgUnits = new OrgUnits( unitList );
-        orgUnits.setClientVersion( DataStreamSerializable.TWO_POINT_NINE );
+        orgUnits.setClientVersion( version );
         return orgUnits;
     }
 
@@ -91,6 +91,7 @@
         orgUnit.setSearchUrl( getUrl( request, unit.getId(), "search" ) );
         orgUnit.setUpdateContactUrl( getUrl( request, unit.getId(), "updateContactForMobile" ) );
         orgUnit.setFindPatientUrl( getUrl( request, unit.getId(), "findPatient" ) );
+        orgUnit.setUploadProgramStageUrl( getUrl( request, unit.getId(), "uploadProgramStage" ) );
 
         // generate URL for download new version
         String full = UrlUtils.buildFullRequestUrl( request );

=== modified file 'dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileOrganisationUnitController.java'
--- dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileOrganisationUnitController.java	2013-02-01 07:09:23 +0000
+++ dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileOrganisationUnitController.java	2013-02-25 06:32:56 +0000
@@ -18,6 +18,7 @@
 import org.hisp.dhis.api.mobile.model.MobileModel;
 import org.hisp.dhis.api.mobile.model.ModelList;
 import org.hisp.dhis.api.mobile.model.LWUITmodel.Patient;
+import org.hisp.dhis.api.mobile.model.LWUITmodel.ProgramStage;
 import org.hisp.dhis.api.mobile.model.SMSCode;
 import org.hisp.dhis.api.mobile.model.SMSCommand;
 import org.hisp.dhis.i18n.I18nService;
@@ -43,6 +44,8 @@
 
     private static final String DATASET_REPORT_UPLOADED = "dataset_report_uploaded";
 
+    private static final String PROGRAM_STAGE_UPLOADED = "program_stage_uploaded";
+
     @Autowired
     private ActivityReportingService activityReportingService;
 
@@ -274,12 +277,21 @@
 
     @RequestMapping( method = RequestMethod.GET, value = "{clientVersion}/orgUnits/{id}/findPatient" )
     @ResponseBody
-    public Patient findPatientByName( @PathVariable int id, @RequestHeader( "name" ) String fullName)
-    throws NotAllowedException
+    public Patient findPatientByName( @PathVariable int id, @RequestHeader( "name" ) String fullName )
+        throws NotAllowedException
     {
         return activityReportingService.findPatient( fullName );
     }
 
+    @RequestMapping( method = RequestMethod.POST, value = "{clientVersion}/orgUnits/{id}/uploadProgramStage" )
+    @ResponseBody
+    public String saveProgramStage( @PathVariable int id, @RequestBody ProgramStage programStage )
+        throws NotAllowedException
+    {
+        activityReportingService.saveProgramStage( programStage );
+        return PROGRAM_STAGE_UPLOADED;
+    }
+
     // Supportive methods
 
     private Collection<String> getLocalStrings( Collection<Locale> locales )