ref #10222 add subarea and statusorder preference to parameters
[cdmlib.git] / cdmlib-remote / src / main / java / eu / etaxonomy / cdm / remote / controller / TaxonPortalController.java
index a89a3cd3073ae5617e44fdcdc8ad2fb59a5adc8d..11900bd917ae5a42a2aed95a888668d2e90f7e6f 100644 (file)
@@ -35,6 +35,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
 import eu.etaxonomy.cdm.api.dto.portal.TaxonPageDto;
+import eu.etaxonomy.cdm.api.dto.portal.config.DistributionInfoConfiguration;
 import eu.etaxonomy.cdm.api.dto.portal.config.TaxonPageDtoConfiguration;
 import eu.etaxonomy.cdm.api.service.INameService;
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
@@ -310,6 +311,9 @@ public class TaxonPortalController extends TaxonController{
     public TaxonPageDto doGetTaxonPage(@PathVariable("uuid") UUID taxonUuid,
             @RequestParam(value = "subtree", required = false) UUID subtreeUuid,
             @RequestParam(value = "featureTree", required = false) UUID featureTreeUuid,
+            @RequestParam(value = "subAreaPreference", required = false) boolean preferSubAreas,
+            @RequestParam(value = "statusOrderPreference", required = false) boolean statusOrderPreference,
+
             //TODO configuration data
             HttpServletRequest request,
             HttpServletResponse response) throws IOException {
@@ -326,9 +330,13 @@ public class TaxonPortalController extends TaxonController{
         taxon = checkExistsSubtreeAndAccess(taxon, subtree, NO_UNPUBLISHED, response);
 
         TaxonPageDtoConfiguration config = new TaxonPageDtoConfiguration();
+
         config.setTaxonUuid(taxonUuid);
         config.setFeatureTree(featureTreeUuid);
-        config.getDistributionInfoConfiguration().setUseTreeDto(true);
+        DistributionInfoConfiguration distributionConfig = config.getDistributionInfoConfiguration();
+        distributionConfig.setUseTreeDto(true);
+        distributionConfig.setPreferSubAreas(preferSubAreas);
+        distributionConfig.setStatusOrderPreference(statusOrderPreference);
         TaxonPageDto dto = portalDtoService.taxonPageDto(config);
         return dto;
     }