From c3e7566c2cd590020fb2d98861b37cbd839dfe40 Mon Sep 17 00:00:00 2001 From: "massimiliano.assante" Date: Wed, 6 Jun 2018 13:13:12 +0000 Subject: [PATCH] fixed icons ans null pointier when mimetype not present git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/workspace-widget-portlet@167892 82a268e6-3cf1-43bd-a215-b396298e98cf --- .settings/org.eclipse.wst.common.component | 3 - .../portlets/user/wswidget/ItemBuilder.java | 32 +++++- .../user/wswidget/StorageHubServiceUtil.java | 2 +- src/main/webapp/html/vre.html | 107 ++++++++++++++++++ 4 files changed, 135 insertions(+), 9 deletions(-) create mode 100644 src/main/webapp/html/vre.html diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 6e7cc3c..7d683bf 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -4,9 +4,6 @@ - - uses - diff --git a/src/main/java/org/gcube/portlets/user/wswidget/ItemBuilder.java b/src/main/java/org/gcube/portlets/user/wswidget/ItemBuilder.java index a155d9d..96a7121 100644 --- a/src/main/java/org/gcube/portlets/user/wswidget/ItemBuilder.java +++ b/src/main/java/org/gcube/portlets/user/wswidget/ItemBuilder.java @@ -74,21 +74,43 @@ public class ItemBuilder { mdIcon = IconsManager.getIconTypeLink(); } else { AbstractFileItem aItem = (AbstractFileItem) workspaceItem; - if (aItem.getContent().getMimeType().compareTo("application/xml") == 0) { - mdIcon = IconsManager.getXMLTypeLink(); - } else { + try { + String mimeType = aItem.getContent().getMimeType(); + if (mimeType.compareTo("application/xml") == 0) { + mdIcon = IconsManager.getXMLTypeLink(); + } + else if (mimeType.compareTo("application/zip") == 0 + || mimeType.compareTo("application/tar") == 0 + || mimeType.compareTo("application/x-gzip") == 0 + || mimeType.compareTo("application/tar+gzip") == 0 + || mimeType.compareTo("application/octet-stream") == 0 + || mimeType.compareTo("application/x-rar-compressed") == 0 + || mimeType.compareTo("application/x-tgz") == 0) { + mdIcon = new MDIcon("archive", "#ffc107"); //amber + } + else { + String[] splits = item.getName().split("\\."); + String extension = ""; + if (splits.length > 0) { + extension = splits[splits.length-1]; + } + mdIcon = IconsManager.getMDIconTextualName(extension); + } + } catch (NullPointerException e) { + _log.warn("could not get mimeType for " + itemName); String[] splits = item.getName().split("\\."); String extension = ""; if (splits.length > 0) { extension = splits[splits.length-1]; } - mdIcon = IconsManager.getMDIconTextualName(extension); + mdIcon = IconsManager.getMDIconTextualName(extension); } } item.setIconNameAndColor(mdIcon.getTextualName(), mdIcon.getColor()); } } catch(Exception e){ - _log.error("Error on getting item: "+itemName+" with id: "+workspaceItem.getId()+", from HL, so skipping item " + e.getMessage()); + _log.error("Error on getting item: "+itemName+" with id: "+workspaceItem.getId()+", from StorageHub, so skipping item " + e.getMessage()); + e.printStackTrace(); return null; } 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 58dac51..76eec52 100644 --- a/src/main/java/org/gcube/portlets/user/wswidget/StorageHubServiceUtil.java +++ b/src/main/java/org/gcube/portlets/user/wswidget/StorageHubServiceUtil.java @@ -117,7 +117,7 @@ public class StorageHubServiceUtil { query.setLimit(limit); query.setOrder(new OrderField(GenericSearchableItem.get().lastModification, MODE.DESC)); WorkspaceManagerClient wsclient = AbstractPlugin.workspace().build(); - List theChildren = wsclient.search(query, "hl:accounting", "jcr:content"); + List theChildren = wsclient.search(query, "hl:accounting"); if (theChildren == null || theChildren.isEmpty()) { toReturn.setChildren(children); diff --git a/src/main/webapp/html/vre.html b/src/main/webapp/html/vre.html new file mode 100644 index 0000000..d12581a --- /dev/null +++ b/src/main/webapp/html/vre.html @@ -0,0 +1,107 @@ + + + + Bootstrap 101 Template + + + + + + + + +
+
+
+ + + +
Lorem ipsum dolors Sidebarfooter
+
+
+
+ + + + +

Lorem VRE

+ +

+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna + aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, + no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, + sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et + accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor + sit amet.

+ + +
+ + + +

Targeted end users

+ +

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna + aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, + no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, + sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et + accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor + sit amet. +

+ +
+ + + + +

Tools

+ +
+ + +
+ +
+ +

Lorem ipsum Tools

+ +
+ + +
+ +

TLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore + et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. + Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

+ +
+ +
+ +
View
+ +
+ +
+ +
+ +
+ +
+
+
+ + + + + +