=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramService.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramService.java 2014-04-15 14:30:00 +0000 @@ -179,12 +179,48 @@ * @param organisationUnit {@link OrganisationUnit} */ Collection getProgramsByCurrentUser( OrganisationUnit organisationUnit ); - + /** - * Get {@link Program} by TrackedEntity + * Get {@link TrackedEntity} by TrackedEntity * * @param trackedEntity {@link TrackedEntity} */ Collection getProgramsByTrackedEntity( TrackedEntity trackedEntity ); - + + /** + * Returns The number of Programs with the key searched + * + * @param name Keyword for searching by name + * + * @return A number + * + */ + Integer getProgramCountByName( String name ); + + /** + * Returns {@link Program} list with paging + * + * @param name Keyword for searching by name + * @param min + * @param max + * @return a collection of all Program, or an empty collection if + * there are no Program. + */ + Collection getProgramBetweenByName( String name, int min, int max ); + + /** + * Returns The number of all Program available + * + */ + Integer getProgramCount(); + + /** + * Returns {@link Program} list with paging + * + * @param min + * @param max + * @return a collection of all Program, or an empty collection if + * there are no Program. + */ + Collection getProgramsBetween( int min, int max ); } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityService.java 2014-04-14 16:10:45 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityService.java 2014-04-15 14:30:00 +0000 @@ -121,7 +121,7 @@ * @return a collection of all TrackedEntity, or an empty * collection if there are no TrackedEntity. */ - Collection getTrackedEntityBetweenByName( String name, + Collection getTrackedEntityBetweenByName( String name, int min, int max ); /** === modified file 'dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramService.java' --- dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramService.java 2014-04-06 17:03:28 +0000 +++ dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramService.java 2014-04-15 14:30:00 +0000 @@ -180,4 +180,28 @@ { return i18n( i18nService, programStore.getByTrackedEntity( trackedEntity ) ); } + + @Override + public Integer getProgramCountByName( String name ) + { + return programStore.getCountLikeName( name ); + } + + @Override + public Collection getProgramBetweenByName( String name, int min, int max ) + { + return programStore.getAllLikeNameOrderedName( name, min, max ); + } + + @Override + public Integer getProgramCount() + { + return programStore.getCount(); + } + + @Override + public Collection getProgramsBetween( int min, int max ) + { + return programStore.getAllOrderedName( min, max ); + } } === modified file 'dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityService.java' --- dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityService.java 2014-04-14 16:10:45 +0000 +++ dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/trackedentity/DefaultTrackedEntityService.java 2014-04-15 14:30:00 +0000 @@ -105,7 +105,7 @@ } @Override - public Collection getTrackedEntityBetweenByName( String name, int min, int max ) + public Collection getTrackedEntityBetweenByName( String name, int min, int max ) { return trackedEntityStore.getAllLikeNameOrderedName( name, min, max ); } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/GetProgramListAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/GetProgramListAction.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/program/GetProgramListAction.java 2014-04-15 14:30:00 +0000 @@ -28,25 +28,23 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import static org.apache.commons.lang.StringUtils.isNotBlank; + import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.List; import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator; +import org.hisp.dhis.paging.ActionPagingSupport; import org.hisp.dhis.program.Program; import org.hisp.dhis.program.ProgramService; -import org.hisp.dhis.program.ProgramStage; -import org.hisp.dhis.program.ProgramStageService; - -import com.opensymphony.xwork2.Action; /** * @author Abyot Asalefew Gizaw * @version $Id$ */ public class GetProgramListAction - implements Action + extends ActionPagingSupport { // ------------------------------------------------------------------------- // Dependencies @@ -59,41 +57,10 @@ this.programService = programService; } - private ProgramStageService programStageService; - - public void setProgramStageService( ProgramStageService programStageService ) - { - this.programStageService = programStageService; - } - // ------------------------------------------------------------------------- // Input/Output // ------------------------------------------------------------------------- - private Integer id; - - public Integer getId() - { - return id; - } - - public void setId( Integer id ) - { - this.id = id; - } - - private Collection associations = new ArrayList(); - - public Collection getAssociations() - { - return associations; - } - - public void setAssociations( Collection associations ) - { - this.associations = associations; - } - private List programs = new ArrayList(); public List getPrograms() @@ -101,9 +68,16 @@ return programs; } - public void setPrograms( List programs ) - { - this.programs = programs; + private String key; + + public String getKey() + { + return key; + } + + public void setKey( String key ) + { + this.key = key; } // ------------------------------------------------------------------------- @@ -113,19 +87,22 @@ public String execute() throws Exception { - programs = new ArrayList( programService.getAllPrograms() ); + if ( isNotBlank( key ) ) + { + this.paging = createPaging( programService.getProgramCountByName( key ) ); + + programs = new ArrayList( programService.getProgramBetweenByName( key, paging.getStartPos(), + paging.getPageSize() ) ); + } + else + { + this.paging = createPaging( programService.getProgramCount() ); + + programs = new ArrayList( programService.getProgramsBetween( paging.getStartPos(), + paging.getPageSize() ) ); + } + Collections.sort( programs, IdentifiableObjectNameComparator.INSTANCE ); - - if ( id == null ) - { - associations = programStageService.getAllProgramStages(); - } - else - { - Program program = programService.getProgram( id ); - - associations = program.getProgramStages(); - } return SUCCESS; } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/trackedentity/GetTrackedEntityListAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/trackedentity/GetTrackedEntityListAction.java 2014-04-14 16:10:45 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/trackedentity/GetTrackedEntityListAction.java 2014-04-15 14:30:00 +0000 @@ -46,7 +46,7 @@ * @version $ AddTrackedEntityAction.java Feb 15, 2014 7:20:44 PM $ */ public class GetTrackedEntityListAction -extends ActionPagingSupport + extends ActionPagingSupport { // ------------------------------------------------------------------------- // Dependency @@ -90,17 +90,15 @@ { this.paging = createPaging( trackedEntityService.getTrackedEntityCountByName( key ) ); - trackedEntities = new ArrayList( - trackedEntityService.getTrackedEntityBetweenByName( key, paging.getStartPos(), - paging.getPageSize() ) ); + trackedEntities = new ArrayList( trackedEntityService.getTrackedEntityBetweenByName( key, + paging.getStartPos(), paging.getPageSize() ) ); } else { this.paging = createPaging( trackedEntityService.getTrackedEntityCount() ); - trackedEntities = new ArrayList( - trackedEntityService.getTrackedEntitysBetween( paging.getStartPos(), - paging.getPageSize() ) ); + trackedEntities = new ArrayList( trackedEntityService.getTrackedEntitysBetween( + paging.getStartPos(), paging.getPageSize() ) ); } Collections.sort( trackedEntities, IdentifiableObjectNameComparator.INSTANCE ); === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/META-INF/dhis/beans.xml 2014-03-24 09:02:13 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/META-INF/dhis/beans.xml 2014-04-15 14:30:00 +0000 @@ -186,7 +186,6 @@ class="org.hisp.dhis.trackedentity.action.program.GetProgramListAction" scope="prototype"> - - - - - - - - + + + + + + + + +
+ #filterDiv( "program" ) + + +
- + @@ -50,6 +56,7 @@
$i18n.getString( "name" )
+ #parse( "/dhis-web-commons/paging/paging.vm" )