Skip to content
Snippets Groups Projects
Commit 1a0ebcbd authored by vkovtun's avatar vkovtun
Browse files

SSDM-13253 In progress of implementing registering the files from the session workspace.

parent 64190c33
No related branches found
No related tags found
1 merge request!40SSDM-13578 : 2PT : Database and V3 Implementation - include the new AFS "free"...
...@@ -59,6 +59,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.validation.ValidationS ...@@ -59,6 +59,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.validation.ValidationS
import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil; import ch.systemsx.cisd.openbis.dss.generic.shared.utils.DssPropertyParametersUtil;
import ch.systemsx.cisd.openbis.dss.generic.shared.utils.SegmentedStoreUtils; import ch.systemsx.cisd.openbis.dss.generic.shared.utils.SegmentedStoreUtils;
import ch.systemsx.cisd.openbis.dss.generic.shared.utils.SessionWorkspaceUtil;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.CustomImportFile; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.CustomImportFile;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseInstance; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseInstance;
...@@ -96,6 +97,9 @@ public class PutDataSetService implements IPutDataSetService ...@@ -96,6 +97,9 @@ public class PutDataSetService implements IPutDataSetService
private DatabaseInstance homeDatabaseInstance; private DatabaseInstance homeDatabaseInstance;
private File sessionWorkspace = SessionWorkspaceUtil.getSessionWorkspace(
DssPropertyParametersUtil.loadServiceProperties());
/** /**
* The designated constructor. * The designated constructor.
* *
...@@ -286,16 +290,27 @@ public class PutDataSetService implements IPutDataSetService ...@@ -286,16 +290,27 @@ public class PutDataSetService implements IPutDataSetService
String dataSetType = newDataSet.tryDataSetType(); String dataSetType = newDataSet.tryDataSetType();
ITopLevelDataSetRegistrator registrator = registratorMap.getRegistratorForType(dataSetType); ITopLevelDataSetRegistrator registrator = registratorMap.getRegistratorForType(dataSetType);
// TODO: here look in the session workspace.
File sessionUploadDir = new File(getTemporaryIncomingRoot(dataSetType), sessionToken); File sessionUploadDir = new File(getTemporaryIncomingRoot(dataSetType), sessionToken);
File uploadIdDir = new File(sessionUploadDir, uploadId); File uploadIdDir = new File(sessionUploadDir, uploadId);
System.out.println("uploadIdDir = " + uploadIdDir);
File multipleFilesUploadDir = new File(uploadIdDir, MULTIPLE_FILES_UPLOAD_DIR); File multipleFilesUploadDir = new File(uploadIdDir, MULTIPLE_FILES_UPLOAD_DIR);
System.out.println("multipleFilesUploadDir = " + multipleFilesUploadDir);
File sessionWorkspaceUploadDir = new File(sessionWorkspace, sessionToken);
System.out.println("multipleFilesUploadDir = " + multipleFilesUploadDir);
File[] uploadedFiles = null; File[] uploadedFiles = null;
File dataSet = null; File dataSet = null;
if (multipleFilesUploadDir.exists() && multipleFilesUploadDir.isDirectory()) if (multipleFilesUploadDir.isDirectory())
{ {
uploadedFiles = multipleFilesUploadDir.listFiles(); uploadedFiles = multipleFilesUploadDir.listFiles();
} else if (sessionWorkspaceUploadDir.isDirectory())
{
// TODO: use atomic move in this case.
uploadedFiles = sessionWorkspaceUploadDir.listFiles();
} }
if (uploadedFiles == null || uploadedFiles.length == 0) if (uploadedFiles == null || uploadedFiles.length == 0)
......
...@@ -65,9 +65,9 @@ public class OpenBISAPI { ...@@ -65,9 +65,9 @@ public class OpenBISAPI {
{ {
this.timeout = timeout; this.timeout = timeout;
this.asURL = asURL; this.asURL = asURL;
asFacade = HttpInvokerUtils.createServiceStub(IApplicationServerApi.class, this.asURL, timeout); asFacade = HttpInvokerUtils.createServiceStub(IApplicationServerApi.class, this.asURL + IApplicationServerApi.SERVICE_URL, timeout);
this.dssURL = dssURL; this.dssURL = dssURL;
dssFacade = HttpInvokerUtils.createServiceStub(IDataStoreServerApi.class, this.dssURL, timeout); dssFacade = HttpInvokerUtils.createServiceStub(IDataStoreServerApi.class, this.dssURL + IDataStoreServerApi.SERVICE_URL, timeout);
} }
public String getSessionToken() public String getSessionToken()
...@@ -80,6 +80,16 @@ public class OpenBISAPI { ...@@ -80,6 +80,16 @@ public class OpenBISAPI {
this.sessionToken = sessionToken; this.sessionToken = sessionToken;
} }
public String login(String userId, String password) {
String sessionToken = asFacade.login(userId, password);
setSessionToken(sessionToken);
return sessionToken;
}
public void logout() {
asFacade.logout(sessionToken);
}
private List<File> contentOf(final File item) private List<File> contentOf(final File item)
{ {
if (item.getName().startsWith(".")) if (item.getName().startsWith("."))
...@@ -136,8 +146,6 @@ public class OpenBISAPI { ...@@ -136,8 +146,6 @@ public class OpenBISAPI {
} }
/** /**
* Upload file or folder to the DSS SessionWorkspaceFileUploadServlet and return the ID to be used by createUploadedDataSet * Upload file or folder to the DSS SessionWorkspaceFileUploadServlet and return the ID to be used by createUploadedDataSet
* This method hides the complexities of uploading a folder with many files and does the uploads in chunks. * This method hides the complexities of uploading a folder with many files and does the uploads in chunks.
...@@ -230,7 +238,6 @@ public class OpenBISAPI { ...@@ -230,7 +238,6 @@ public class OpenBISAPI {
public DataSetPermId createUploadedDataSet(final UploadedDataSetCreation newDataSet) public DataSetPermId createUploadedDataSet(final UploadedDataSetCreation newDataSet)
{ {
// TODO: add to the facade the possibility to create a dataset.
return dssFacade.createUploadedDataSet(sessionToken, newDataSet); return dssFacade.createUploadedDataSet(sessionToken, newDataSet);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment