diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java index 4f4898c..c8ae272 100644 --- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java +++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java @@ -237,7 +237,7 @@ public class GrsfPublisherFisheryService { responseBean.setError(null); responseBean.setProductUrl(catalogue.getPortletUrl() + "?" + URLEncoder.encode("path=/dataset/" + futureName, "UTF-8")); responseBean.setKbUuid(record.getUuid()); - + if(!groups.isEmpty()){ logger.info("Launching thread for association to the list of groups " + groups); AssociationToGroupThread threadGroups = new AssociationToGroupThread(groups, id, organization, username, catalogue); @@ -251,7 +251,9 @@ public class GrsfPublisherFisheryService { logger.info("Launching thread for time series handling"); new ManageTimeSeriesThread(record, futureName, username, catalogue, context, token).start(); - } + }else + throw new Exception("There was an error during the product generation, sorry"); + } } } @@ -302,7 +304,7 @@ public class GrsfPublisherFisheryService { throw new Exception("There was a problem while serving your request. This product was not found"); } - + // get extras and check there is the product type if(fisheryInCkan.getExtrasAsHashMap().get(Common.PRODUCT_TYPE_KEY).equals(THIS_TYPE)){ logger.warn("Ok, this is a fishery, removing it"); diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java index 65a95f4..c78b610 100644 --- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java +++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java @@ -239,7 +239,8 @@ public class GrsfPublisherStockService { // manage time series logger.info("Launching thread for time series handling"); new ManageTimeSeriesThread(record, futureName, username, catalogue, context, token).start(); - } + }else + throw new Exception("There was an error during the product generation, sorry"); } } } diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java index 4de1657..993be22 100644 --- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java +++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java @@ -54,6 +54,7 @@ public abstract class HelperMethods { private static final int TIME_SERIES_TAKE_LAST_VALUES = 5; private static final String CSV_MIME = "text/csv"; private static final String PATH_SEPARATOR = "/"; + private static final String REGEX_TAGS = "[^\\s\\w-_.]"; /** @@ -118,21 +119,24 @@ public abstract class HelperMethods { elementsToConsider = Math.min(elementsToConsider, TIME_SERIES_TAKE_LAST_VALUES); for (int i = (asList.size() - elementsToConsider); i < asList.size(); i++) { - logger.debug(asList.get(i).toString().trim()); - tags.add(asList.get(i).toString().trim()); + String finalTag = asList.get(i).toString().trim().replaceAll(REGEX_TAGS, ""); + logger.debug(finalTag); + tags.add(finalTag); } }else{ // else add all the available elements for (int i = 0; i < elementsToConsider; i++) { - logger.debug(asList.get(i).toString().trim()); - tags.add(asList.get(i).toString().trim()); + String finalTag = asList.get(i).toString().trim().replaceAll(REGEX_TAGS, ""); + logger.debug(finalTag); + tags.add(finalTag); } } } }else{ logger.debug("The object annotated with @Tag is a simple one. Adding ... "); - logger.debug(f.toString().trim()); - tags.add(f.toString().trim()); + String finalTag = f.toString().trim().replaceAll(REGEX_TAGS, ""); + logger.debug(finalTag); + tags.add(finalTag); } }