From b8b94a58e45c070b03c5a5d05f65c8b5c7c5ce15 Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Fri, 19 Mar 2021 17:39:48 +0100 Subject: [PATCH] bug fixing resouces to publish --- .../client/ui/form/CreateDatasetForm.java | 3 ++- .../ui/workspace/SelectResourceByWEMainPanel.java | 6 +++++- .../server/utils/WorkspaceUtils.java | 14 ++++++++++++-- .../shared/ResourceElementBean.java | 2 +- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/form/CreateDatasetForm.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/form/CreateDatasetForm.java index 082a95f..9a880c8 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/form/CreateDatasetForm.java +++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/form/CreateDatasetForm.java @@ -1074,8 +1074,9 @@ public class CreateDatasetForm extends Composite{ receivedBean.setGroupsForceCreation(groupsToForceCreation); - if(resourcesSelectByWEMainPanel != null) + if(resourcesSelectByWEMainPanel != null) { receivedBean.setResourceRoot(resourcesSelectByWEMainPanel.getResourcesToPublish()); + } receivedBean.setCustomFields(customFieldsMap); diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.java index 0e5a287..36efd7c 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.java +++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceByWEMainPanel.java @@ -279,15 +279,19 @@ public class SelectResourceByWEMainPanel extends Composite { for (String wsItemId : mapSelectedResources.keySet()) { SelectedResourceWidget selecWC = mapSelectedResources.get(wsItemId); ResourceElementBean theResource = selecWC.getResourceBean(); + theResource.setToBeAdded(true); if(!theResource.isFolder()){ // be sure ... children.add(theResource); } } + + toReturn.setToPublish(children); + GWT.log("resources to publish are: "+toReturn.getToPublish()); return toReturn; } - + /** * @return the freezed diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/utils/WorkspaceUtils.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/utils/WorkspaceUtils.java index 2330412..62f3c08 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/utils/WorkspaceUtils.java +++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/server/utils/WorkspaceUtils.java @@ -341,13 +341,23 @@ public class WorkspaceUtils { * @throws Exception the exception */ public static List toResources(DatasetBean bean, Workspace workspace, String username) throws Exception{ - - logger.debug("Request to copy onto catalogue area...."); + logger.debug("Called to Resources...: "); + List resources = new ArrayList(); ResourceElementBean rootResource = bean.getResourceRoot(); + + if(rootResource==null) { + logger.info("No resource root, returning empty list of resources"); + return resources; + } // retrieve the children List resourcesToAdd = rootResource.getToPublish(); + + if(resourcesToAdd==null) { + logger.info("No resource to add, returning empty list of resources"); + return resources; + } // copy only the selected ones for(ResourceElementBean resource : resourcesToAdd){ diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/shared/ResourceElementBean.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/shared/ResourceElementBean.java index ef3241e..f840530 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/shared/ResourceElementBean.java +++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/shared/ResourceElementBean.java @@ -54,7 +54,7 @@ public class ResourceElementBean implements Comparable, Ser /** The children size. */ private Integer childrenSize; - /** The to publish. */ +// /** The to publish. */ private List toPublish; //Resources that must be published /** The next id. */