diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/SectionViewer.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/SectionViewer.java index 9d43642..528d922 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/SectionViewer.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/cms/project/SectionViewer.java @@ -60,6 +60,7 @@ public class SectionViewer extends Composite { boolean displayAsGallery = false; for (SubDocumentView subDocumentView : subDocuments) { if (subDocumentView.getListImages() != null && subDocumentView.getListImages().size() > 0) { + GWT.log("Section with images: "+subDocumentView.getListImages()); displayAsGallery = true; break; } @@ -68,6 +69,7 @@ public class SectionViewer extends Composite { boolean displayAsMapOfLayers = false; for (SubDocumentView subDocumentView : subDocuments) { if (subDocumentView.getListLayers() != null && subDocumentView.getListLayers().size() > 0) { + GWT.log("Section with layers: "+subDocumentView.getListImages()); displayAsMapOfLayers = true; break; } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/Geoportal_JSON_Mapper.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/Geoportal_JSON_Mapper.java index 1b7f2d2..715815d 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/Geoportal_JSON_Mapper.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/Geoportal_JSON_Mapper.java @@ -271,8 +271,9 @@ public class Geoportal_JSON_Mapper { for (Payload payload : listPayloads) { PayloadDV payloadDV = ConvertToDataValueObjectModel.toPayloadDV(payload); filesetDV.addPayloadDV(payloadDV); - listFiles.add(filesetDV); + } + listFiles.add(filesetDV); // Reading Fileset _materializations // listLayers = readGcubeSDILayersForFileset(filesetJSONPath, @@ -529,19 +530,36 @@ public class Geoportal_JSON_Mapper { // Reading Fileset _payloads String filesetJSONPath = String.format("%s.%s", JSON_$_POINTER, filePath.getFieldName()); List listPayloads = readPayloadsForFileset(filesetJSONPath, fromSectionDocJSON); - FilesetDV filesetDV = new FilesetDV(); - filesetDV.setName(filePath.getGcubeProfileFieldName()); + if(LOG.isDebugEnabled()) { + for (Payload payload : listPayloads) { + LOG.debug("read payload: " + payload); + } + } + + FilesetDV filesetImages = new FilesetDV(); + FilesetDV filesetFiles = new FilesetDV(); + for (Payload payload : listPayloads) { PayloadDV payloadDV = ConvertToDataValueObjectModel.toPayloadDV(payload); - filesetDV.addPayloadDV(payloadDV); + //filesetDV.addPayloadDV(payloadDV); boolean isImage = ImageDetector.isImage(payload.getMimetype()); if (isImage) { - listImages.add(filesetDV); + filesetImages.setName(filePath.getGcubeProfileFieldName()); + filesetImages.addPayloadDV(payloadDV); } else { - listFiles.add(filesetDV); + filesetFiles.addPayloadDV(payloadDV); + filesetFiles.setName(filePath.getGcubeProfileFieldName()); } } + + //Setting only if one element exists + if(filesetImages.getListPayload().size()>0) { + listImages.add(filesetImages); + } + if(filesetFiles.getListPayload().size()>0) { + listFiles.add(filesetFiles); + } // Reading Fileset _materializations listLayers = readGcubeSDILayersForFileset(filesetJSONPath, fromSectionDocJSON);