parent
a985eab0ca
commit
b7c26a733d
|
@ -155,14 +155,9 @@ public class NLPMapper extends HttpServlet {
|
||||||
private String saveResult(String jsonResult, String token, WorkspaceManager ws) throws NlpHubException {
|
private String saveResult(String jsonResult, String token, WorkspaceManager ws) throws NlpHubException {
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
String fileName = "result-nlp-" + now + ".json";
|
String fileName = "result-nlp-" + now + ".json";
|
||||||
ws.deleteFile(fileName);
|
|
||||||
|
|
||||||
byte[] byteContent = jsonResult.getBytes(StandardCharsets.UTF_8);
|
byte[] byteContent = jsonResult.getBytes(StandardCharsets.UTF_8);
|
||||||
if (!ws.uploadFile(byteContent, fileName, Constants.DEFAULT_DESCRIPTION)) {
|
String link=ws.uploadFile(byteContent, fileName, Constants.DEFAULT_DESCRIPTION);
|
||||||
throw new NlpHubException("Error writing file: " + fileName + " on workspace (token: " + token + ")", null);
|
|
||||||
}
|
|
||||||
|
|
||||||
String link = ws.getPublicLink(fileName);
|
|
||||||
|
|
||||||
logger.info("Output json [" + fileName + "] created in " + (System.currentTimeMillis() - now) + " millisec.");
|
logger.info("Output json [" + fileName + "] created in " + (System.currentTimeMillis() - now) + " millisec.");
|
||||||
return link;
|
return link;
|
||||||
|
|
|
@ -86,12 +86,9 @@ public class NLPUploader extends HttpServlet {
|
||||||
String fileName = generateFileName();
|
String fileName = generateFileName();
|
||||||
PrintWriter writer = response.getWriter();
|
PrintWriter writer = response.getWriter();
|
||||||
try {
|
try {
|
||||||
if (!ws.uploadFile(content, fileName, Constants.DEFAULT_DESCRIPTION)) {
|
|
||||||
writer.println(new JsonManager().getErrorJsonResponse(
|
String link=ws.uploadFile(content, fileName, Constants.DEFAULT_DESCRIPTION);
|
||||||
"Error uploading file. A file called '" + fileName + "' is already in the workspace?"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
String link = ws.getPublicLink(fileName);
|
|
||||||
if (langParameter != null) {
|
if (langParameter != null) {
|
||||||
String sentence = NlpUtils.getLanguageRecognizerDigest(new String(content));
|
String sentence = NlpUtils.getLanguageRecognizerDigest(new String(content));
|
||||||
logger.info(sentence);
|
logger.info(sentence);
|
||||||
|
@ -143,16 +140,9 @@ public class NLPUploader extends HttpServlet {
|
||||||
|
|
||||||
String stringContent = new String(bufferedContent);
|
String stringContent = new String(bufferedContent);
|
||||||
stringContent = NlpUtils.replaceDirtyCharacters(stringContent);
|
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);
|
String sentence = NlpUtils.getLanguageRecognizerDigest(stringContent);
|
||||||
logger.info(sentence);
|
logger.info(sentence);
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -3,16 +3,11 @@ package org.gcube.data.analysis.nlphub.workspace;
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.gcube.common.storagehub.client.dsl.FileContainer;
|
import org.gcube.common.storagehub.client.dsl.FileContainer;
|
||||||
import org.gcube.common.storagehub.client.dsl.FolderContainer;
|
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.client.dsl.StorageHubClient;
|
||||||
import org.gcube.common.storagehub.model.exceptions.StorageHubException;
|
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.gcube.data.analysis.nlphub.legacy.NlpHubException;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -20,119 +15,8 @@ import org.slf4j.LoggerFactory;
|
||||||
public class WorkspaceManager {
|
public class WorkspaceManager {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(WorkspaceManager.class);
|
private static final Logger logger = LoggerFactory.getLogger(WorkspaceManager.class);
|
||||||
|
|
||||||
public String getPublicLink(String fileName) throws NlpHubException {
|
|
||||||
|
public String uploadFile(byte[] in, String name, String description) 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<? extends Item> 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<? extends Item> 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<Item> 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 {
|
|
||||||
if (name == null || name.isEmpty()) {
|
if (name == null || name.isEmpty()) {
|
||||||
String error = "Error uploading the file, the filename is invalid: Null";
|
String error = "Error uploading the file, the filename is invalid: Null";
|
||||||
logger.error(error);
|
logger.error(error);
|
||||||
|
@ -146,13 +30,17 @@ public class WorkspaceManager {
|
||||||
try {
|
try {
|
||||||
FileContainer fileContainer = rootContainer.uploadFile(inputStream,
|
FileContainer fileContainer = rootContainer.uploadFile(inputStream,
|
||||||
name,description);
|
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) {
|
} catch (StorageHubException e) {
|
||||||
String error = "Error uploading the file " + name+ " : " + e.getLocalizedMessage();
|
String error = "Error uploading the file " + name+ " : " + e.getLocalizedMessage();
|
||||||
logger.error(error, e);
|
logger.error(error, e);
|
||||||
throw new NlpHubException(error, e);
|
throw new NlpHubException(error, e);
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue