diff --git a/src/main/java/org/gcube/common/storagehubwrapper/server/WorkspaceStorageHubClientService.java b/src/main/java/org/gcube/common/storagehubwrapper/server/WorkspaceStorageHubClientService.java index 623c2be..b33f798 100644 --- a/src/main/java/org/gcube/common/storagehubwrapper/server/WorkspaceStorageHubClientService.java +++ b/src/main/java/org/gcube/common/storagehubwrapper/server/WorkspaceStorageHubClientService.java @@ -3,7 +3,6 @@ */ package org.gcube.common.storagehubwrapper.server; -import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; @@ -869,7 +868,7 @@ public final class WorkspaceStorageHubClientService implements Workspace{ try{ byte[] thumbBytes = storageHubClientService.getThumbnailData(itemId); - return new org.gcube.common.storagehubwrapper.shared.tohl.impl.StreamDescriptor(new ByteArrayInputStream(thumbBytes), null, new Long(thumbBytes.length)); + return new org.gcube.common.storagehubwrapper.shared.tohl.impl.StreamDescriptor(WrapperUtility.toInputStream(thumbBytes), null, new Long(thumbBytes.length)); }catch(Exception e){ logger.error("Error on getThumbnailData for: "+itemId, e); diff --git a/src/main/java/org/gcube/common/storagehubwrapper/server/WrapperUtility.java b/src/main/java/org/gcube/common/storagehubwrapper/server/WrapperUtility.java new file mode 100644 index 0000000..2b5c5cc --- /dev/null +++ b/src/main/java/org/gcube/common/storagehubwrapper/server/WrapperUtility.java @@ -0,0 +1,45 @@ +/** + * + */ + +package org.gcube.common.storagehubwrapper.server; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it Oct 17, 2018 + */ +public class WrapperUtility { + + + /** + * To input stream. + * + * @param content the content + * @return the input stream + */ + public static InputStream toInputStream(byte[] content) { + + int size = content.length; + InputStream is = null; + byte[] b = new byte[size]; + try { + is = new ByteArrayInputStream(content); + is.read(b); + return is; + } + catch (IOException e) { + return null; + } + finally { + try { + if (is != null) + is.close(); + } + catch (Exception ex) { + } + } + } +}