From 17285fe73e2513cad455b7355551846b4215d811 Mon Sep 17 00:00:00 2001 From: Costantino Perciante Date: Tue, 27 Jun 2017 15:57:07 +0000 Subject: [PATCH] update for fix in #9076 git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/widgets/ckan-metadata-publisher-widget@150579 82a268e6-3cf1-43bd-a215-b396298e98cf --- distro/changelog.xml | 45 ++++++++++++++----- pom.xml | 2 +- .../server/utils/WorkspaceUtils.java | 25 ++++++++--- 3 files changed, 53 insertions(+), 19 deletions(-) diff --git a/distro/changelog.xml b/distro/changelog.xml index 9e9cb09..e81bef1 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,29 +1,52 @@ - + + External Url files are properly managed as resources + + Metadata model v.3 supported - + Some bug fixes - + Some minor terms changed added support for ticket #7207 - + Minor fixes to speed up role retrievals - - A post is automatically created by the Product Catalogue user every time someone publishes - The user now can select all files in the hierarchy and publish them - The user can now associate the product to the available groups + + A post is automatically created by the Product Catalogue user + every time someone publishes + The user now can select all files in the hierarchy and publish + them + The user can now associate the product to the available groups + Removed ASL session dependency - + Creation of a group is now supported Association of a dataset to a group is now supported - Products are copied to .catalogue area when publishing is performed from workspace + Products are copied to .catalogue area when publishing is + performed from workspace - + First Release diff --git a/pom.xml b/pom.xml index 49ad33a..62464e5 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.gcube.portlets.widgets ckan-metadata-publisher-widget - 1.3.0-SNAPSHOT + 1.3.1-SNAPSHOT gCube Ckan metadata publisher widget 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 5c838b0..cddf90c 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 @@ -8,6 +8,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import org.gcube.common.homelibary.model.items.type.FolderItemType; import org.gcube.common.homelibrary.home.HomeLibrary; import org.gcube.common.homelibrary.home.exceptions.InternalErrorException; import org.gcube.common.homelibrary.home.workspace.Workspace; @@ -15,6 +16,7 @@ import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder; import org.gcube.common.homelibrary.home.workspace.WorkspaceItem; import org.gcube.common.homelibrary.home.workspace.catalogue.WorkspaceCatalogue; import org.gcube.common.homelibrary.home.workspace.folder.FolderItem; +import org.gcube.common.homelibrary.home.workspace.folder.items.ExternalUrl; import org.gcube.common.homelibrary.home.workspace.folder.items.GCubeItem; import org.gcube.datacatalogue.ckanutillibrary.server.utils.UtilMethods; import org.gcube.datacatalogue.ckanutillibrary.shared.ResourceBean; @@ -253,14 +255,23 @@ public class WorkspaceUtils { // name and description could have been edited copiedFile.setDescription(resource.getDescription()); + // check if it is an external url + String externalUrl = null; + try{ + boolean isExternalUrl = ((FolderItem)copiedFile).getFolderItemType().equals(FolderItemType.EXTERNAL_URL); + externalUrl = isExternalUrl ? ((ExternalUrl)copiedFile).getUrl() : null; + }catch(Exception e){ + logger.warn("Unable to check if it is an external url file ", e); + } + resources.add(new ResourceBean( - copiedFile.getPublicLink(true), - resource.getEditableName(), - copiedFile.getDescription(), - copiedFile.getId(), - userName, - null, // dataset id, to be set - ((FolderItem)copiedFile).getMimeType())); + externalUrl != null ? externalUrl : copiedFile.getPublicLink(true), + resource.getEditableName(), + copiedFile.getDescription(), + copiedFile.getId(), + userName, + null, // dataset id, to be set + ((FolderItem)copiedFile).getMimeType())); // postpone rename operation copiedFile.rename(resource.getEditableName());