Updated task in background
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-gwt-service@101262 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
1f626c7e87
commit
467f0d717e
|
@ -27,6 +27,7 @@ import org.gcube.portlets.user.td.gwtservice.server.trservice.WorkerStateMap;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.csv.CSVExportSession;
|
import org.gcube.portlets.user.td.gwtservice.shared.csv.CSVExportSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTServiceException;
|
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTServiceException;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException;
|
import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException;
|
||||||
|
import org.gcube.portlets.user.td.gwtservice.shared.json.JSONExportSession;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.task.JobS;
|
import org.gcube.portlets.user.td.gwtservice.shared.task.JobS;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.task.State;
|
import org.gcube.portlets.user.td.gwtservice.shared.task.State;
|
||||||
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskS;
|
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskS;
|
||||||
|
@ -254,6 +255,23 @@ public class BackgroundOperationMonitorCreator {
|
||||||
logger.debug("ExportMetadata: " + exportMetadata);
|
logger.debug("ExportMetadata: " + exportMetadata);
|
||||||
operationMonitor.setTrId(SessionUtil.getTRId(session));
|
operationMonitor.setTrId(SessionUtil.getTRId(session));
|
||||||
break;
|
break;
|
||||||
|
case JSONExport:
|
||||||
|
table = taskWrapper.getTask().getResult().getPrimaryTable();
|
||||||
|
logger.debug("Table retrived: " + table.toString());
|
||||||
|
exportMetadata = table.getMetadata(ExportMetadata.class);
|
||||||
|
logger.debug("ExportMetadata: " + exportMetadata);
|
||||||
|
|
||||||
|
operationMonitor.setTrId(SessionUtil.getTRId(session));
|
||||||
|
|
||||||
|
trExportMetadata = new TabExportMetadata();
|
||||||
|
trExportMetadata.setUrl(exportMetadata.getUri());
|
||||||
|
trExportMetadata.setDestinationType(exportMetadata
|
||||||
|
.getDestinationType());
|
||||||
|
trExportMetadata.setExportDate(sdf.format(exportMetadata
|
||||||
|
.getExportDate()));
|
||||||
|
|
||||||
|
saveJSONExportInDestination(exportMetadata);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
trId = new TRId();
|
trId = new TRId();
|
||||||
trId.setId(taskWrapper.getTrId().getId());
|
trId.setId(taskWrapper.getTrId().getId());
|
||||||
|
@ -381,4 +399,50 @@ public class BackgroundOperationMonitorCreator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save export json data on Workspace
|
||||||
|
*
|
||||||
|
* @param session
|
||||||
|
* @param user
|
||||||
|
* @param exportMetadata
|
||||||
|
* @param exportSession
|
||||||
|
* @throws TDGWTServiceException
|
||||||
|
*/
|
||||||
|
protected void saveJSONExportInDestination(ExportMetadata exportMetadata)
|
||||||
|
throws TDGWTServiceException {
|
||||||
|
JSONExportSession exportSession = SessionUtil
|
||||||
|
.getJSONExportSession(session);
|
||||||
|
String user = aslSession.getUsername();
|
||||||
|
|
||||||
|
logger.debug("Save Export In Destination");
|
||||||
|
logger.debug("Destination: " + exportSession.getDestination().getId());
|
||||||
|
|
||||||
|
if (exportSession.getDestination().getId().compareTo("Workspace") == 0) {
|
||||||
|
logger.debug("Save on Workspace");
|
||||||
|
boolean end = SessionUtil.getJSONExportEnd(session);
|
||||||
|
if (end == false) {
|
||||||
|
SessionUtil.setJSONExportEnd(session, true);
|
||||||
|
FilesStorage storage = new FilesStorage();
|
||||||
|
logger.debug("Create Item On Workspace: [ uri: "
|
||||||
|
+ exportMetadata.getUri() + " ,user: " + user
|
||||||
|
+ " ,fileName: " + exportSession.getFileName()
|
||||||
|
+ " ,fileDescription: "
|
||||||
|
+ exportSession.getFileDescription()
|
||||||
|
+ " ,mimetype: application/json" + " ,folder: "
|
||||||
|
+ exportSession.getItemId() + "]");
|
||||||
|
storage.createItemOnWorkspace(exportMetadata.getUri(), user,
|
||||||
|
exportSession.getFileName(),
|
||||||
|
exportSession.getFileDescription(), "application/json",
|
||||||
|
exportSession.getItemId());
|
||||||
|
|
||||||
|
} else {
|
||||||
|
logger.debug("getJSONExportEnd(): true");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.error("Destination No Present");
|
||||||
|
throw new TDGWTServiceException(
|
||||||
|
"Error in export json: no destination present");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue