package org.openmrs.module.reporting.web.dimensions; import java.util.List; import org.openmrs.api.context.Context; import org.openmrs.module.reporting.indicator.dimension.Dimension; import org.openmrs.module.reporting.indicator.dimension.service.DimensionService; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; /** * Controller for the "Manage Indicators" page */ @Controller public class ManageDimensionsController { /** * List all dimensions */ @RequestMapping("/module/reporting/indicators/manageDimensions") public void manageDimensions(ModelMap model, @RequestParam(required=false, value="includeRetired") Boolean includeRetired) { DimensionService service = Context.getService(DimensionService.class); // Get list of existing dimensions boolean includeRet = (includeRetired == Boolean.TRUE); List<Dimension> dimensions = service.getAllDefinitions(includeRet); model.addAttribute("dimensions", dimensions); // Get available dimension types model.addAttribute("types", service.getDefinitionTypes()); } /** * Delete an existing dimension */ @RequestMapping("/module/reporting/indicators/purgeDimension") public String purgeDimension(@RequestParam("uuid") String uuid) { DimensionService service = Context.getService(DimensionService.class); Dimension dim = service.getDefinitionByUuid(uuid); service.purgeDefinition(dim); return "redirect:manageDimensions.form"; } }