diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java index f32262e11da25ef650d363635c418282e45b9432..08f149232e89533dff3e3aef2ec05cc51c5cc855 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientService.java @@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client; import java.util.Date; import java.util.List; +import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DataSetUploadParameters; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Experiment; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExperimentIdentifier; @@ -393,8 +394,8 @@ public interface ICommonClientService extends IClientService */ public List<DataSetType> listDataSetTypes() throws UserFailureException; - /** Uploads the specified data sets to the specified CIFEX server using the specified password. */ - public void uploadDataSets(List<String> dataSetCodes, String cifexURL, String password) + /** Uploads the specified data sets to the specified CIFEX server using the specified parameters. */ + public void uploadDataSets(List<String> dataSetCodes, DataSetUploadParameters uploadParameters) throws UserFailureException; /** diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java index d5292bc55bea3e70739cfa85c8edd37810b82833..2fe492b0731af363fe76c6731623a5ae409efba5 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/ICommonClientServiceAsync.java @@ -21,6 +21,7 @@ import java.util.List; import com.google.gwt.user.client.rpc.AsyncCallback; +import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DataSetUploadParameters; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Experiment; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExperimentIdentifier; @@ -352,8 +353,8 @@ public interface ICommonClientServiceAsync extends IClientServiceAsync /** @see ICommonClientService#listDataSetTypes() */ public void listDataSetTypes(AsyncCallback<List<DataSetType>> callback); - /** @see ICommonClientService#uploadDataSets(List, String, String) */ - public void uploadDataSets(List<String> dataSetCodes, String cifexURL, String password, + /** @see ICommonClientService#uploadDataSets(List, DataSetUploadParameters) */ + public void uploadDataSets(List<String> dataSetCodes, DataSetUploadParameters uploadParameters, AsyncCallback<Void> callback); /** @see ICommonClientService#getLastModificationState() */ diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/AbstractExternalDataGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/AbstractExternalDataGrid.java index 77c754e90b045bf8266dc5011996e5b7ef7a9b94..69d98c7d116dbb41bc82c88bb90cdf47576a8a84 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/AbstractExternalDataGrid.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/data/AbstractExternalDataGrid.java @@ -25,6 +25,7 @@ import com.extjs.gxt.ui.client.event.KeyListener; import com.extjs.gxt.ui.client.event.SelectionListener; import com.extjs.gxt.ui.client.widget.Dialog; import com.extjs.gxt.ui.client.widget.button.Button; +import com.extjs.gxt.ui.client.widget.form.TextArea; import com.extjs.gxt.ui.client.widget.form.TextField; import com.extjs.gxt.ui.client.widget.toolbar.AdapterToolItem; @@ -40,6 +41,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.Ab import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IBrowserGridActionInvoker; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ICellListener; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.DataSetUtils; +import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DataSetUploadParameters; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.IColumnDefinition; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.TableExportCriteria; @@ -149,6 +151,8 @@ public abstract class AbstractExternalDataGrid extends AbstractSimpleBrowserGrid { private final String cifexURL; private final TextField<String> password; + private TextField<String> fileNameField; + private TextArea commentField; public UploadConfirmationDialog(IViewContext<?> viewContext, List<ExternalData> dataSets, IBrowserGridActionInvoker invoker) @@ -156,9 +160,13 @@ public abstract class AbstractExternalDataGrid extends AbstractSimpleBrowserGrid super(viewContext, dataSets, invoker, Dict.CONFIRM_DATASET_UPLOAD_TITLE); cifexURL = viewContext.getModel().getApplicationInfo().getCIFEXURL(); addText(viewContext.getMessage(Dict.CONFIRM_DATASET_UPLOAD_MSG, dataSets.size(), cifexURL)); + fileNameField = new TextField<String>(); + fileNameField.setSelectOnFocus(true); + add(fileNameField); + commentField = new TextArea(); + add(commentField); password = new TextField<String>(); password.setPassword(true); - password.setSelectOnFocus(true); password.setHideLabel(true); password.setWidth("100%"); password.setMaxLength(50); @@ -171,7 +179,13 @@ public abstract class AbstractExternalDataGrid extends AbstractSimpleBrowserGrid super.onButtonPressed(button); if (button.getItemId().equals(Dialog.OK)) { - viewContext.getCommonService().uploadDataSets(dataSetCodes, cifexURL, password.getValue(), + DataSetUploadParameters parameters = new DataSetUploadParameters(); + parameters.setCifexURL(cifexURL); + parameters.setFileName(fileNameField.getValue()); + parameters.setComment(commentField.getValue()); + parameters.setUserID(viewContext.getModel().getSessionContext().getUser().getUserName()); + parameters.setPassword(password.getValue()); + viewContext.getCommonService().uploadDataSets(dataSetCodes, parameters, new UploadCallback(viewContext)); } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/DataSetUploadParameters.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/DataSetUploadParameters.java new file mode 100644 index 0000000000000000000000000000000000000000..0b8ec70c82d2f423e534a7a1d254b6db0115b2b6 --- /dev/null +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/dto/DataSetUploadParameters.java @@ -0,0 +1,88 @@ +/* + * Copyright 2009 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.generic.client.web.client.dto; + +import com.google.gwt.user.client.rpc.IsSerializable; + +/** + * + * + * @author Franz-Josef Elmer + */ +public class DataSetUploadParameters implements IsSerializable +{ + private String cifexURL; + + private String fileName; + + private String userID; + + private String password; + + private String comment; + + public final String getCifexURL() + { + return cifexURL; + } + + public final void setCifexURL(String cifexURL) + { + this.cifexURL = cifexURL; + } + + public final String getFileName() + { + return fileName; + } + + public final void setFileName(String fileName) + { + this.fileName = fileName; + } + + public final String getUserID() + { + return userID; + } + + public final void setUserID(String userID) + { + this.userID = userID; + } + + public final String getPassword() + { + return password; + } + + public final void setPassword(String password) + { + this.password = password; + } + + public final String getComment() + { + return comment; + } + + public final void setComment(String comment) + { + this.comment = comment; + } + +} diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java index a9bfe2390723cc37f2d7ec39b993202911a273d5..770ff9058922d426f30ea84a10fcd87f0bc42114 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientService.java @@ -32,6 +32,7 @@ import ch.systemsx.cisd.common.servlet.IRequestContextProvider; import ch.systemsx.cisd.common.spring.IUncheckedMultipartFile; import ch.systemsx.cisd.common.utilities.BeanUtils; import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientService; +import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DataSetUploadParameters; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Experiment; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExternalData; @@ -99,6 +100,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermReplaceme import ch.systemsx.cisd.openbis.generic.shared.dto.AttachmentContentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.AttachmentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetTypePE; +import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUploadContext; import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExternalDataPE; @@ -1108,13 +1110,19 @@ public final class CommonClientService extends AbstractClientService implements } - public void uploadDataSets(List<String> dataSetCodes, String cifexURL, String password) + public void uploadDataSets(List<String> dataSetCodes, DataSetUploadParameters uploadParameters) throws ch.systemsx.cisd.openbis.generic.client.web.client.exception.UserFailureException { try { final String sessionToken = getSessionToken(); - commonServer.uploadDataSets(sessionToken, dataSetCodes, cifexURL, password); + DataSetUploadContext uploadContext = new DataSetUploadContext(); + uploadContext.setCifexURL(uploadParameters.getCifexURL()); + uploadContext.setComment(uploadParameters.getComment()); + uploadContext.setFileName(uploadParameters.getFileName()); + uploadContext.setUserID(uploadParameters.getUserID()); + uploadContext.setPassword(uploadParameters.getPassword()); + commonServer.uploadDataSets(sessionToken, dataSetCodes, uploadContext); } catch (final UserFailureException e) { throw UserFailureExceptionTranslator.translate(e); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java index da189fb26e3d708198e10990ca7bbc2516be73c8..9d520df927f0b3808a2febdc58ea09738070caa7 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java @@ -69,6 +69,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTerm; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermReplacement; import ch.systemsx.cisd.openbis.generic.shared.dto.AttachmentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetTypePE; +import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUploadContext; import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePE; @@ -654,8 +655,8 @@ public final class CommonServer extends AbstractServer<ICommonServer> implements } } - public void uploadDataSets(String sessionToken, List<String> dataSetCodes, String cifexURL, - String password) + public void uploadDataSets(String sessionToken, List<String> dataSetCodes, + DataSetUploadContext uploadContext) { Session session = getSessionManager().getSession(sessionToken); try @@ -663,7 +664,7 @@ public final class CommonServer extends AbstractServer<ICommonServer> implements IExternalDataTable externalDataTable = businessObjectFactory.createExternalDataTable(session); externalDataTable.loadByDataSetCodes(dataSetCodes); - externalDataTable.uploadLoadedDataSetsToCIFEX(dssSessionManager, cifexURL, password); + externalDataTable.uploadLoadedDataSetsToCIFEX(dssSessionManager, uploadContext); } catch (final DataAccessException ex) { throw createUserFailureException(ex); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java index a04760994cc146fcc4a5230006bc0d27066510dd..55a4d4457fb94c863a0e764cb50dd0ff642adf7c 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServerLogger.java @@ -39,6 +39,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTerm; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermReplacement; import ch.systemsx.cisd.openbis.generic.shared.dto.AttachmentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetTypePE; +import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUploadContext; import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentTypePE; @@ -346,11 +347,11 @@ final class CommonServerLogger extends AbstractServerLogger implements ICommonSe logTracking(sessionToken, "delete_data_sets", "CODES(%s) REASON(%s)", dataSetCodes, reason); } - public void uploadDataSets(String sessionToken, List<String> dataSetCodes, String cifexURL, - String password) + public void uploadDataSets(String sessionToken, List<String> dataSetCodes, + DataSetUploadContext uploadContext) { - logTracking(sessionToken, "upload_data_sets", "CODES(%s) CIFEX-URL(%s)", dataSetCodes, - cifexURL); + logTracking(sessionToken, "upload_data_sets", "CODES(%s) CIFEX-URL(%s) FILE(%s)", dataSetCodes, + uploadContext.getCifexURL(), uploadContext.getFileName()); } public void editMaterial(String sessionToken, MaterialIdentifier identifier, diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTable.java index a96589f26df8036fa9330a31bd79576731241326..c5d742288fdd75346f80361d398ca39c06c82d24 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTable.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTable.java @@ -22,6 +22,8 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; +import org.apache.commons.lang.StringUtils; + import ch.rinn.restrictions.Private; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.business.DataStoreServerSessionManager; @@ -178,17 +180,16 @@ public final class ExternalDataTable extends AbstractExternalDataBusinessObject } public void uploadLoadedDataSetsToCIFEX(DataStoreServerSessionManager dssSessionManager, - String cifexURL, String password) + DataSetUploadContext uploadContext) { assertDataSetsAreKnown(dssSessionManager); Collection<DataStoreServerSession> sessions = dssSessionManager.getSessions(); List<String> locations = getLocations(); - DataSetUploadContext uploadContext = new DataSetUploadContext(); - uploadContext.setCifexURL(cifexURL); - uploadContext.setUserID(session.getUserName()); - uploadContext.setPassword(password); uploadContext.setUserEMail(session.getPrincipal().getEmail()); - uploadContext.setComment(createUploadComment(externalData)); + if (StringUtils.isBlank(uploadContext.getComment())) + { + uploadContext.setComment(createUploadComment(externalData)); + } for (DataStoreServerSession dssSession : sessions) { dssSession.getService().uploadDataSetsToCIFEX(dssSession.getSessionToken(), locations, diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IExternalDataTable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IExternalDataTable.java index 2926525c7a1d0e0993bb48f5b073ce3e0813d532..ebe86e76add3392ed670fc1c01b7b35abded743a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IExternalDataTable.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IExternalDataTable.java @@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.server.business.bo; import java.util.List; import ch.systemsx.cisd.openbis.generic.server.business.DataStoreServerSessionManager; +import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUploadContext; import ch.systemsx.cisd.openbis.generic.shared.dto.ExternalDataPE; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier; @@ -64,10 +65,10 @@ public interface IExternalDataTable void deleteLoadedDataSets(DataStoreServerSessionManager dssSessionManager, String reason); /** - * Uploads loaded data sets to CIFEX server of specified URL using specified password - * for authentication (assuming same user ID as on openBIS server). + * Uploads loaded data sets to CIFEX server of specified URL using specified upload + * context. */ void uploadLoadedDataSetsToCIFEX(DataStoreServerSessionManager dssSessionManager, - String cifexURL, String password); + DataSetUploadContext uploadContext); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java index 39afa5a49651bfcba27a282f52685bbef1aab011..030a8734cc595b9da594df77b62d6e2243b30687 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java @@ -50,6 +50,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermReplaceme import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind; import ch.systemsx.cisd.openbis.generic.shared.dto.AttachmentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetTypePE; +import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUploadContext; import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentTypePE; @@ -398,8 +399,8 @@ public interface ICommonServer extends IServer */ @Transactional @RolesAllowed(RoleSet.OBSERVER) - public void uploadDataSets(String sessionToken, List<String> dataSetCodes, String cifexURL, - String password); + public void uploadDataSets(String sessionToken, List<String> dataSetCodes, + DataSetUploadContext uploadContext); /** * Saves changed experiment. diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataSetUploadContext.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataSetUploadContext.java index 0b5e181d568dd553e3c797ad972b5d2d32d8d7e0..448bbcf8ce1a8beb0c68f4e74acd5e11adbc92d0 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataSetUploadContext.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DataSetUploadContext.java @@ -35,6 +35,8 @@ public class DataSetUploadContext implements Serializable private static final long serialVersionUID = GenericSharedConstants.VERSION; private String cifexURL; + + private String fileName; private String userID; @@ -44,6 +46,16 @@ public class DataSetUploadContext implements Serializable private String email; + public final String getFileName() + { + return fileName; + } + + public final void setFileName(String fileName) + { + this.fileName = fileName; + } + public final String getCifexURL() { return cifexURL; diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java index fb3d6b31ba7622a8ced598f0823a8ce3bb758e88..d3125f8aa33b3fd5cf4db8f42646f64cc48f3d04 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/CommonServerTest.java @@ -45,6 +45,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTerm; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.VocabularyTermReplacement; import ch.systemsx.cisd.openbis.generic.shared.dto.AttachmentPE; import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetTypePE; +import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUploadContext; import ch.systemsx.cisd.openbis.generic.shared.dto.DataTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePE; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; @@ -898,6 +899,7 @@ public final class CommonServerTest extends AbstractServerTestCase { prepareGetSession(); final List<String> dataSetCodes = Arrays.asList("a", "b"); + final DataSetUploadContext uploadContext = new DataSetUploadContext(); context.checking(new Expectations() { { @@ -906,11 +908,11 @@ public final class CommonServerTest extends AbstractServerTestCase one(externalDataTable).loadByDataSetCodes(dataSetCodes); one(externalDataTable).uploadLoadedDataSetsToCIFEX(dssSessionManager, - "cifexURL", "pwd"); + uploadContext); } }); - createServer().uploadDataSets(SESSION_TOKEN, dataSetCodes, "cifexURL", "pwd"); + createServer().uploadDataSets(SESSION_TOKEN, dataSetCodes, uploadContext); context.assertIsSatisfied(); } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTableTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTableTest.java index 4fc2e9b02a8daa05c9128d5c80b93e875e4e6380..6b674e674f01b5078c4dce25874596f2d420aee5 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTableTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTableTest.java @@ -356,6 +356,12 @@ public final class ExternalDataTableTest extends AbstractBOTest dataStoreService)); final ExternalDataPE d1 = createDataSet("d1"); final ExternalDataPE d2 = createDataSet("d2"); + final DataSetUploadContext uploadContext = new DataSetUploadContext(); + uploadContext.setCifexURL("cifexURL"); + uploadContext.setUserID(EXAMPLE_SESSION.getUserName()); + uploadContext.setPassword("pwd"); + uploadContext.setUserEMail(EXAMPLE_SESSION.getPrincipal().getEmail()); + uploadContext.setComment(ExternalDataTable.createUploadComment(Arrays.asList(d1, d2))); context.checking(new Expectations() { { @@ -370,12 +376,6 @@ public final class ExternalDataTableTest extends AbstractBOTest with(equal(locations))); will(returnValue(locations)); - DataSetUploadContext uploadContext = new DataSetUploadContext(); - uploadContext.setCifexURL("cifexURL"); - uploadContext.setUserID(EXAMPLE_SESSION.getUserName()); - uploadContext.setPassword("pwd"); - uploadContext.setUserEMail(EXAMPLE_SESSION.getPrincipal().getEmail()); - uploadContext.setComment(ExternalDataTable.createUploadComment(Arrays.asList(d1, d2))); one(dataStoreService).uploadDataSetsToCIFEX(with(any(String.class)), with(equal(locations)), with(equal(uploadContext))); } @@ -383,7 +383,7 @@ public final class ExternalDataTableTest extends AbstractBOTest ExternalDataTable externalDataTable = createExternalDataTable(); externalDataTable.loadByDataSetCodes(Arrays.asList(d1.getCode(), d2.getCode())); - externalDataTable.uploadLoadedDataSetsToCIFEX(dssSessionManager, "cifexURL", "pwd"); + externalDataTable.uploadLoadedDataSetsToCIFEX(dssSessionManager, uploadContext); context.assertIsSatisfied(); } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected index 43ff1e8f3598ebeb0c24080bcf5ad8a0a5f32e5d..5be74491c58e3de9ed5084795aa04a36c3fc8c0a 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected @@ -35,6 +35,7 @@ import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.GroupVali import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.MatchingEntityValidator; import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ProjectValidator; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetSearchCriteria; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetUploadContext; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.LastModificationState; @@ -398,8 +399,8 @@ public interface ICommonServer extends IServer */ @Transactional @RolesAllowed(RoleSet.OBSERVER) - public void uploadDataSets(String sessionToken, List<String> dataSetCodes, String cifexURL, - String password); + public void uploadDataSets(String sessionToken, List<String> dataSetCodes, + DataSetUploadContext uploadContext); /** * Saves changed experiment.