diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/FormEntryModel.ui.xml b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/FormEntryModel.ui.xml index 8a2ad0c..d9ac0eb 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/FormEntryModel.ui.xml +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/FormEntryModel.ui.xml @@ -8,7 +8,7 @@ + width="97%" readOnly="true" ui:field="entryValue"> diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/ManageProductWidget.ui.xml b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/ManageProductWidget.ui.xml index 377f5ee..f728773 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/ManageProductWidget.ui.xml +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/client/view/ManageProductWidget.ui.xml @@ -29,7 +29,7 @@ @@ -40,7 +40,7 @@ @@ -51,50 +51,11 @@ + width="97%" title="The GRSF Item type" readOnly="true" + ui:field="productGrsfType"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -102,7 +63,7 @@ diff --git a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/server/manage/GRSFNotificationService.java b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/server/manage/GRSFNotificationService.java index 1b3b44d..c8be604 100644 --- a/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/server/manage/GRSFNotificationService.java +++ b/src/main/java/org/gcube/datacatalogue/grsf_manage_widget/server/manage/GRSFNotificationService.java @@ -174,11 +174,11 @@ public class GRSFNotificationService extends RemoteServiceServlet implements GRS throw new NoGRSFRecordException("This is not a GRSF Item"); // get extras - Map extras = product.getExtrasAsHashMap(); - String status = extras.get(STATUS_CUSTOM_FIELD_KEY); - String uuidKB = extras.get(KB_UUID_FIELD_KEY); + Map extrasAsHashMap = product.getExtrasAsHashMap(); + String status = extrasAsHashMap.get(STATUS_CUSTOM_FIELD_KEY); + String uuidKB = extrasAsHashMap.get(KB_UUID_FIELD_KEY); // String productType = extras.get(TYPE_FIELD_KEY); - String productGRSFType = extras.get(GRSF_TYPE_FIELD_KEY); + String productGRSFType = extrasAsHashMap.get(GRSF_TYPE_FIELD_KEY); // String semanticId = extras.get(productGRSFType + " id"); // i.e "Stock id" or "Fishery id" // String shortTitle = extras.get(SHORT_TITLE_FIELD_KEY); // String sources = extras.get(SOURCES_TITLE_FIELD_KEY); @@ -188,12 +188,22 @@ public class GRSFNotificationService extends RemoteServiceServlet implements GRS // fetch extras GenericResourceReaderExtras entries = new GenericResourceReaderExtras(); Set extrasToShow = entries.getLookedUpExtrasKeys(); + if(extrasToShow != null && !extrasToShow.isEmpty()){ Map extrasKeyValuePair = new HashMap(); - for (String entryKey : extrasToShow) { - String value = extras.get(entryKey); - if(value != null && !value.isEmpty()) - extrasKeyValuePair.put(entryKey, value); + List extrasAsPairs = product.getExtras(); + for (CkanPair ckanPair : extrasAsPairs) { + String key = ckanPair.getKey(); + String value = ckanPair.getValue(); + + if(extrasToShow.contains(key)){ + String currentValueInMap = extrasKeyValuePair.get(key); + if(currentValueInMap == null) + currentValueInMap = value; + else + currentValueInMap += ", " + value; + extrasKeyValuePair.put(key, currentValueInMap); + } } toReturn.setExtrasIfAvailable(extrasKeyValuePair); } @@ -208,10 +218,6 @@ public class GRSFNotificationService extends RemoteServiceServlet implements GRS toReturn.setItemTitle(title); toReturn.setGrsfType(productGRSFType); toReturn.setDescription(description); - // toReturn.setType(productType); - // toReturn.setSemanticId(semanticId); - // toReturn.setShortTitle(shortTitle); - // toReturn.setSource(sources); logger.info("Returning item bean " + toReturn);