diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..1945bc0
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.project b/.project
new file mode 100644
index 0000000..19dcfb5
--- /dev/null
+++ b/.project
@@ -0,0 +1,23 @@
+
+
+ storagehub-icons-library
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..f9fe345
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/test/java=UTF-8
+encoding/=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e52a276
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/distro/LICENSE b/distro/LICENSE
new file mode 100644
index 0000000..2d9616a
--- /dev/null
+++ b/distro/LICENSE
@@ -0,0 +1 @@
+${gcube.license}
\ No newline at end of file
diff --git a/distro/README b/distro/README
new file mode 100644
index 0000000..b13a32d
--- /dev/null
+++ b/distro/README
@@ -0,0 +1,62 @@
+The gCube System - ${name}
+--------------------------------------------------
+
+${description}
+
+
+${gcube.description}
+
+${gcube.funding}
+
+
+Version
+--------------------------------------------------
+
+${version} (${buildDate})
+
+Please see the file named "changelog.xml" in this directory for the release notes.
+
+
+Authors
+--------------------------------------------------
+
+* Massimiliano Assante (massimiliano.assante@isti.cnr.it), Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo" - CNR, Pisa (Italy).
+
+Maintainers
+-----------
+
+* Massimiliano Assante (massimiliano.assante@isti.cnr.it), Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo" - CNR, Pisa (Italy).
+
+Download information
+--------------------------------------------------
+
+Source code is available from SVN:
+ ${scm.url}
+
+Binaries can be downloaded from the gCube website:
+ ${gcube.website}
+
+
+Installation
+--------------------------------------------------
+
+Installation documentation is available on-line in the gCube Wiki:
+ ${gcube.wikiRoot}
+
+Documentation
+--------------------------------------------------
+
+Documentation is available on-line in the gCube Wiki:
+ ${gcube.wikiRoot}
+
+Support
+--------------------------------------------------
+
+Bugs and support requests can be reported in the gCube issue tracking tool:
+ ${gcube.issueTracking}
+
+
+Licensing
+--------------------------------------------------
+
+This software is licensed under the terms you may find in the file named "LICENSE" in this directory.
\ No newline at end of file
diff --git a/distro/changelog.xml b/distro/changelog.xml
new file mode 100644
index 0000000..55f57ae
--- /dev/null
+++ b/distro/changelog.xml
@@ -0,0 +1,6 @@
+
+
+ First Release
+
+
diff --git a/distro/descriptor.xml b/distro/descriptor.xml
new file mode 100644
index 0000000..b3f5628
--- /dev/null
+++ b/distro/descriptor.xml
@@ -0,0 +1,31 @@
+
+ servicearchive
+
+ tar.gz
+
+ /
+
+
+ ${distroDirectory}
+ /
+ true
+
+ README
+ LICENSE
+ changelog.xml
+ profile.xml
+
+ 755
+ true
+
+
+
+
+ target/${build.finalName}.${project.packaging}
+ /${artifactId}
+
+
+
\ No newline at end of file
diff --git a/distro/profile.xml b/distro/profile.xml
new file mode 100644
index 0000000..acf5f1d
--- /dev/null
+++ b/distro/profile.xml
@@ -0,0 +1,25 @@
+
+
+
+ Service
+
+ ${Description}
+ Portal
+ ${artifactId}
+ ${version}
+
+
+ ${artifactId}
+ ${version}
+
+ ${groupId}
+ ${artifactId}
+ ${version}
+
+
+ target/${build.finalName}.jar
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..2dc4c73
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,173 @@
+
+ 4.0.0
+
+ maven-parent
+ org.gcube.tools
+ 1.0.0
+
+
+
+ org.gcube.portal
+ storagehub-support-library
+ 1.0.0-SNAPSHOT
+ jar
+
+ storagehub-support-library
+
+ storagehub support library exposes API for getting the correct file icon depending on the file name
+
+
+ scm:svn:http://svn.d4science.research-infrastructures.eu/gcube/trunk/portal/${project.artifactId}
+ scm:https://svn.d4science.research-infrastructures.eu/gcube/trunk/trunk/portal/${project.artifactId}
+ http://svn.d4science.research-infrastructures.eu/gcube/trunk/portal/${project.artifactId}
+
+
+ distro
+ 1.7
+ 1.8
+ 2.7.0
+ UTF-8
+ UTF-8
+ 1.1.1
+ 4.3
+
+
+
+
+ org.gcube.distribution
+ maven-portal-bom
+ LATEST
+ pom
+ import
+
+
+
+
+
+
+ com.google.gwt
+ gwt-user
+ ${gwtVersion}
+ provided
+
+
+ junit
+ junit
+ 4.8
+ test
+
+
+ org.slf4j
+ slf4j-log4j12
+
+
+ org.slf4j
+ slf4j-api
+
+
+
+
+
+ src/main/java
+
+ **/*.*
+
+
+
+ src/main/resources
+
+ settings.properties
+
+ etc
+
+
+
+
+ maven-compiler-plugin
+ 3.0
+
+ ${maven.compiler.source}
+ ${maven.compiler.target}
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.6
+
+
+
+ test-jar
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.12
+
+ true
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.5
+
+
+ copy-profile
+ install
+
+ copy-resources
+
+
+ target
+
+
+ ${distroDirectory}
+ true
+
+ profile.xml
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 2.2
+
+
+ ${distroDirectory}/descriptor.xml
+
+
+
+ fully.qualified.MainClass
+
+
+
+
+
+ servicearchive
+ install
+
+ single
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/org/gcube/portal/stohubicons/IconsManager.java b/src/main/java/org/gcube/portal/stohubicons/IconsManager.java
new file mode 100644
index 0000000..2793c45
--- /dev/null
+++ b/src/main/java/org/gcube/portal/stohubicons/IconsManager.java
@@ -0,0 +1,91 @@
+package org.gcube.portal.stohubicons;
+
+import org.gcube.portal.stohubicons.shared.MDIcon;
+
+/**
+ *
+ * @author M. Assante CNR
+ *
+ * makes it easy to incorporate icons into your web page. Here’s a small example: <i class="material-icons">face</i>
+ * Please note: for make this work you must install material-design-icons:
+ * The easiest way to set up icon fonts for use in any web page is through Google Web Fonts. All you need to do is include a single line of HTML:
+ * <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
+ *
+ * More information and othere ways to setup MD Icons @see http://google.github.io/material-design-icons/
+ *
+ */
+public class IconsManager {
+ /**
+ *
+ * @param isShared true is the folder is shared
+ * @return the html related to the private or shared Folders
+ */
+ public static MDIcon getIconFolder(boolean isShared) {
+ if (isShared)
+ return new MDIcon("folder_shared", "#8F8F8F"); //darker gray
+ else
+ return new MDIcon("folder", "#8F8F8F"); //darker gray
+ }
+ /**
+ *
+ * @return the html related to the VRE Folders
+ */
+ public static MDIcon getIconVREFolder() {
+ return new MDIcon("folder_special", "#8F8F8F"); //darker gray
+ }
+ /**
+ *
+ * easy to incorporate icons into your web page. Here’s a small example: <i class="material-icons">face</i>
+ * @see http://google.github.io/material-design-icons/
+ * @param filenameWithExtension the file name with extension
+ * @return the Material Design Icon textual name to be placed within any <i class="material-icons"> $The Returned Material Design Icon Textual Name </i>
+ */
+ public static MDIcon getMDIconTextualName(String filenameWithExtension) {
+ String[] splits = filenameWithExtension.split("\\.");
+ String extension = "";
+ if (splits.length > 0) {
+ extension = splits[splits.length-1];
+ }
+ if (extension == null || extension.compareTo("") == 0)
+ return new MDIcon("insert_drive_file", "#CCC"); //gray
+
+ extension = extension.toLowerCase();
+ if (extension.equals( "doc") ||extension.equals( "docx"))
+ return new MDIcon("description", "#0277bd"); // light-blue darken-3
+ if (extension.equals( "xls") ||extension.equals( "xlsx"))
+ return new MDIcon("description", "#4caf50"); //green
+ if (extension.equals( "rtf") ||extension.equals( "txt"))
+ return new MDIcon("description", "#CCC"); //gray
+ if (extension.equals( "csv"))
+ return new MDIcon("assessment", "#283593"); //blue
+ if (extension.equals( "ics"))
+ return new MDIcon("calendar_today", "#f44336");
+ if (extension.equals( "ppt") ||extension.equals( "pptx"))
+ return new MDIcon("description", "#fb8c00"); //orange
+ if (extension.equals( "pdf"))
+ return new MDIcon("picture_as_pdf", "#f44336"); //red
+ if (extension.equals( "jpg") ||extension.equals( "jpeg")
+ || extension.equals( "gif")
+ || extension.equals( "bmp")
+ || extension.equals( "png")
+ || extension.equals( "tif")
+ ||extension.equals( "tiff")
+ )
+ return new MDIcon("panorama", "#d81b60"); //fuxia
+ if (extension.equals( "avi") ||extension.equals( "mp4") || extension.equals( "mpeg") || extension.equals( "mkv"))
+ return new MDIcon("movie_creation", "#90caf9");
+ if (extension.equals( "html") ||extension.equals( "htm") || extension.equals( "jsp") || extension.equals( "asp") || extension.equals( "php"))
+ return new MDIcon("web", "#0277bd");
+ if (extension.equals( "rar")
+ || extension.equals( "zip")
+ || extension.equals( "tar")
+ || extension.equals( "tar.gz")
+ || extension.equals( "cpgz")
+ || extension.equals( "gz")
+ || extension.equals( "jar")
+ )
+ return new MDIcon("archive", "#ffc107"); //amber
+
+ return new MDIcon("insert_drive_file", "#CCC"); //gray
+ }
+}
diff --git a/src/main/java/org/gcube/portal/stohubicons/StorageHubIcons.gwt.xml b/src/main/java/org/gcube/portal/stohubicons/StorageHubIcons.gwt.xml
new file mode 100644
index 0000000..2daa983
--- /dev/null
+++ b/src/main/java/org/gcube/portal/stohubicons/StorageHubIcons.gwt.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/MDIcon.java b/src/main/java/org/gcube/portal/stohubicons/shared/MDIcon.java
new file mode 100644
index 0000000..f643b8f
--- /dev/null
+++ b/src/main/java/org/gcube/portal/stohubicons/shared/MDIcon.java
@@ -0,0 +1,50 @@
+package org.gcube.portal.stohubicons.shared;
+
+import java.io.Serializable;
+
+/**
+ *
+ * @author M. Assante, CNR-ISTI
+ *
+ * easy to incorporate icons into your web page. Here’s a small example: <i class="material-icons">face</i>
+ * @see http://google.github.io/material-design-icons/
+ * object representing Material Design Icon <i class="material-icons"> $The Returned Material Design Icon Textual Name </i>
+ */
+@SuppressWarnings("serial")
+public class MDIcon implements Serializable {
+
+ private StringBuilder html;
+ private String textualName;
+ private String color;
+
+ public MDIcon(String textualName, String color) {
+ this.html = new StringBuilder
+ ("")
+ .append(textualName)
+ .append("");
+ this.textualName = textualName;
+ this.color = color;
+ }
+
+ public String getHtml() {
+ return html.toString();
+ }
+
+ public String getTextualName() {
+ return textualName;
+ }
+
+ public void setTextualName(String textualName) {
+ this.textualName = textualName;
+ }
+
+ public String getColor() {
+ return color;
+ }
+
+ public void setColor(String color) {
+ this.color = color;
+ }
+}
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/CALENDAR.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/CALENDAR.png
new file mode 100644
index 0000000..69ebccb
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/CALENDAR.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/CSV.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/CSV.png
new file mode 100644
index 0000000..0e16aec
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/CSV.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/DOC.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/DOC.png
new file mode 100644
index 0000000..d7a6a56
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/DOC.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/FOLDER.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/FOLDER.png
new file mode 100644
index 0000000..da18452
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/FOLDER.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/GWTIconsManager.java b/src/main/java/org/gcube/portal/stohubicons/shared/resources/GWTIconsManager.java
new file mode 100644
index 0000000..8fcd35f
--- /dev/null
+++ b/src/main/java/org/gcube/portal/stohubicons/shared/resources/GWTIconsManager.java
@@ -0,0 +1,86 @@
+package org.gcube.portal.stohubicons.shared.resources;
+
+import com.google.gwt.resources.client.ImageResource;
+/**
+ *
+ * @author M. Assante, CNR-ISTI
+ * class to be used in GWT for getting image resource
+ */
+public class GWTIconsManager {
+ /**
+ *
+ * @param isShared true is the folder is shared
+ * @return the ImageResource instance related to the private or shared Folders
+ */
+ public static ImageResource getIconFolder(boolean isShared) {
+ if (isShared)
+ return StorageHubIconResources.INSTANCE.SHARED_FOLDER();
+ else
+ return StorageHubIconResources.INSTANCE.FOLDER();
+ }
+ /**
+ *
+ * @return the ImageResource instance related to the VRE Folders
+ */
+ public static ImageResource getIconVREFolder() {
+ return StorageHubIconResources.INSTANCE.VRE_FOLDER();
+ }
+ /**
+ *
+ * @param filenameWithExtension
+ * @return the ImageResource instance related to the file extension
+ * @throws IllegalArgumentException
+ */
+ public static ImageResource getIconFile(String filenameWithExtension) throws IllegalArgumentException {
+ if(filenameWithExtension==null || filenameWithExtension.compareTo("") == 0)
+ throw new IllegalArgumentException("The file name is null or empty");
+
+ String[] splits = filenameWithExtension.split("\\.");
+ String extension = "";
+ if (splits.length > 0) {
+ extension = splits[splits.length-1];
+ }
+ if (extension == null || extension.compareTo("") == 0)
+ return StorageHubIconResources.INSTANCE.unknown();
+
+ extension = extension.toLowerCase();
+ if (extension.equals( "doc") ||extension.equals( "docx"))
+ return StorageHubIconResources.INSTANCE.DOC();
+ else if (extension.equals( "rtf") ||extension.equals( "txt"))
+ return StorageHubIconResources.INSTANCE.TXT();
+ else if (extension.equals( "xls") ||extension.equals( "xlsx"))
+ return StorageHubIconResources.INSTANCE.XLS();
+ else if (extension.equals( "csv"))
+ return StorageHubIconResources.INSTANCE.CSV();
+ else if (extension.equals( "ics"))
+ return StorageHubIconResources.INSTANCE.CALENDAR();
+ else if (extension.equals( "ppt") ||extension.equals( "pptx"))
+ return StorageHubIconResources.INSTANCE.PPT();
+ else if (extension.equals( "pdf"))
+ return StorageHubIconResources.INSTANCE.PDF();
+ else if (extension.equals( "jpg") ||extension.equals( "jpeg")
+ || extension.equals( "gif")
+ || extension.equals( "bmp")
+ || extension.equals( "png")
+ || extension.equals( "tif")
+ ||extension.equals( "tiff")
+ )
+ return StorageHubIconResources.INSTANCE.IMAGE();
+ else if (extension.equals( "avi") ||extension.equals( "mp4") || extension.equals( "mpeg") || extension.equals( "mkv"))
+ return StorageHubIconResources.INSTANCE.MOVIE();
+ else if (extension.equals( "html") ||extension.equals( "htm") || extension.equals( "jsp") || extension.equals( "asp") || extension.equals( "php"))
+ return StorageHubIconResources.INSTANCE.HTML();
+ else if (extension.equals( "rar")
+ || extension.equals( "zip")
+ || extension.equals( "tar")
+ || extension.equals( "tar.gz")
+ || extension.equals( "cpgz")
+ || extension.equals( "gz")
+ || extension.equals( "jar")
+ )
+ return StorageHubIconResources.INSTANCE.ARCHIVE();
+ else
+ return StorageHubIconResources.INSTANCE.unknown();
+ }
+}
+
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/HTML.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/HTML.png
new file mode 100644
index 0000000..5da12da
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/HTML.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/IMAGE.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/IMAGE.png
new file mode 100644
index 0000000..4d568d0
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/IMAGE.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/MOVIE.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/MOVIE.png
new file mode 100644
index 0000000..1d3ed56
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/MOVIE.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/PDF.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/PDF.png
new file mode 100644
index 0000000..4b10970
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/PDF.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/PPTX.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/PPTX.png
new file mode 100644
index 0000000..6b5bf2e
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/PPTX.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/SHARED_FOLDER.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/SHARED_FOLDER.png
new file mode 100644
index 0000000..84bbc0f
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/SHARED_FOLDER.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/StorageHubIconResources.java b/src/main/java/org/gcube/portal/stohubicons/shared/resources/StorageHubIconResources.java
new file mode 100644
index 0000000..cd42648
--- /dev/null
+++ b/src/main/java/org/gcube/portal/stohubicons/shared/resources/StorageHubIconResources.java
@@ -0,0 +1,79 @@
+/**
+ *
+ */
+package org.gcube.portal.stohubicons.shared.resources;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.resources.client.ClientBundle;
+import com.google.gwt.resources.client.ImageResource;
+
+
+public interface StorageHubIconResources extends ClientBundle {
+ public static final StorageHubIconResources INSTANCE = GWT.create(StorageHubIconResources.class);
+
+ @Source("FOLDER.png")
+ ImageResource FOLDER();
+
+ @Source("SHARED_FOLDER.png")
+ ImageResource SHARED_FOLDER();
+
+ @Source("SHARED_FOLDER.png")
+ ImageResource VRE_FOLDER();
+
+ @Source("DOC.png")
+ ImageResource DOC();
+
+ @Source("PPTX.png")
+ ImageResource PPT();
+
+ @Source("XLS.png")
+ ImageResource XLS();
+
+ @Source("CSV.png")
+ ImageResource CSV();
+
+ @Source("CALENDAR.png")
+ ImageResource CALENDAR();
+
+ @Source("PDF.png")
+ ImageResource PDF();
+
+ @Source("IMAGE.png")
+ ImageResource IMAGE();
+
+ @Source("TXT.png")
+ ImageResource TXT();
+
+ @Source("MOVIE.png")
+ ImageResource MOVIE();
+
+ @Source("HTML.png")
+ ImageResource HTML();
+
+ @Source("ZIP.png")
+ ImageResource ARCHIVE();
+
+ @Source("external_resource_link.png")
+ ImageResource external_resource_link();
+
+ @Source("external_url.png")
+ ImageResource external_url();
+
+ @Source("metadata.png")
+ ImageResource metadata();
+
+ @Source("timeseries.png")
+ ImageResource timeseries();
+
+ @Source("aquamaps.png")
+ ImageResource aquamaps();
+
+ @Source("UNKNOWN.png")
+ ImageResource unknownType();
+
+ @Source("gcubeItem.jpeg")
+ ImageResource gucbeItem();
+
+ @Source("UNKNOWN.png")
+ ImageResource unknown();
+}
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/TXT.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/TXT.png
new file mode 100644
index 0000000..3009bbf
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/TXT.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/UNKNOWN.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/UNKNOWN.png
new file mode 100644
index 0000000..1a3581e
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/UNKNOWN.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/XLS.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/XLS.png
new file mode 100644
index 0000000..61be23a
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/XLS.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/ZIP.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/ZIP.png
new file mode 100644
index 0000000..d5624f3
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/ZIP.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/aquamaps.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/aquamaps.png
new file mode 100644
index 0000000..25a4da6
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/aquamaps.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/external_resource_link.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/external_resource_link.png
new file mode 100644
index 0000000..6224d01
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/external_resource_link.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/external_url.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/external_url.png
new file mode 100644
index 0000000..25eacb7
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/external_url.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/gcubeItem.jpeg b/src/main/java/org/gcube/portal/stohubicons/shared/resources/gcubeItem.jpeg
new file mode 100644
index 0000000..bd354b0
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/gcubeItem.jpeg differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/metadata.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/metadata.png
new file mode 100644
index 0000000..0c76bd1
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/metadata.png differ
diff --git a/src/main/java/org/gcube/portal/stohubicons/shared/resources/timeseries.png b/src/main/java/org/gcube/portal/stohubicons/shared/resources/timeseries.png
new file mode 100644
index 0000000..abcd936
Binary files /dev/null and b/src/main/java/org/gcube/portal/stohubicons/shared/resources/timeseries.png differ
diff --git a/src/main/resources/org/gcube/portal/stohubicons/StorageHubIcons.gwt.xml b/src/main/resources/org/gcube/portal/stohubicons/StorageHubIcons.gwt.xml
new file mode 100644
index 0000000..2daa983
--- /dev/null
+++ b/src/main/resources/org/gcube/portal/stohubicons/StorageHubIcons.gwt.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/test/java/org/gcube/portal/stohubsupport/AppTest.java b/src/test/java/org/gcube/portal/stohubsupport/AppTest.java
new file mode 100644
index 0000000..28bf58f
--- /dev/null
+++ b/src/test/java/org/gcube/portal/stohubsupport/AppTest.java
@@ -0,0 +1,38 @@
+package org.gcube.portal.stohubsupport;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}