=== 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 2013-08-23 15:56:19 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/option/OptionService.java 2013-12-17 09:19:20 +0000 @@ -52,6 +52,8 @@ Collection getAllOptionSets(); + List getOptions( String optionSetUid, String key, Integer max ); + List getOptions( int optionSetId, String name, Integer max ); Integer getOptionSetsCountByName( String name ); === 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-08-23 16:05:01 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/option/DefaultOptionService.java 2013-12-17 09:19:20 +0000 @@ -102,6 +102,13 @@ return i18n( i18nService, optionStore.getAll() ); } + public List getOptions( String optionSetUid, String key, Integer max ) + { + OptionSet optionSet = getOptionSet( optionSetUid ); + + return getOptions( optionSet.getId(), key, max ); + } + public List getOptions( int optionSetId, String key, Integer max ) { List options = null; === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OptionSetController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OptionSetController.java 2013-08-23 16:00:30 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/OptionSetController.java 2013-12-17 09:19:20 +0000 @@ -28,19 +28,23 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletResponse; + import org.hisp.dhis.dxf2.utils.JacksonUtils; +import org.hisp.dhis.option.OptionService; import org.hisp.dhis.option.OptionSet; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - /** * @author Morten Olav Hansen */ @@ -50,6 +54,9 @@ extends AbstractCrudController { public static final String RESOURCE_PATH = "/optionSets"; + + @Autowired + private OptionService optionService; @RequestMapping( value = "/{uid}/version", method = RequestMethod.GET ) public void getVersion( @PathVariable( "uid" ) String uid, @RequestParam Map parameters, @@ -62,4 +69,15 @@ JacksonUtils.toJson( response.getOutputStream(), versionMap ); } + + @RequestMapping( value = "/{uid}/options", method = RequestMethod.GET ) + public void getOptions( @PathVariable( "uid" ) String uid, + @RequestParam(required = false) String key, + @RequestParam(required = false) Integer max, + HttpServletResponse response ) throws IOException + { + List options = optionService.getOptions( uid, key, max ); + + JacksonUtils.toJson( response.getOutputStream(), options ); + } }