diff --git a/.classpath b/.classpath
index 26981b6..04023d0 100644
--- a/.classpath
+++ b/.classpath
@@ -15,6 +15,7 @@
+
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 6e80039..4e4a3ad 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -5,4 +5,5 @@ org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 7d683bf..88679f4 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -1,5 +1,5 @@
-
+
diff --git a/distro/changelog.xml b/distro/changelog.xml
index af67d01..fd73de7 100644
--- a/distro/changelog.xml
+++ b/distro/changelog.xml
@@ -1,6 +1,7 @@
+ Updated to new storage hub exception handling
Feature #12796 Workspace widget: recent documents has a different behaviour on URL items
-
4.0.0
diff --git a/src/main/java/org/gcube/portlets/user/wswidget/StorageHubServiceUtil.java b/src/main/java/org/gcube/portlets/user/wswidget/StorageHubServiceUtil.java
index 1d7d99c..c24f4fb 100644
--- a/src/main/java/org/gcube/portlets/user/wswidget/StorageHubServiceUtil.java
+++ b/src/main/java/org/gcube/portlets/user/wswidget/StorageHubServiceUtil.java
@@ -38,13 +38,18 @@ public class StorageHubServiceUtil {
SecurityTokenProvider.instance.set(authUser.getSecurityToken());
ItemManagerClient client = AbstractPlugin.item().build();
List extends Item> theChildren = null;
- if (offset >= 0) {
- int limit = offset;
- theChildren = client.getChildren(itemId, from, limit, false, "hl:accounting");
- }
- else { //all the items
- theChildren = client.getChildren(itemId, false, "hl:accounting");
+ try {
+ if (offset >= 0) {
+ int limit = offset;
+ theChildren = client.getChildren(itemId, from, limit, false, "hl:accounting");
+ }
+ else { //all the items
+ theChildren = client.getChildren(itemId, false, "hl:accounting");
+ }
}
+ catch (Exception e) {
+ e.printStackTrace();
+ }
if (theChildren == null || theChildren.isEmpty()) {
toReturn.setChildren(children);
_log.debug("*** Returning empty ");
@@ -68,7 +73,14 @@ public class StorageHubServiceUtil {
String authorizationToken = Utils.getCurrentUserToken(scope, userName);
SecurityTokenProvider.instance.set(authorizationToken);
ItemManagerClient client = AbstractPlugin.item().build();
- return client.childrenCount(itemId, false);
+ int toReturn = -1;
+ try {
+ client.childrenCount(itemId, false);
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ return toReturn;
}
/**
*
@@ -103,8 +115,8 @@ public class StorageHubServiceUtil {
SecurityTokenProvider.instance.set(authUser.getSecurityToken());
WorkspaceManagerClient wsclient = AbstractPlugin.workspace().build();
List extends Item> theChildren = wsclient.getRecentModifiedFilePerVre();
-
-
+
+
if (theChildren == null || theChildren.isEmpty()) {
toReturn.setChildren(children);
_log.debug("*** Returning empty ");
@@ -130,7 +142,7 @@ public class StorageHubServiceUtil {
SecurityTokenProvider.instance.set(authorizationToken);
String siteLandingPagePath = PortalContext.getConfiguration().getSiteLandingPagePath(request);
String toReturn = siteLandingPagePath;
-
+
try {
WorkspaceManagerClient wsclient = AbstractPlugin.workspace().build();
String itemId = wsclient.getVreFolder("hl:accounting").getId();
@@ -168,9 +180,9 @@ public class StorageHubServiceUtil {
}
return toReturn;
}
-
-
-
-
-
+
+
+
+
+
}
diff --git a/src/main/java/org/gcube/portlets/user/wswidget/WorkspaceWidget.java b/src/main/java/org/gcube/portlets/user/wswidget/WorkspaceWidget.java
index 6ca8a26..0c185ab 100644
--- a/src/main/java/org/gcube/portlets/user/wswidget/WorkspaceWidget.java
+++ b/src/main/java/org/gcube/portlets/user/wswidget/WorkspaceWidget.java
@@ -18,6 +18,7 @@ import org.gcube.common.storagehub.client.dsl.FileContainer;
import org.gcube.common.storagehub.client.dsl.StorageHubClient;
import org.gcube.common.storagehub.client.plugins.AbstractPlugin;
import org.gcube.common.storagehub.client.proxies.WorkspaceManagerClient;
+import org.gcube.common.storagehub.model.exceptions.StorageHubException;
import org.gcube.common.storagehub.model.items.Item;
import org.gcube.portlets.user.wswidget.shared.AuthorizedUser;
import org.gcube.portlets.user.wswidget.shared.Breadcrumb;
@@ -56,8 +57,14 @@ public class WorkspaceWidget extends MVCPortlet {
setAuthorizationToken(resourceRequest);
String selectedItemId = fileToDownloadId.split("=")[1];
StorageHubClient client = new StorageHubClient();
- FileContainer fileContainer = client.open(selectedItemId).asFile();
- StreamDescriptor streamDescr = fileContainer.download(selectedItemId);
+ FileContainer fileContainer = null;
+ StreamDescriptor streamDescr = null;
+ try {
+ fileContainer = client.open(selectedItemId).asFile();
+ streamDescr = fileContainer.download(selectedItemId);
+ } catch (StorageHubException e) {
+ e.printStackTrace();
+ }
HttpServletResponse httpRes = PortalUtil.getHttpServletResponse(resourceResponse);
if (ITEM_URL_TYPE.compareTo(fileContainer.get().getPrimaryType()) == 0) { //if is a type URL we open drectly the link
Scanner sc = new Scanner( streamDescr.getStream());