diff --git a/src/main/java/org/gcube/data/analysis/nlphub/NLPMapper.java b/src/main/java/org/gcube/data/analysis/nlphub/NLPMapper.java index a52c66e..66ccf77 100644 --- a/src/main/java/org/gcube/data/analysis/nlphub/NLPMapper.java +++ b/src/main/java/org/gcube/data/analysis/nlphub/NLPMapper.java @@ -155,14 +155,9 @@ public class NLPMapper extends HttpServlet { private String saveResult(String jsonResult, String token, WorkspaceManager ws) throws NlpHubException { long now = System.currentTimeMillis(); String fileName = "result-nlp-" + now + ".json"; - ws.deleteFile(fileName); byte[] byteContent = jsonResult.getBytes(StandardCharsets.UTF_8); - if (!ws.uploadFile(byteContent, fileName, Constants.DEFAULT_DESCRIPTION)) { - throw new NlpHubException("Error writing file: " + fileName + " on workspace (token: " + token + ")", null); - } - - String link = ws.getPublicLink(fileName); + String link=ws.uploadFile(byteContent, fileName, Constants.DEFAULT_DESCRIPTION); logger.info("Output json [" + fileName + "] created in " + (System.currentTimeMillis() - now) + " millisec."); return link; diff --git a/src/main/java/org/gcube/data/analysis/nlphub/NLPUploader.java b/src/main/java/org/gcube/data/analysis/nlphub/NLPUploader.java index 61b8b9e..fb45555 100644 --- a/src/main/java/org/gcube/data/analysis/nlphub/NLPUploader.java +++ b/src/main/java/org/gcube/data/analysis/nlphub/NLPUploader.java @@ -86,12 +86,9 @@ public class NLPUploader extends HttpServlet { String fileName = generateFileName(); PrintWriter writer = response.getWriter(); try { - if (!ws.uploadFile(content, fileName, Constants.DEFAULT_DESCRIPTION)) { - writer.println(new JsonManager().getErrorJsonResponse( - "Error uploading file. A file called '" + fileName + "' is already in the workspace?")); - return; - } - String link = ws.getPublicLink(fileName); + + String link=ws.uploadFile(content, fileName, Constants.DEFAULT_DESCRIPTION); + if (langParameter != null) { String sentence = NlpUtils.getLanguageRecognizerDigest(new String(content)); logger.info(sentence); @@ -143,16 +140,9 @@ public class NLPUploader extends HttpServlet { String stringContent = new String(bufferedContent); stringContent = NlpUtils.replaceDirtyCharacters(stringContent); - + + String link=ws.uploadFile(stringContent.getBytes(), fileName, Constants.DEFAULT_DESCRIPTION); - - if (!ws.uploadFile(stringContent.getBytes(), fileName, Constants.DEFAULT_DESCRIPTION)) { - writer.println(new JsonManager().getErrorJsonResponse( - "Error uploading file called '" + fileName + "'. ")); - return; - } - - String link = ws.getPublicLink(fileName); String sentence = NlpUtils.getLanguageRecognizerDigest(stringContent); logger.info(sentence); try { diff --git a/src/main/java/org/gcube/data/analysis/nlphub/workspace/WorkspaceManager.java b/src/main/java/org/gcube/data/analysis/nlphub/workspace/WorkspaceManager.java index 5ff9eec..de18c61 100644 --- a/src/main/java/org/gcube/data/analysis/nlphub/workspace/WorkspaceManager.java +++ b/src/main/java/org/gcube/data/analysis/nlphub/workspace/WorkspaceManager.java @@ -3,16 +3,11 @@ package org.gcube.data.analysis.nlphub.workspace; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.net.URL; -import java.util.List; import org.gcube.common.storagehub.client.dsl.FileContainer; import org.gcube.common.storagehub.client.dsl.FolderContainer; -import org.gcube.common.storagehub.client.dsl.ItemContainer; -import org.gcube.common.storagehub.client.dsl.ListResolver; -import org.gcube.common.storagehub.client.dsl.OpenResolver; import org.gcube.common.storagehub.client.dsl.StorageHubClient; import org.gcube.common.storagehub.model.exceptions.StorageHubException; -import org.gcube.common.storagehub.model.items.Item; import org.gcube.data.analysis.nlphub.legacy.NlpHubException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -20,119 +15,8 @@ import org.slf4j.LoggerFactory; public class WorkspaceManager { private static final Logger logger = LoggerFactory.getLogger(WorkspaceManager.class); - public String getPublicLink(String fileName) throws NlpHubException { - - if (fileName == null || fileName.isEmpty()) { - String error = "Error in get public link, the filename requested is invalid: Null"; - logger.error(error); - throw new NlpHubException(error); - } - - StorageHubClient shc = new StorageHubClient(); - FolderContainer rootContainer = shc.getWSRoot(); - - ListResolver listResolver; - try { - listResolver = rootContainer.findByName(fileName); - } catch (StorageHubException e) { - String error = "Error retrieving SH Id for file " + fileName + " : " + e.getLocalizedMessage(); - logger.error(error, e); - throw new NlpHubException(error, e); - } - - List items; - try { - items = listResolver.getItems(); - } catch (StorageHubException e) { - String error = "Error retrieving SH Id for file " + fileName + " : " + e.getLocalizedMessage(); - logger.error(error, e); - throw new NlpHubException(error, e); - } - - if (items == null || items.isEmpty()) { - String error = "Error file not found in workspace: " + fileName; - logger.error(error); - throw new NlpHubException(error); - } else { - Item item = items.get(0); - logger.debug("Item: " + item); - if (item != null) { - logger.debug("Item Id=" + item.getId()); - URL url; - try { - url = shc.open(item.getId()).asFile().getPublicLink(); - } catch (StorageHubException e) { - String error = "Error in get public link for file " + fileName + " : " + e.getLocalizedMessage(); - logger.error(error, e); - throw new NlpHubException(error, e); - } - logger.debug("getPublicLink: " + url); - return url.toString(); - } else { - String error = "Error file not found in workspace: " + fileName; - logger.error(error); - throw new NlpHubException(error); - } - } - - } - - public void deleteFile(String fileName) throws NlpHubException { - if (fileName == null || fileName.isEmpty()) { - String error = "Error in delete file, the filename requested is invalid: Null"; - logger.error(error); - throw new NlpHubException(error); - } - - StorageHubClient shc = new StorageHubClient(); - FolderContainer rootContainer = shc.getWSRoot(); - - ListResolver listResolver; - try { - listResolver = rootContainer.findByName(fileName); - } catch (StorageHubException e) { - String error = "Error retrieving SH Id for file " + fileName + " : " + e.getLocalizedMessage(); - logger.error(error, e); - throw new NlpHubException(error, e); - } - - List items; - try { - items = listResolver.getItems(); - } catch (StorageHubException e) { - String error = "Error retrieving SH Id for file " + fileName + " : " + e.getLocalizedMessage(); - logger.error(error, e); - throw new NlpHubException(error, e); - } - - if (items == null || items.isEmpty()) { - String error = "Error file not found in workspace: " + fileName; - logger.error(error); - throw new NlpHubException(error); - } else { - Item item = items.get(0); - logger.debug("Item: " + item); - if (item != null) { - logger.debug("Item Id=" + item.getId()); - try { - OpenResolver openResolver = shc.open(item.getId()); - ItemContainer itemContainer = openResolver.asItem(); - itemContainer.delete(); - } catch (StorageHubException e) { - String error = "Error in delete operation for file " + fileName + " : " + e.getLocalizedMessage(); - logger.error(error, e); - throw new NlpHubException(error, e); - } - - } else { - String error = "Error file not found in workspace: " + fileName; - logger.error(error); - throw new NlpHubException(error); - } - } - } - - public boolean uploadFile(byte[] in, String name, String description) throws NlpHubException { + + public String uploadFile(byte[] in, String name, String description) throws NlpHubException { if (name == null || name.isEmpty()) { String error = "Error uploading the file, the filename is invalid: Null"; logger.error(error); @@ -146,13 +30,17 @@ public class WorkspaceManager { try { FileContainer fileContainer = rootContainer.uploadFile(inputStream, name,description); - logger.debug("Item uploaded: " + fileContainer.get().getId()); + String itemId=fileContainer.get().getId(); + logger.debug("Item id uploaded: " +itemId ); + URL url = shc.open(itemId).asFile().getPublicLink(); + logger.debug("Item public link: " +url); + + return url.toString(); } catch (StorageHubException e) { String error = "Error uploading the file " + name+ " : " + e.getLocalizedMessage(); logger.error(error, e); throw new NlpHubException(error, e); } - return true; } }