=== modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/pom.xml' --- dhis-2/dhis-web/dhis-web-cbhis-api/pom.xml 2010-08-09 11:40:55 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/pom.xml 2010-08-09 22:50:29 +0000 @@ -38,11 +38,8 @@ jersey-server 1.3 - + com.sun.jersey.contribs jersey-spring @@ -70,7 +67,11 @@ - + === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/model/Link.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/model/Link.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/model/Link.java 2010-08-09 22:50:29 +0000 @@ -20,12 +20,10 @@ this.url = url; } - public static Link create( UriInfo uriInfo, Class clazz, int id ) + public void setUrl( String url ) { - Link l = new Link(); - l.url = uriInfo.getBaseUriBuilder().path( clazz ).build( id ).toString(); - - return l; + this.url = url; } - + + } === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/model/OrgUnit.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/model/OrgUnit.java 2010-08-09 11:40:55 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/model/OrgUnit.java 2010-08-09 22:50:29 +0000 @@ -1,14 +1,9 @@ package org.hisp.dhis.patient.api.model; -import javax.ws.rs.core.UriInfo; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; -import org.hisp.dhis.organisationunit.OrganisationUnit; -import org.hisp.dhis.patient.api.resources.ActivityPlanResource; -import org.hisp.dhis.patient.api.resources.ProgramFormsResource; - @XmlRootElement(name="orgUnit") public class OrgUnit { @@ -22,15 +17,26 @@ @XmlElement(name="currentActivities") private Link activitiesLink; + + public void setId( int id ) + { + this.id = id; + } + + public void setName( String name ) + { + this.name = name; + } + + public void setProgramFormsLink( Link programFormsLink ) + { + this.programFormsLink = programFormsLink; + } + + public void setActivitiesLink( Link activitiesLink ) + { + this.activitiesLink = activitiesLink; + } + - public static OrgUnit create(OrganisationUnit unit, UriInfo uriInfo) { - OrgUnit m = new OrgUnit(); - m.id = unit.getId(); - m.name = unit.getShortName(); - m.programFormsLink = Link.create(uriInfo, ProgramFormsResource.class, m.id); - m.activitiesLink = Link.create(uriInfo, ActivityPlanResource.class, m.id); - - - return m; - } } === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/model/OrgUnits.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/model/OrgUnits.java 2010-08-09 11:40:55 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/model/OrgUnits.java 2010-08-09 22:50:29 +0000 @@ -26,17 +26,4 @@ this.orgUnitList = orgUnitList; } - public static OrgUnits create( Collection units, UriInfo uriInfo ) - { - OrgUnits o = new OrgUnits(); - - o.orgUnitList = new ArrayList(); - for ( OrganisationUnit unit : units ) - { - o.orgUnitList.add( OrgUnit.create( unit, uriInfo ) ); - } - - return o; - } - } === added file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/ActivitiesResource.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/ActivitiesResource.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/ActivitiesResource.java 2010-08-09 22:50:29 +0000 @@ -0,0 +1,48 @@ +package org.hisp.dhis.patient.api.resources; + +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.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.patient.api.model.ActivityPlan; +import org.hisp.dhis.patient.api.service.ActivityPlanModelService; +import org.springframework.beans.factory.annotation.Autowired; + + +public class ActivitiesResource +{ + + private static final Log LOG = LogFactory.getLog( OrgUnitResource.class ); + + @Autowired + private ActivityPlanModelService service; + + private OrganisationUnit organisationUnit; + + @GET + @Path("plan/current") + @Produces( { MediaType.APPLICATION_XML, DhisMediaType.ACTIVITYPLAN_SERIALIZED } ) + public ActivityPlan getCurrentActivityPlan() + { + return service.getCurrentActivityPlan( organisationUnit ); + } + + @GET + @Path("all") + @Produces( { MediaType.APPLICATION_XML, DhisMediaType.ACTIVITYPLAN_SERIALIZED } ) + public ActivityPlan getOrgUnitActivityPlan() + { + return service.getAllActivities( organisationUnit ); + } + + public void setOrganisationUnit( OrganisationUnit organisationUnit ) + { + this.organisationUnit = organisationUnit; + } + +} === removed file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/ActivityPlanResource.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/ActivityPlanResource.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/ActivityPlanResource.java 1970-01-01 00:00:00 +0000 @@ -1,31 +0,0 @@ -package org.hisp.dhis.patient.api.resources; - -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.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.hisp.dhis.patient.api.model.ActivityPlan; -import org.hisp.dhis.patient.api.service.ActivityPlanModelService; -import org.springframework.beans.factory.annotation.Autowired; - -@Path( "v0.1/orgunits/{id}/activityplan" ) -public class ActivityPlanResource -{ - - private static final Log LOG = LogFactory.getLog( OrgUnitResource.class ); - - @Autowired - private ActivityPlanModelService service; - - @GET - @Produces( { MediaType.APPLICATION_XML, DhisMediaType.ACTIVITYPLAN_SERIALIZED } ) - public ActivityPlan getOrgUnitActivityPlan( @PathParam( "id" ) int id ) - { - return service.getActivityPlan( id ); - } - -} === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/DhisMediaType.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/DhisMediaType.java 2010-08-09 11:40:55 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/DhisMediaType.java 2010-08-09 22:50:29 +0000 @@ -2,8 +2,9 @@ public class DhisMediaType { - public static final String ACTIVITYPLAN_SERIALIZED = "application/vnd.org.dhis2.casebased.v0.1.activityplan+serialized"; - public static final String ORG_UNITS_XML = "application/vnd.org.dhis2.casebased.v0.1.OrgUnits+xml"; - public static final String ORG_UNITS_SERIALIZED = "application/vnd.org.dhis2.casebased.v0.1.OrgUnits+serialized"; + public static final String ACTIVITYPLAN_SERIALIZED = "application/vnd.org.dhis2.cbhis.v0.1.activityplan+serialized"; + + public static final String ORG_UNITS_XML = "application/vnd.org.dhis2.cbhis.v0.1.OrgUnits+xml"; + public static final String ORG_UNITS_SERIALIZED = "application/vnd.org.dhis2.cbhis.v0.1.OrgUnits+serialized"; } === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/MobileUserResource.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/MobileUserResource.java 2010-08-09 11:40:55 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/MobileUserResource.java 2010-08-09 22:50:29 +0000 @@ -4,6 +4,7 @@ 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.Context; import javax.ws.rs.core.MediaType; @@ -14,10 +15,13 @@ import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.patient.api.model.OrgUnits; +import org.hisp.dhis.patient.api.service.MappingFactory; import org.hisp.dhis.user.CurrentUserService; import org.hisp.dhis.user.User; import org.springframework.beans.factory.annotation.Autowired; +import com.sun.jersey.api.core.ResourceContext; + @Path( "v0.1" ) public class MobileUserResource { @@ -30,9 +34,15 @@ @Autowired private CurrentUserService currentUserService; + @Autowired + private MappingFactory mappingFactory; + @Context private UriInfo uriInfo; + @Context + private ResourceContext rc; + @GET @Produces( { MediaType.APPLICATION_XML, DhisMediaType.ORG_UNITS_XML } ) public OrgUnits getOrgUnitsForUser() @@ -46,10 +56,13 @@ return null; } - OrgUnits orgUnits = OrgUnits.create( units, uriInfo ); - - return orgUnits; - - } - + return mappingFactory.getBeanMapper( units, OrgUnits.class ).getModel( units, mappingFactory, uriInfo ); + } + + @Path("orgUnits/{id}") + public OrgUnitResource getOrgUnitResource(@PathParam("id") int id) { + OrgUnitResource subResource = rc.getResource(OrgUnitResource.class); + subResource.setOrganisationUnit(organisationUnitService.getOrganisationUnit( id )); + return subResource; + } } === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/OrgUnitResource.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/OrgUnitResource.java 2010-08-09 11:40:55 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/resources/OrgUnitResource.java 2010-08-09 22:50:29 +0000 @@ -1,14 +1,33 @@ package org.hisp.dhis.patient.api.resources; import javax.ws.rs.Path; +import javax.ws.rs.core.Context; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - -@Path("v0.1/orgunits/{id}") +import org.hisp.dhis.organisationunit.OrganisationUnit; + +import com.sun.jersey.api.core.ResourceContext; + public class OrgUnitResource { private static final Log LOG = LogFactory.getLog( OrgUnitResource.class ); + @Context ResourceContext rc; + private OrganisationUnit organisationUnit; + + public void setOrganisationUnit( OrganisationUnit organisationUnit ) + { + this.organisationUnit = organisationUnit; + } + + @Path( "activities" ) + public ActivitiesResource getActivitiesResource() { + ActivitiesResource subResource = rc.getResource( ActivitiesResource.class ); + subResource.setOrganisationUnit(organisationUnit); + + return subResource; + } + } === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/ActivityPlanModelService.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/ActivityPlanModelService.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/ActivityPlanModelService.java 2010-08-09 22:50:29 +0000 @@ -1,12 +1,21 @@ package org.hisp.dhis.patient.api.service; +import java.util.ArrayList; import java.util.Collection; +import java.util.Date; +import java.util.List; +import java.util.SortedSet; + +import javax.ws.rs.core.Context; +import javax.ws.rs.core.UriInfo; import org.hisp.dhis.activityplan.Activity; import org.hisp.dhis.activityplan.ActivityPlanService; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.patient.api.model.ActivityPlan; +import org.hisp.dhis.patient.api.model.ActivityPlanItem; +import org.joda.time.DateTime; import org.springframework.beans.factory.annotation.Autowired; public class ActivityPlanModelService @@ -20,14 +29,37 @@ @Autowired private OrganisationUnitService organisationUnitService; - public ActivityPlan getActivityPlan( int orgUnitId ) - { - OrganisationUnit unit = organisationUnitService.getOrganisationUnit( orgUnitId ); + @Context + private UriInfo uriInfo; + + public ActivityPlan getCurrentActivityPlan( OrganisationUnit unit ) + { + DateTime dt = new DateTime(); + Date from = dt.withDayOfMonth( 1 ).toDateMidnight().toDate(); + Date to = dt.plusMonths( 1 ).withDayOfMonth( 1 ).toDate(); + + final Collection allActivities = activityPlanService.getActivitiesWithInDate( from, to ); + Collection activities = new ArrayList(); + for ( Activity activity : allActivities ) + { + if (activity.getProvider().getId() == unit.getId()) { + activities.add( activity ); + } + } + + ActivityPlan plan = mappingFactory.getBeanMapper(Collection.class, ActivityPlan.class).getModel( activities, mappingFactory, uriInfo ); + + return plan; + } + + public ActivityPlan getAllActivities( OrganisationUnit unit ) + { final Collection activities = activityPlanService.getActivitiesByProvider( unit ); - return mappingFactory.getBeanMapper(Collection.class, ActivityPlan.class).getModel( activities, mappingFactory ); + return mappingFactory.getBeanMapper(activities, ActivityPlan.class).getModel( activities, mappingFactory, uriInfo ); } + public void setActivityPlanService( ActivityPlanService activityPlanService ) { this.activityPlanService = activityPlanService; @@ -43,6 +75,7 @@ this.mappingFactory = mappingFactory; } + } === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/MappingFactory.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/MappingFactory.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/MappingFactory.java 2010-08-09 22:50:29 +0000 @@ -1,5 +1,6 @@ package org.hisp.dhis.patient.api.service; +import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -10,6 +11,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.patient.api.model.OrgUnits; import org.hisp.dhis.patient.api.resources.OrgUnitResource; import org.hisp.dhis.patient.api.service.mapping.BeanMapper; import org.springframework.beans.factory.BeanInitializationException; @@ -30,12 +33,12 @@ public void setMappers( Set> mappers ) { this.mappers = mappers; + init(); } Map, BeanMapper> mappingIndex = new HashMap, BeanMapper>(); - @PostConstruct - public void init() + private void init() { if ( mappers == null || mappers.isEmpty() ) { @@ -75,6 +78,12 @@ return beanMapper; } + + public BeanMapper, T> getBeanMapper( Collection entity, Class destination ) + { + return (BeanMapper, T>) this.mappingIndex.get( destination ); + } + // private T map( Object entity, Class destination ) === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/ActivityPlanItemMapper.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/ActivityPlanItemMapper.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/ActivityPlanItemMapper.java 2010-08-09 22:50:29 +0000 @@ -1,5 +1,7 @@ package org.hisp.dhis.patient.api.service.mapping; +import javax.ws.rs.core.UriInfo; + import org.hisp.dhis.activityplan.Activity; import org.hisp.dhis.patient.Patient; import org.hisp.dhis.patient.api.model.ActivityPlanItem; @@ -13,7 +15,7 @@ { @Override - public ActivityPlanItem getModel( Activity activity, MappingFactory mappingFactory ) + public ActivityPlanItem getModel( Activity activity, MappingFactory mappingFactory, UriInfo uriInfo ) { if ( activity == null ) { @@ -22,9 +24,9 @@ ActivityPlanItem item = new ActivityPlanItem(); - item.setBeneficiary( mappingFactory.getBeanMapper( Patient.class, Beneficiary.class ).getModel( activity.getBeneficiary(), mappingFactory ) ); + item.setBeneficiary( mappingFactory.getBeanMapper( Patient.class, Beneficiary.class ).getModel( activity.getBeneficiary(), mappingFactory, uriInfo ) ); item.setDueDate( activity.getDueDate() ); - item.setTask( mappingFactory.getBeanMapper( ProgramStageInstance.class, Task.class ).getModel( activity.getTask(), mappingFactory ) ); + item.setTask( mappingFactory.getBeanMapper( ProgramStageInstance.class, Task.class ).getModel( activity.getTask(), mappingFactory, uriInfo ) ); return item; } === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/ActivityPlanMapper.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/ActivityPlanMapper.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/ActivityPlanMapper.java 2010-08-09 22:50:29 +0000 @@ -4,6 +4,8 @@ import java.util.Collection; import java.util.List; +import javax.ws.rs.core.UriInfo; + import org.hisp.dhis.activityplan.Activity; import org.hisp.dhis.patient.api.model.ActivityPlan; import org.hisp.dhis.patient.api.model.ActivityPlanItem; @@ -13,7 +15,7 @@ { @Override - public ActivityPlan getModel( Collection activities, MappingFactory mappingFactory ) + public ActivityPlan getModel( Collection activities, MappingFactory mappingFactory, UriInfo uriInfo ) { ActivityPlan plan = new ActivityPlan(); @@ -27,7 +29,7 @@ for ( Activity activity : activities ) { - items.add(mappingFactory.getBeanMapper( Activity.class, ActivityPlanItem.class ).getModel( activity, mappingFactory )); + items.add(mappingFactory.getBeanMapper( Activity.class, ActivityPlanItem.class ).getModel( activity, mappingFactory, uriInfo )); } return plan; === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/BeanMapper.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/BeanMapper.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/BeanMapper.java 2010-08-09 22:50:29 +0000 @@ -1,9 +1,11 @@ package org.hisp.dhis.patient.api.service.mapping; +import javax.ws.rs.core.UriInfo; + import org.hisp.dhis.patient.api.service.MappingFactory; public interface BeanMapper { - public T getModel( S entity, MappingFactory mappingFactory ); + public T getModel( S entity, MappingFactory mappingFactory, UriInfo uriInfo ); } === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/BeneficiaryMapper.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/BeneficiaryMapper.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/BeneficiaryMapper.java 2010-08-09 22:50:29 +0000 @@ -1,5 +1,7 @@ package org.hisp.dhis.patient.api.service.mapping; +import javax.ws.rs.core.UriInfo; + import org.hisp.dhis.patient.Patient; import org.hisp.dhis.patient.api.model.Beneficiary; import org.hisp.dhis.patient.api.service.MappingFactory; @@ -9,12 +11,12 @@ { @Override - public Beneficiary getModel( Patient patient, MappingFactory mappingFactory ) + public Beneficiary getModel( Patient patient, MappingFactory mappingFactory, UriInfo uriInfo ) { if (patient == null) { return null; } - + Beneficiary beneficiary = new Beneficiary(); beneficiary.setId( patient.getId() ); === added file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/OrgUnitsMapper.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/OrgUnitsMapper.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/OrgUnitsMapper.java 2010-08-09 22:50:29 +0000 @@ -0,0 +1,47 @@ +package org.hisp.dhis.patient.api.service.mapping; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import javax.ws.rs.core.UriInfo; + +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.patient.api.model.Link; +import org.hisp.dhis.patient.api.model.OrgUnit; +import org.hisp.dhis.patient.api.model.OrgUnits; +import org.hisp.dhis.patient.api.resources.ProgramFormsResource; +import org.hisp.dhis.patient.api.service.MappingFactory; + +public class OrgUnitsMapper + implements BeanMapper, OrgUnits> +{ + + @Override + public OrgUnits getModel( Collection units, MappingFactory mappingFactory, UriInfo uriInfo ) + { + OrgUnits o = new OrgUnits(); + + List orgUnitList = new ArrayList(); + o.setOrgUnitList( orgUnitList ); + + for ( OrganisationUnit unit : units ) + { + orgUnitList.add( create( unit, uriInfo ) ); + } + + return o; + + } + + private OrgUnit create(OrganisationUnit unit, UriInfo uriInfo) { + OrgUnit m = new OrgUnit(); + m.setId(unit.getId()); + m.setName(unit.getShortName()); + m.setProgramFormsLink( new Link(uriInfo.getBaseUriBuilder().fromResource( ProgramFormsResource.class).build( unit.getId()).toString())); + m.setActivitiesLink( new Link(uriInfo.getBaseUriBuilder().path( "v0.1/orgUnits/{id}/activities/plan/current" ).build( unit.getId() ).toString())); + + return m; + } + +} === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/TaskMapper.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/TaskMapper.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/java/org/hisp/dhis/patient/api/service/mapping/TaskMapper.java 2010-08-09 22:50:29 +0000 @@ -1,5 +1,7 @@ package org.hisp.dhis.patient.api.service.mapping; +import javax.ws.rs.core.UriInfo; + import org.hisp.dhis.patient.api.model.Task; import org.hisp.dhis.patient.api.service.MappingFactory; import org.hisp.dhis.program.ProgramStageInstance; @@ -9,7 +11,7 @@ { @Override - public Task getModel( ProgramStageInstance stageInstance, MappingFactory mappingManager ) + public Task getModel( ProgramStageInstance stageInstance, MappingFactory mappingFactory, UriInfo uriInfo ) { if (stageInstance == null) { return null; === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/main/resources/META-INF/dhis/beans.xml 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/main/resources/META-INF/dhis/beans.xml 2010-08-09 22:50:29 +0000 @@ -1,53 +1,60 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/test/java/org/hisp/dhis/patient/api/service/ActivityPlanModelServiceTest.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/test/java/org/hisp/dhis/patient/api/service/ActivityPlanModelServiceTest.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/test/java/org/hisp/dhis/patient/api/service/ActivityPlanModelServiceTest.java 2010-08-09 22:50:29 +0000 @@ -68,7 +68,6 @@ mappers.add( new BeneficiaryMapper() ); mappers.add( new TaskMapper() ); mapper.setMappers( mappers ); - mapper.init(); service = new ActivityPlanModelService(); service.setActivityPlanService( mockedActivityPlanService ); @@ -79,7 +78,7 @@ @Test public void getActivityPlan() { - ActivityPlan activityPlan = service.getActivityPlan( 1 ); + ActivityPlan activityPlan = service.getCurrentActivityPlan( orgUnit ); assertNotNull( activityPlan ); List activities = activityPlan.getActivitiesList(); === modified file 'dhis-2/dhis-web/dhis-web-cbhis-api/src/test/java/org/hisp/dhis/patient/api/service/ModelMapperTest.java' --- dhis-2/dhis-web/dhis-web-cbhis-api/src/test/java/org/hisp/dhis/patient/api/service/ModelMapperTest.java 2010-08-09 19:43:12 +0000 +++ dhis-2/dhis-web/dhis-web-cbhis-api/src/test/java/org/hisp/dhis/patient/api/service/ModelMapperTest.java 2010-08-09 22:50:29 +0000 @@ -8,9 +8,12 @@ import java.util.Set; import org.hisp.dhis.activityplan.Activity; +import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.patient.api.model.ActivityPlan; +import org.hisp.dhis.patient.api.model.OrgUnits; import org.hisp.dhis.patient.api.service.mapping.ActivityPlanMapper; import org.hisp.dhis.patient.api.service.mapping.BeanMapper; +import org.hisp.dhis.patient.api.service.mapping.OrgUnitsMapper; import org.junit.Before; import org.junit.Test; @@ -33,18 +36,22 @@ @Test public void testInitialization() { - MappingFactory manager = new MappingFactory(); + MappingFactory factory = new MappingFactory(); BeanMapper activityPlanMapper = new ActivityPlanMapper(); Set> mappers = new HashSet>(); mappers.add( activityPlanMapper ); - - manager.setMappers( mappers ); - - manager.init(); - - assertEquals( activityPlanMapper, manager.mappingIndex.get( ActivityPlan.class ) ); + OrgUnitsMapper orgUnitsMapper = new OrgUnitsMapper(); + mappers.add( orgUnitsMapper ); + + factory.setMappers( mappers ); + + assertEquals( activityPlanMapper, factory.mappingIndex.get( ActivityPlan.class ) ); + assertEquals( activityPlanMapper, factory.getBeanMapper( new ArrayList(), ActivityPlan.class )); + + assertEquals( orgUnitsMapper, factory.getBeanMapper( new ArrayList(), OrgUnits.class )); + } }