=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/option/OptionService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/option/OptionService.java 2012-11-01 15:15:26 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/option/OptionService.java 2013-05-31 04:56:13 +0000 @@ -36,20 +36,28 @@ public interface OptionService { final String ID = OptionService.class.getName(); - + int saveOptionSet( OptionSet optionSet ); - + void updateOptionSet( OptionSet optionSet ); - + OptionSet getOptionSet( int id ); - + OptionSet getOptionSet( String uid ); - + OptionSet getOptionSetByName( String name ); - + void deleteOptionSet( OptionSet optionSet ); Collection getAllOptionSets(); + + List getOptions( int optionSetId, String name, Integer max ); + + Integer getOptionSetsCountByName( String name ); + + Collection getOptionSetsBetweenByName( String name, int first, int max ); + + Collection getOptionSetsBetween( int first, int max ); - List getOptions( int optionSetId, String key, Integer max ); + Integer getOptionSetCount(); } === added directory 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/option/comparator' === added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/option/comparator/OptionSetNameComparator.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/option/comparator/OptionSetNameComparator.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/option/comparator/OptionSetNameComparator.java 2013-05-31 04:56:13 +0000 @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2004-2012, University of Oslo + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * * Neither the name of the HISP project nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package org.hisp.dhis.option.comparator; + +import java.util.Comparator; + +import org.hisp.dhis.option.OptionSet; + +/** + * @author Chau Thu Tran + * @version $ OptionSetComparator.java May 31, 2013 11:23:50 AM $ + */ +public class OptionSetNameComparator + implements Comparator +{ + public int compare( OptionSet optionSet0, OptionSet optionSet1 ) + { + return optionSet0.getDisplayName().compareTo( optionSet1.getDisplayName() ); + } +} === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/option/DefaultOptionService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/option/DefaultOptionService.java 2013-01-28 06:59:48 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/option/DefaultOptionService.java 2013-05-31 04:56:13 +0000 @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import org.hisp.dhis.i18n.I18nService; @@ -121,4 +122,24 @@ return options; } + + public Integer getOptionSetsCountByName( String name ) + { + return optionStore.getCountLikeName( name ); + } + + public Collection getOptionSetsBetweenByName( String name, int first, int max ) + { + return new HashSet( i18n( i18nService, optionStore.getAllLikeNameOrderedName( name, first, max ) )); + } + + public Collection getOptionSetsBetween( int first, int max ) + { + return new HashSet( i18n( i18nService, optionStore.getAllOrderedName( first, max ) )); + } + + public Integer getOptionSetCount() + { + return optionStore.getCount(); + } } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/GetOptionSetListAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/GetOptionSetListAction.java 2012-02-08 04:05:53 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/option/GetOptionSetListAction.java 2013-05-31 04:56:13 +0000 @@ -27,12 +27,18 @@ package org.hisp.dhis.dataadmin.action.option; +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.attribute.Attribute; import org.hisp.dhis.option.OptionService; import org.hisp.dhis.option.OptionSet; - -import com.opensymphony.xwork2.Action; +import org.hisp.dhis.option.comparator.OptionSetNameComparator; +import org.hisp.dhis.paging.ActionPagingSupport; /** * @author Chau Thu Tran @@ -40,7 +46,7 @@ * @version $GetOptionSetListAction.java Feb 3, 2012 9:28:11 PM$ */ public class GetOptionSetListAction - implements Action + extends ActionPagingSupport { // ------------------------------------------------------------------------------------------------- // Dependencies @@ -49,25 +55,33 @@ private OptionService optionService; // ------------------------------------------------------------------------------------------------- - // Input - // ------------------------------------------------------------------------------------------------- - - private Collection optionSets; - - // ------------------------------------------------------------------------------------------------- - // Setters - // ------------------------------------------------------------------------------------------------- + // Input & Output + // ------------------------------------------------------------------------------------------------- + + private List optionSets; public void setOptionService( OptionService optionService ) { this.optionService = optionService; } - public Collection getOptionSets() + public List getOptionSets() { return optionSets; } + private String key; + + public String getKey() + { + return key; + } + + public void setKey( String key ) + { + this.key = key; + } + // ------------------------------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------------------------------- @@ -76,8 +90,22 @@ public String execute() throws Exception { - optionSets = optionService.getAllOptionSets(); - + if ( isNotBlank( key ) ) + { + this.paging = createPaging( optionService.getOptionSetsCountByName( key ) ); + + optionSets = new ArrayList( optionService.getOptionSetsBetweenByName( key, paging.getStartPos(), + paging.getPageSize() ) ); + } + else + { + this.paging = createPaging( optionService.getOptionSetCount() ); + + optionSets = new ArrayList( optionService.getOptionSetsBetween( paging.getStartPos(), paging.getPageSize() ) ); + } + + Collections.sort( optionSets, new OptionSetNameComparator() ); + return SUCCESS; } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/optionSet.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/optionSet.vm 2013-05-22 13:50:17 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/optionSet.vm 2013-05-31 04:56:13 +0000 @@ -15,9 +15,7 @@ - - $i18n.getString( "filter_by_name" ): - + #filterDiv( "optionSet" ) @@ -46,6 +44,8 @@ #end +

+ #parse( "/dhis-web-commons/paging/paging.vm" )