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
This commit is contained in:
Massimiliano Assante 2018-06-06 13:13:12 +00:00
parent 8b3f6b5c25
commit c3e7566c2c
4 changed files with 135 additions and 9 deletions

View File

@ -4,9 +4,6 @@
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<dependent-module archiveName="storagehub-icons-library-1.0.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/storagehub-icons-library/storagehub-icons-library">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="context-root" value="workspace-widget-portlet"/>
<property name="java-output-path" value="/workspace-widget-portlet/target/classes"/>
</wb-module>

View File

@ -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;
}

View File

@ -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<? extends Item> theChildren = wsclient.search(query, "hl:accounting", "jcr:content");
List<? extends Item> theChildren = wsclient.search(query, "hl:accounting");
if (theChildren == null || theChildren.isEmpty()) {
toReturn.setChildren(children);

View File

@ -0,0 +1,107 @@
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 101 Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen" />
</head>
<body>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--Navigationbar-->
<div class="container-fluid">
<div class="row-fluid">
<div class="span2">
<ul class="nav nav-list">
<li>
<a class="active" href="#home">
<h3>Lorem VRE</h3>
</a>
</li>
<li><a href="#end_users"><h4>End Users</h4></a></li>
<li><a href="#tools"><h4>Tools</h4></a></li>
</ul>
<div class="sidbarfooter"> Lorem ipsum dolors Sidebarfooter</div>
</div>
<div class="span10">
<div style="padding:5px 16px;height:1000px;">
<!--Sectionlink-->
<a name="home"></a>
<!--First-Title-->
<h2>Lorem VRE</h2>
<!--First-Content-->
<p>
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.</p>
<!--HTML-line-->
<hr>
<!--Sectionlink-->
<a name="end_users"></a>
<!--Second-Title-->
<h2>Targeted end users</h2>
<!--Second-Content-->
<p>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.
</p>
<!--HTML-line-->
<hr>
<!--Sectionlink-->
<a name="tools"></a>
<!--Tool-Section-->
<h2>Tools</h2>
<!--Tool-Section-Containing Toolcards-->
<div id="Toolcontainer">
<!--Toolcard-->
<div class="Toolcard">
<!--Toolcard-Title-->
<div class="Toolcard-header">
<!--Title-->
<h3>Lorem ipsum Tools</h3>
</div>
<!--Toolcard-Content-->
<div class="Toolcard-content">
<!--Content-->
<p>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. </p>
</div>
<!--Buttons-to Tool-->
<div class="Toolcard-menu">
<!--Button with Link-->
<div class="button" onclick="window.open('http://www.loremipsum.de/');">View</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>