Merge branch 'master' into abcd
[cdmlib.git] / cdmlib-remote / src / main / java / eu / etaxonomy / cdm / remote / controller / DescriptionPortalController.java
index 813b3a7d56b398096e415fbf104b4ea4c34ccb08..a6979d58e00a58405b0f1ae90bc0334dea692fe4 100644 (file)
@@ -37,6 +37,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;\r
 import org.springframework.web.servlet.ModelAndView;\r
 \r
+import com.wordnik.swagger.annotations.Api;\r
+\r
 import eu.etaxonomy.cdm.api.service.DistributionTree;\r
 import eu.etaxonomy.cdm.api.service.IDescriptionService;\r
 import eu.etaxonomy.cdm.api.service.ITermService;\r
@@ -44,6 +46,7 @@ import eu.etaxonomy.cdm.api.service.dto.DistributionInfoDTO;
 import eu.etaxonomy.cdm.api.service.dto.DistributionInfoDTO.InfoPart;\r
 import eu.etaxonomy.cdm.api.service.pager.Pager;\r
 import eu.etaxonomy.cdm.api.utility.DescriptionUtility;\r
+import eu.etaxonomy.cdm.ext.geo.CondensedDistributionRecipe;\r
 import eu.etaxonomy.cdm.ext.geo.EditGeoServiceUtilities;\r
 import eu.etaxonomy.cdm.ext.geo.IEditGeoService;\r
 import eu.etaxonomy.cdm.model.common.Annotation;\r
@@ -73,6 +76,7 @@ import eu.etaxonomy.cdm.remote.l10n.LocaleContext;
  *\r
  */\r
 @Controller\r
+@Api("portal_description")\r
 @Transactional(readOnly=true)\r
 @RequestMapping(value = {\r
             "/portal/description/{uuid}",\r
@@ -209,11 +213,13 @@ public class DescriptionPortalController extends BaseController<DescriptionBase,
     /**\r
      * @param taxonUuid\r
      * @param parts\r
-     *            possible values: condensedStatusString, tree, mapUriParams,\r
+     *            possible values: condensedStatus, tree, mapUriParams,\r
      *            elements,\r
      * @param subAreaPreference\r
      * @param statusOrderPreference\r
      * @param hideMarkedAreasList\r
+     * @param recipe\r
+     *  The recipe for creating the condensed distribution status\r
      * @param omitLevels\r
      * @param request\r
      * @param response\r
@@ -229,8 +235,11 @@ public class DescriptionPortalController extends BaseController<DescriptionBase,
             @RequestParam(value = "subAreaPreference", required = false) boolean subAreaPreference,\r
             @RequestParam(value = "statusOrderPreference", required = false) boolean statusOrderPreference,\r
             @RequestParam(value = "hideMarkedAreas", required = false) DefinedTermBaseList<MarkerType> hideMarkedAreasList,\r
+            @RequestParam(value = "fallbackAreaMarkerType", required = false) MarkerType fallbackAreaMarkerType,\r
             @RequestParam(value = "omitLevels", required = false) Set<NamedAreaLevel> omitLevels,\r
             @RequestParam(value = "statusColors", required = false) String statusColorsString,\r
+            @RequestParam(value = "recipe", required = false, defaultValue="EuroPlusMed") CondensedDistributionRecipe recipe,\r
+\r
             HttpServletRequest request,\r
             HttpServletResponse response) throws JsonParseException, JsonMappingException, IOException {\r
 \r
@@ -248,7 +257,7 @@ public class DescriptionPortalController extends BaseController<DescriptionBase,
             Map<PresenceAbsenceTerm, Color> presenceAbsenceTermColors = EditGeoServiceUtilities.buildStatusColorMap(statusColorsString, termService);\r
 \r
             DistributionInfoDTO dto = geoService.composeDistributionInfoFor(parts, taxonUuid, subAreaPreference, statusOrderPreference,\r
-                    hideMarkedAreas, omitLevels, presenceAbsenceTermColors, LocaleContext.getLanguages(), DISTRIBUTION_INFO_INIT_STRATEGY);\r
+                    hideMarkedAreas, fallbackAreaMarkerType, omitLevels, presenceAbsenceTermColors, LocaleContext.getLanguages(), DISTRIBUTION_INFO_INIT_STRATEGY, recipe);\r
 \r
             mv.addObject(dto);\r
 \r