diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java index dc1dd3c..c058ce4 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/TDGWTServiceImpl.java @@ -7926,11 +7926,13 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements ASLSession aslSession, String user, CodelistMappingSession codelistMappingSession) throws Throwable { - String importUrl = null; + String storageId = null; if (codelistMappingSession.getSource().getId() .compareTo(SourceType.URL.toString()) == 0) { - importUrl = codelistMappingSession.getUrl(); + FilesStorage filesStorage = new FilesStorage(); + storageId = filesStorage + .storageCodelistMappingTempFile(user, codelistMappingSession.getUrl()); } else { CodelistMappingFileUploadSession codelistMappingFileUploadSession = SessionUtil .getCodelistMappingFileUploadSession(session); @@ -7940,18 +7942,18 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements } logger.debug("File Storage Access"); FilesStorage filesStorage = new FilesStorage(); - String fileUrlOnStorage = filesStorage + String fileIdOnStorage = filesStorage .storageCodelistMappingTempFile(user, codelistMappingFileUploadSession .getCodelistMappingFile()); - logger.debug("File Url On Storage:" + fileUrlOnStorage); + logger.debug("File Url On Storage:" + fileIdOnStorage); codelistMappingFileUploadSession.getCodelistMappingFile().delete(); - if (fileUrlOnStorage == null || fileUrlOnStorage.isEmpty()) { + if (fileIdOnStorage == null || fileIdOnStorage.isEmpty()) { throw new TDGWTServiceException( "Tabular Data Service error loading file on storage"); } - importUrl = fileUrlOnStorage; + storageId = fileIdOnStorage; } AuthorizationProvider.instance.set(new AuthorizationToken(aslSession @@ -7970,7 +7972,7 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements checkTabularResourceIsFinal(tabularResource); OpExecution4CodelistMapping opEx = new OpExecution4CodelistMapping( - service, codelistMappingSession, importUrl); + service, codelistMappingSession, storageId); OpExecutionDirector director = new OpExecutionDirector(); director.setOperationExecutionBuilder(opEx); director.constructOperationExecution(); @@ -9035,7 +9037,7 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements ASLSession aslSession = SessionUtil.getAslSession(session); logger.debug("SaveResource(): " + saveResourceSession); - FilesStorage storage = new FilesStorage(); + String mimeType; MimeTypeSupport mimeTypeSupport = saveResourceSession.getMime(); @@ -9102,7 +9104,7 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements if (resource instanceof InternalURITD) { InternalURITD internalURITD = (InternalURITD) resource; uriResolverSession = new UriResolverSession( - internalURITD.getUrl(), applicationType, + internalURITD.getId(), applicationType, resourceTDDescriptor.getName(), internalURITD.getMimeType()); mimeType = internalURITD.getMimeType(); @@ -9132,7 +9134,8 @@ public class TDGWTServiceImpl extends RemoteServiceServlet implements + saveResourceSession.getFileDescription() + " ,mimetype:" + mimeType + " ,folder: " + saveResourceSession.getItemId() + "]"); - + + FilesStorage storage = new FilesStorage(); storage.createItemOnWorkspace(link, aslSession.getUsername(), saveResourceSession.getFileName(), saveResourceSession.getFileDescription(), mimeType, diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4CSVImport.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4CSVImport.java index e5f90cf..4c772f1 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4CSVImport.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4CSVImport.java @@ -52,7 +52,7 @@ public class OpExecution4CSVImport extends OpExecutionBuilder { String user = aslSession.getUsername(); logger.debug("Session User:" + user); - String fileUrlOnStorage = loadCSVFileOnStorage(user, + String fileIdOnStorage = loadCSVFileOnStorage(user, fileUploadSession, csvImportSession); fileUploadSession.getCsvFile().delete(); @@ -61,7 +61,7 @@ public class OpExecution4CSVImport extends OpExecutionBuilder { .map(OperationsId.CSVImport.toString(), service); Map map = new HashMap(); - map.put(Constants.PARAMETER_URL, fileUrlOnStorage); + map.put(Constants.PARAMETER_ID, fileIdOnStorage); map.put(Constants.PARAMETER_SEPARATOR, String .valueOf(fileUploadSession.getParserConfiguration() .getDelimiter()));// ',' @@ -97,7 +97,7 @@ public class OpExecution4CSVImport extends OpExecutionBuilder { private String loadCSVFileOnStorage(String user, CSVFileUploadSession fileUploadSession, CSVImportSession csvImportSession) throws TDGWTServiceException { - String fileUrlOnStorage = null; + String fileIdOnStorage = null; logger.debug("File Storage Access"); @@ -106,16 +106,16 @@ public class OpExecution4CSVImport extends OpExecutionBuilder { FilesStorage filesStorage = new FilesStorage(); - fileUrlOnStorage = filesStorage.storageCSVTempFile(user, + fileIdOnStorage = filesStorage.storageCSVTempFile(user, fileUploadSession.getCsvFile()); - logger.debug("File Url On Storage:" + fileUrlOnStorage); + logger.debug("File Url On Storage:" + fileIdOnStorage); - if (fileUrlOnStorage == null || fileUrlOnStorage.isEmpty()) { + if (fileIdOnStorage == null || fileIdOnStorage.isEmpty()) { throw new TDGWTServiceException( "Tabular Data Service error loading file on storage"); } - return fileUrlOnStorage; + return fileIdOnStorage; } } diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4CodelistMapping.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4CodelistMapping.java index 83193b2..3bb994a 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4CodelistMapping.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/opexecution/OpExecution4CodelistMapping.java @@ -31,14 +31,14 @@ public class OpExecution4CodelistMapping extends OpExecutionBuilder { private TabularDataService service; private CodelistMappingSession codelistMappingSession; - private String importUrl; + private String storageId; public OpExecution4CodelistMapping( TabularDataService service, - CodelistMappingSession codelistMappingSession, String importUrl) { + CodelistMappingSession codelistMappingSession, String storageId) { this.service = service; this.codelistMappingSession = codelistMappingSession; - this.importUrl=importUrl; + this.storageId=storageId; } @Override @@ -51,7 +51,7 @@ public class OpExecution4CodelistMapping extends OpExecutionBuilder { operationDefinition = OperationDefinitionMap.map( OperationsId.CodelistMappingImport.toString(), service); - map.put(Constants.PARAMETER_URL, importUrl); + map.put(Constants.PARAMETER_ID, storageId); ColumnData columnData=codelistMappingSession.getConnectedColumn(); long tabId; diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/resource/ResourceTDCreator.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/resource/ResourceTDCreator.java index ad6223d..ce21e84 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/resource/ResourceTDCreator.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/resource/ResourceTDCreator.java @@ -100,7 +100,7 @@ public class ResourceTDCreator { if (resourceClass == InternalURI.class) { InternalURI internalURI = (InternalURI) resource; - String url = internalURI.getUri().toString(); + String id = internalURI.getUri().toString(); Thumbnail thumbnail = internalURI.getThumbnail(); ThumbnailTD thumbnailTD=null; @@ -110,7 +110,7 @@ public class ResourceTDCreator { } - return new InternalURITD(url, + return new InternalURITD(id, internalURI.getMimeType(), thumbnailTD); } else { if (resourceClass == StringResource.class) { diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/storage/FilesStorage.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/storage/FilesStorage.java index 394b152..e57cc28 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/server/storage/FilesStorage.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/server/storage/FilesStorage.java @@ -6,6 +6,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.net.URL; import java.net.URLConnection; import org.gcube.common.homelibrary.home.HomeLibrary; @@ -33,16 +34,18 @@ public class FilesStorage { public static final Logger logger = LoggerFactory .getLogger(FilesStorage.class); - + public String storageCSVTempFile(String user, File file) { - String url = null; try { IClient client = new StorageClient(user, AccessType.PUBLIC, MemoryType.VOLATILE).getClient(); String remotePath = "/CSVimport/" + file.getName(); logger.debug("remotePath: " + remotePath); - client.put(true).LFile(file.getAbsolutePath()).RFile(remotePath); - url = client.getUrl().RFile(remotePath); + String id = client.put(true).LFile(file.getAbsolutePath()) + .RFile(remotePath); + // url = client.getUrl().RFile(remotePath); + return id; + } catch (Throwable e) { logger.error("Error no csv file loaded on storage" + e.getLocalizedMessage()); @@ -50,25 +53,57 @@ public class FilesStorage { throw e; } - return url; } public String storageCodelistMappingTempFile(String user, File file) { - String url = null; try { + // String url = null; IClient client = new StorageClient(user, AccessType.PUBLIC, MemoryType.VOLATILE).getClient(); String remotePath = "/CodelistMappingImport/" + file.getName(); logger.debug("remotePath: " + remotePath); - client.put(true).LFile(file.getAbsolutePath()).RFile(remotePath); - url = client.getUrl().RFile(remotePath); + String id = client.put(true).LFile(file.getAbsolutePath()) + .RFile(remotePath); + // url = client.getUrl().RFile(remotePath); + return id; } catch (Throwable e) { logger.error("Error no codelist mapping file loaded on storage" + e.getLocalizedMessage()); e.printStackTrace(); + throw e; + } + + } + + public String storageCodelistMappingTempFile(String user, String url) + throws TDGWTServiceException { + InputStream is = null; + try { + URL address = new URL(url); + is = address.openStream(); + + IClient client = new StorageClient(user, AccessType.PUBLIC, + MemoryType.VOLATILE).getClient(); + String remotePath = "/CodelistMappingImport/" + address.getFile(); + logger.debug("remotePath: " + remotePath); + String id = client.put(true).LFile(is).RFile(remotePath); + is.close(); + + return id; + } catch (IOException e) { + logger.error("Error no codelist mapping file loaded on storage" + + e.getLocalizedMessage()); + e.printStackTrace(); + throw new TDGWTServiceException( + "Error no codelist mapping file loaded on storage" + + e.getLocalizedMessage()); + } catch (Throwable e) { + logger.error("Error no codelist mapping file loaded on storage" + + e.getLocalizedMessage()); + e.printStackTrace(); + throw e; } - return url; } /** @@ -88,11 +123,11 @@ public class FilesStorage { try { org.gcube.common.homelibrary.home.workspace.folder.items.File gcubeItem = ((org.gcube.common.homelibrary.home.workspace.folder.items.File) wi); - SMPUrl smsHome= new SMPUrl(gcubeItem.getPublicLink()); + SMPUrl smsHome = new SMPUrl(gcubeItem.getPublicLink()); /* - Handler.activateProtocol(); - URL smsHome = null; - smsHome = new URL(gcubeItem.getPublicLink());*/ + * Handler.activateProtocol(); URL smsHome = null; smsHome = new + * URL(gcubeItem.getPublicLink()); + */ logger.debug("smsHome: [host:" + smsHome.getHost() + " path:" + smsHome.getPath() + " ref:" + smsHome.getRef() + " userinfo:" + smsHome.getUserInfo() + " ]"); @@ -145,22 +180,17 @@ public class FilesStorage { try { org.gcube.common.homelibrary.home.workspace.folder.items.File gcubeItem = ((org.gcube.common.homelibrary.home.workspace.folder.items.File) wi); - SMPUrl smsHome= new SMPUrl(gcubeItem.getPublicLink()); - + SMPUrl smsHome = new SMPUrl(gcubeItem.getPublicLink()); + /* - Handler.activateProtocol(); - URL smsHome = null; - smsHome = new URL(null, gcubeItem.getPublicLink(), - new URLStreamHandler() { - - @Override - protected URLConnection openConnection(URL u) - throws IOException { - return new SMPURLConnection(u); - } - - }); - */ + * Handler.activateProtocol(); URL smsHome = null; smsHome = new + * URL(null, gcubeItem.getPublicLink(), new URLStreamHandler() { + * + * @Override protected URLConnection openConnection(URL u) throws + * IOException { return new SMPURLConnection(u); } + * + * }); + */ logger.debug("smsHome: [host:" + smsHome.getHost() + " path:" + smsHome.getPath() + " ref:" + smsHome.getRef() + " userinfo:" + smsHome.getUserInfo() + " ]"); @@ -193,20 +223,17 @@ public class FilesStorage { throws TDGWTServiceException { InputStream is = null; try { - - SMPUrl smsHome= new SMPUrl(uri); + + SMPUrl smsHome = new SMPUrl(uri); /* - Handler.activateProtocol(); - URL smsHome = null; - smsHome = new URL(null, uri, new URLStreamHandler() { - - @Override - protected URLConnection openConnection(URL u) - throws IOException { - return new SMPURLConnection(u); - } - - });*/ + * Handler.activateProtocol(); URL smsHome = null; smsHome = new + * URL(null, uri, new URLStreamHandler() { + * + * @Override protected URLConnection openConnection(URL u) throws + * IOException { return new SMPURLConnection(u); } + * + * }); + */ logger.debug("smsHome: [host:" + smsHome.getHost() + " path:" + smsHome.getPath() + " ref:" + smsHome.getRef() @@ -242,24 +269,22 @@ public class FilesStorage { InputStream is = null; try { - SMPUrl smsHome= new SMPUrl(uri); - + SMPUrl smsHome = new SMPUrl(uri); + /* - URL smsHome = new SMPUrl(); - smsHome = new URL(null, uri, new URLStreamHandler() { - - @Override - protected URLConnection openConnection(URL u) - throws IOException { - return new SMPURLConnection(u); - } - - });*/ + * URL smsHome = new SMPUrl(); smsHome = new URL(null, uri, new + * URLStreamHandler() { + * + * @Override protected URLConnection openConnection(URL u) throws + * IOException { return new SMPURLConnection(u); } + * + * }); + */ logger.debug("smsHome: [host:" + smsHome.getHost() + " path:" + smsHome.getPath() + " ref:" + smsHome.getRef() + " userinfo:" + smsHome.getUserInfo() + " ]"); - + URLConnection uc = null; uc = (URLConnection) smsHome.openConnection(); is = uc.getInputStream(); diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/Constants.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/Constants.java index daf678b..130a3bc 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/Constants.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/Constants.java @@ -27,10 +27,10 @@ public class Constants { public static final String PARAMETER_VIEW_COLUMNS ="useView"; public static final String PARAMETER_COLUMNS = "columns"; public static final String PARAMETER_URL = "url"; - + public static final String PARAMETER_ID = "id"; + public static final String PARAMETER_REGISTRYBASEURL = "registryBaseUrl"; public static final String PARAMETER_AGENCY = "agency"; - public static final String PARAMETER_ID = "id"; public static final String PARAMETER_VERSION = "version"; public static final String PARAMETER_DATA_TYPE = "dataType"; diff --git a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/resources/InternalURITD.java b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/resources/InternalURITD.java index 0df9d5d..5576c04 100644 --- a/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/resources/InternalURITD.java +++ b/src/main/java/org/gcube/portlets/user/td/gwtservice/shared/tr/resources/InternalURITD.java @@ -11,7 +11,7 @@ import org.gcube.portlets.user.td.widgetcommonevent.shared.thumbnail.ThumbnailTD public class InternalURITD extends ResourceTD { private static final long serialVersionUID = -3230438212164027113L; - private String url; + private String id; private String mimeType; @@ -24,27 +24,26 @@ public class InternalURITD extends ResourceTD { /** * * @param fileId - * @param url + * @param id */ - public InternalURITD(String url, - String mimeType, ThumbnailTD thumbnailTD) { - super(url); - this.url = url; - this.mimeType=mimeType; - this.thumbnailTD=thumbnailTD; + public InternalURITD(String id, String mimeType, ThumbnailTD thumbnailTD) { + super(id); + this.id = id; + this.mimeType = mimeType; + this.thumbnailTD = thumbnailTD; } @Override public String getStringValue() { - return url; + return id; } - public String getUrl() { - return url; + public String getId() { + return id; } - public void setUrl(String url) { - this.url = url; + public void setId(String id) { + this.id = id; } public String getMimeType() { @@ -65,12 +64,8 @@ public class InternalURITD extends ResourceTD { @Override public String toString() { - return "InternalURITD [url=" + url + ", mimeType=" + mimeType + return "InternalURITD [id=" + id + ", mimeType=" + mimeType + ", thumbnailTD=" + thumbnailTD + "]"; } - - - - }