From a78570d135415f1b601895d3aaff2466a6409be3 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Tue, 23 Nov 2010 16:25:14 +0000 Subject: [PATCH] SE-316 extend API with new method and deprecate old ones. SVN: 18888 --- .../api/v1/IProteomicsDataApiFacade.java | 20 ++++++- .../api/v1/ProteomicsDataApiFacade.java | 12 +++++ .../server/ProteomicsDataServiceInternal.java | 53 +++++++++---------- .../ProteomicsDataServiceInternalLogger.java | 14 ++--- .../server/api/v1/ProteomicsDataService.java | 22 ++++++-- .../api/v1/ProteomicsDataServiceLogger.java | 16 ++++++ .../IProteomicsDataServiceInternal.java | 6 +-- .../shared/api/v1/IProteomicsDataService.java | 19 +++++++ .../ProteomicsDataServiceInternalTest.java | 37 +++++++------ .../api/v1/ProteomicsDataServiceTest.java | 5 +- 10 files changed, 146 insertions(+), 58 deletions(-) diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/api/v1/IProteomicsDataApiFacade.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/api/v1/IProteomicsDataApiFacade.java index 5b0c46c2cde..c3317ebb5bd 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/api/v1/IProteomicsDataApiFacade.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/api/v1/IProteomicsDataApiFacade.java @@ -18,7 +18,11 @@ package ch.systemsx.cisd.openbis.plugin.phosphonetx.client.api.v1; import java.util.List; +import org.springframework.transaction.annotation.Transactional; + import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Project; +import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.DataStoreServerProcessingPluginInfo; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.Experiment; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.MsInjectionDataInfo; @@ -70,17 +74,31 @@ public interface IProteomicsDataApiFacade * Returns all experiments of type <tt>MS_SEARCH</tt> which the specified user is allowed to * read. */ + @Deprecated public List<Experiment> listSearchExperiments(String userID); + /** + * Returns all experiments of specified type which the specified user is allowed to read. + */ + public List<Experiment> listSearchExperiments(String sessionToken, String userID, String experimentTypeCode); + /** * Processes the data sets of specified experiments of type <tt>MS_SEARCH</tt> by the DSS * processing plug-in of specified key for the specified user. It will be checked if the * experiments are of search experiments and if the user has USER access rights. */ + @Deprecated public void processSearchData(String userID, String dataSetProcessingKey, long[] searchExperimentIDs); - + /** + * Processes the data sets of specified experiments by the DSS + * processing plug-in of specified key for the specified user. It will be checked if the + * experiments are of specified type and if the user has USER access rights. + */ + public void processProteinResultDataSets(String sessionToken, String userID, + String dataSetProcessingKey, String experimentTypeCode, long[] experimentIDs); + /** * Logs current user out. */ diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/api/v1/ProteomicsDataApiFacade.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/api/v1/ProteomicsDataApiFacade.java index 0c830ef54e3..f3b2a30ce23 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/api/v1/ProteomicsDataApiFacade.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/api/v1/ProteomicsDataApiFacade.java @@ -110,12 +110,24 @@ class ProteomicsDataApiFacade implements IProteomicsDataApiFacade return service.listSearchExperiments(sessionToken, userID); } + public List<Experiment> listSearchExperiments(String sessionToken, String userID, + String experimentTypeCode) + { + return service.listSearchExperiments(sessionToken, userID, experimentTypeCode); + } + public void processSearchData(String userID, String dataSetProcessingKey, long[] searchExperimentIDs) { service.processSearchData(sessionToken, userID, dataSetProcessingKey, searchExperimentIDs); } + public void processProteinResultDataSets(String sessionToken, String userID, + String dataSetProcessingKey, String experimentTypeCode, long[] experimentIDs) + { + service.processProteinResultDataSets(sessionToken, userID, dataSetProcessingKey, experimentTypeCode, experimentIDs); + } + public void logout() { generalInfoService.logout(sessionToken); diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternal.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternal.java index c35d976d3ea..2627bf740c0 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternal.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternal.java @@ -27,6 +27,7 @@ import java.util.Set; import ch.rinn.restrictions.Private; import ch.systemsx.cisd.authentication.ISessionManager; import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException; +import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.spring.IInvocationLoggerContext; import ch.systemsx.cisd.openbis.generic.server.AbstractServer; import ch.systemsx.cisd.openbis.generic.server.business.bo.ICommonBusinessObjectFactory; @@ -65,8 +66,6 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.MsInjectionSample; public class ProteomicsDataServiceInternal extends AbstractServer<IProteomicsDataServiceInternal> implements IProteomicsDataServiceInternal { - @Private static final String SEARCH_EXPERIMENT_TYPE = "MS_SEARCH"; - @Private static final String SPACE_CODE = "MS_DATA"; @@ -153,31 +152,43 @@ public class ProteomicsDataServiceInternal extends AbstractServer<IProteomicsDat processDataSets(session, dataSetProcessingKey, dataSetCodes, new HashMap<String, String>()); } - public List<Experiment> listSearchExperiments(String sessionToken) + public List<Experiment> listSearchExperiments(String sessionToken, String experimentTypeCode) { checkSession(sessionToken); - return listSearchExperiments(); + IDAOFactory daoFactory = getDAOFactory(); + IEntityTypeDAO entityTypeDAO = daoFactory.getEntityTypeDAO(EntityKind.EXPERIMENT); + ExperimentTypePE type = + (ExperimentTypePE) entityTypeDAO.tryToFindEntityTypeByCode(experimentTypeCode); + List<ExperimentPE> experiments = + daoFactory.getExperimentDAO().listExperimentsWithProperties(type, null); + return ExperimentTranslator.translate(experiments, "", + ExperimentTranslator.LoadableFields.PROPERTIES); } - public void processSearchData(String sessionToken, String dataSetProcessingKey, - long[] searchExperimentIDs) + public void processProteinResultDataSets(String sessionToken, String dataSetProcessingKey, + String experimentType, long[] searchExperimentIDs) { Session session = getSession(sessionToken); PersonPE person = session.tryGetPerson(); - - Set<Long> ids = asSet(searchExperimentIDs); + List<String> dataSetCodes = new ArrayList<String>(); - List<Experiment> experiments = listSearchExperiments(); - IExternalDataDAO dataSetDAO = getDAOFactory().getExternalDataDAO(); IExperimentDAO experimentDAO = getDAOFactory().getExperimentDAO(); - for (Experiment experiment : experiments) + IExternalDataDAO dataSetDAO = getDAOFactory().getExternalDataDAO(); + for (long experimentID : searchExperimentIDs) { - if (EXPERIMENT_VALIDATOR.isValid(person, experiment) - && ids.contains(experiment.getId())) + ExperimentPE experiment = experimentDAO.tryGetByTechId(new TechId(experimentID)); + String actualExperimentTypeCode = experiment.getExperimentType().getCode(); + if (actualExperimentTypeCode.equals(experimentType) == false) { - ExperimentPE exp = experimentDAO.tryGetByTechId(new TechId(experiment.getId())); - List<ExternalDataPE> dataSets = dataSetDAO.listExternalData(exp); + throw new UserFailureException("Experiment with technical id " + experimentID + + " [" + experiment.getIdentifier() + "] is not of type " + experimentType + + " but of type " + actualExperimentTypeCode + "."); + } + Experiment translatedExperiment = ExperimentTranslator.translate(experiment, ""); + if (EXPERIMENT_VALIDATOR.isValid(person, translatedExperiment)) + { + List<ExternalDataPE> dataSets = dataSetDAO.listExternalData(experiment); for (ExternalDataPE dataSet : dataSets) { dataSetCodes.add(dataSet.getCode()); @@ -188,18 +199,6 @@ public class ProteomicsDataServiceInternal extends AbstractServer<IProteomicsDat processDataSets(session, dataSetProcessingKey, dataSetCodes, new HashMap<String, String>()); } - private List<Experiment> listSearchExperiments() - { - IDAOFactory daoFactory = getDAOFactory(); - IEntityTypeDAO entityTypeDAO = daoFactory.getEntityTypeDAO(EntityKind.EXPERIMENT); - ExperimentTypePE type = - (ExperimentTypePE) entityTypeDAO.tryToFindEntityTypeByCode(SEARCH_EXPERIMENT_TYPE); - List<ExperimentPE> experiments = - daoFactory.getExperimentDAO().listExperimentsWithProperties(type, null); - return ExperimentTranslator.translate(experiments, "", - ExperimentTranslator.LoadableFields.PROPERTIES); - } - private List<MsInjectionSample> loadAllRawDataSamples(Session session) { List<Sample> samples = loadAccessableSamples(session); diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalLogger.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalLogger.java index 914157c4985..80fcc8c6c32 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalLogger.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalLogger.java @@ -63,17 +63,19 @@ class ProteomicsDataServiceInternalLogger extends AbstractServerLogger implement dataSetCodes.size()); } - public List<Experiment> listSearchExperiments(String sessionToken) + public List<Experiment> listSearchExperiments(String sessionToken, String experimentTypeCode) { - logAccess(sessionToken, "list_search_experiments"); + logAccess(sessionToken, "list_search_experiments", "EXPERIMENT_TYPE(%s)", experimentTypeCode); return null; } - public void processSearchData(String sessionToken, String dataSetProcessingKey, - long[] searchExperimentIDs) + public void processProteinResultDataSets(String sessionToken, String dataSetProcessingKey, + String experimentTypeCode, long[] searchExperimentIDs) { - int numberOfDataSets = searchExperimentIDs == null ? 0 : searchExperimentIDs.length; - logAccess(sessionToken, "copy_search_data", "NUMBER_OF_DATA_SETS(%s)", numberOfDataSets); + int experimentCount = searchExperimentIDs == null ? 0 : searchExperimentIDs.length; + logAccess(sessionToken, "process_protein_result_data_sets", + "DSS_PROCESSING_PLUGIN(%s) EXPERIMENT_TYPE(%s) NUMBER_OF_EXPERIMENTS(%s)", + dataSetProcessingKey, experimentTypeCode, experimentCount); } } diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataService.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataService.java index ada3557605b..e01051d6a90 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataService.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataService.java @@ -23,8 +23,8 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.Map.Entry; +import java.util.Set; import javax.annotation.Resource; @@ -64,6 +64,7 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.MsInjectionSample; @Component(Constants.PROTEOMICS_DATA_SERVICE) public class ProteomicsDataService extends AbstractServer<IProteomicsDataService> implements IProteomicsDataService { + private static final String MS_SEARCH = "MS_SEARCH"; @Resource(name = Constants.PROTEOMICS_DATA_SERVICE_INTERNAL) private IProteomicsDataServiceInternal service; @@ -228,12 +229,18 @@ public class ProteomicsDataService extends AbstractServer<IProteomicsDataService public List<ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.Experiment> listSearchExperiments( String sessionToken, String userID) + { + return listSearchExperiments(sessionToken, userID, MS_SEARCH); + } + + public List<ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.Experiment> listSearchExperiments( + String sessionToken, String userID, String experimentTypeCode) { checkSession(sessionToken); SessionContextDTO session = login(userID); try { - List<Experiment> experiments = service.listSearchExperiments(session.getSessionToken()); + List<Experiment> experiments = service.listSearchExperiments(session.getSessionToken(), experimentTypeCode); List<ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.Experiment> result = new ArrayList<ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.Experiment>(); for (Experiment experiment : experiments) @@ -265,13 +272,20 @@ public class ProteomicsDataService extends AbstractServer<IProteomicsDataService public void processSearchData(String sessionToken, String userID, String dataSetProcessingKey, long[] searchExperimentIDs) + { + processProteinResultDataSets(sessionToken, userID, dataSetProcessingKey, MS_SEARCH, + searchExperimentIDs); + } + + public void processProteinResultDataSets(String sessionToken, String userID, + String dataSetProcessingKey, String experimentTypeCode, long[] experimentIDs) { checkSession(sessionToken); SessionContextDTO session = login(userID); try { - service.processSearchData(session.getSessionToken(), dataSetProcessingKey, - searchExperimentIDs); + service.processProteinResultDataSets(session.getSessionToken(), dataSetProcessingKey, experimentTypeCode, + experimentIDs); } finally { service.logout(session.getSessionToken()); diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceLogger.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceLogger.java index eb6ef432557..bb22a28bf97 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceLogger.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceLogger.java @@ -79,6 +79,13 @@ class ProteomicsDataServiceLogger extends AbstractServerLogger implements IProte return null; } + public List<Experiment> listSearchExperiments(String sessionToken, String userID, + String experimentTypeCode) + { + logAccess(sessionToken, "list_search_experiments", "EXPERIMENT_TYPE(%s)", experimentTypeCode); + return null; + } + public void processSearchData(String sessionToken, String userID, String dataSetProcessingKey, long[] searchExperimentIDs) { @@ -86,6 +93,15 @@ class ProteomicsDataServiceLogger extends AbstractServerLogger implements IProte logAccess(sessionToken, "copy_search_data", "NUMBER_OF_DATA_SETS(%s)", numberOfDataSets); } + public void processProteinResultDataSets(String sessionToken, String userID, + String dataSetProcessingKey, String experimentTypeCode, long[] experimentIDs) + { + int experimentCount = experimentIDs == null ? 0 : experimentIDs.length; + logAccess(sessionToken, "process_protein_result_data_sets", + "DSS_PROCESSING_PLUGIN(%s) EXPERIMENT_TYPE(%s) NUMBER_OF_EXPERIMENTS(%s)", + dataSetProcessingKey, experimentTypeCode, experimentCount); + } + public int getMajorVersion() { return 1; diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/IProteomicsDataServiceInternal.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/IProteomicsDataServiceInternal.java index 8cf0e0dfd8a..e9917e1a3ba 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/IProteomicsDataServiceInternal.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/IProteomicsDataServiceInternal.java @@ -63,11 +63,11 @@ public interface IProteomicsDataServiceInternal extends IServer @Transactional(readOnly = true) @RolesAllowed(RoleWithHierarchy.SPACE_USER) @ReturnValueFilter(validatorClass = ExperimentValidator.class) - public List<Experiment> listSearchExperiments(String sessionToken); + public List<Experiment> listSearchExperiments(String sessionToken, String experimentTypeCode); @Transactional(readOnly = true) @RolesAllowed(RoleWithHierarchy.SPACE_USER) - public void processSearchData(String sessionToken, String dataSetProcessingKey, - long[] searchExperimentIDs); + public void processProteinResultDataSets(String sessionToken, String dataSetProcessingKey, + String experimentTypeCode, long[] searchExperimentIDs); } \ No newline at end of file diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IProteomicsDataService.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IProteomicsDataService.java index 036179253b7..1197b137e3c 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IProteomicsDataService.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IProteomicsDataService.java @@ -100,18 +100,37 @@ public interface IProteomicsDataService extends IRpcService * Returns all experiments of type <tt>MS_SEARCH</tt> which the specified user is allowed to * read. */ + @Deprecated @Transactional(readOnly = true) @RolesAllowed(RoleWithHierarchy.INSTANCE_OBSERVER) public List<Experiment> listSearchExperiments(String sessionToken, String userID); + + /** + * Returns all experiments of specified type which the specified user is allowed to read. + */ + @Transactional(readOnly = true) + @RolesAllowed(RoleWithHierarchy.INSTANCE_OBSERVER) + public List<Experiment> listSearchExperiments(String sessionToken, String userID, String experimentTypeCode); /** * Processes the data sets of specified experiments of type <tt>MS_SEARCH</tt> by the DSS * processing plug-in of specified key for the specified user. It will be checked if the * experiments are of search experiments and if the user is allowed to read them. */ + @Deprecated @Transactional(readOnly = true) @RolesAllowed(RoleWithHierarchy.INSTANCE_OBSERVER) public void processSearchData(String sessionToken, String userID, String dataSetProcessingKey, long[] searchExperimentIDs); + + /** + * Processes the data sets of specified experiments by the DSS + * processing plug-in of specified key for the specified user. It will be checked if the + * experiments are of specified type and if the user is allowed to read them. + */ + @Transactional(readOnly = true) + @RolesAllowed(RoleWithHierarchy.INSTANCE_OBSERVER) + public void processProteinResultDataSets(String sessionToken, String userID, + String dataSetProcessingKey, String experimentTypeCode, long[] experimentIDs); } diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalTest.java index 3d17dccd4e3..71bec3a662c 100644 --- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalTest.java +++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalTest.java @@ -19,7 +19,6 @@ package ch.systemsx.cisd.openbis.plugin.phosphonetx.server; import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStoreServiceKind.PROCESSING; import static ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStoreServiceKind.QUERIES; import static ch.systemsx.cisd.openbis.plugin.phosphonetx.server.ProteomicsDataServiceInternal.RAW_DATA_SAMPLE_TYPE; -import static ch.systemsx.cisd.openbis.plugin.phosphonetx.server.ProteomicsDataServiceInternal.SEARCH_EXPERIMENT_TYPE; import static ch.systemsx.cisd.openbis.plugin.phosphonetx.server.ProteomicsDataServiceInternal.SPACE_CODE; import java.util.ArrayList; @@ -74,8 +73,8 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.MsInjectionSample; public class ProteomicsDataServiceInternalTest extends AbstractServerTestCase { private static final String GROUP_CODE = "g"; - private static final String COPY_PROCESSING_KEY = "copy-data-sets"; + private static final String EXPERIMENT_TYPE = "EXPE"; private IProteomicsDataServiceInternal service; @@ -97,7 +96,7 @@ public class ProteomicsDataServiceInternalTest extends AbstractServerTestCase sampleLoader = context.mock(ISampleLoader.class); service = new ProteomicsDataServiceInternal(sessionManager, daoFactory, commonBoFactory, boFactory); experimentType = new ExperimentTypePE(); - experimentType.setCode(SEARCH_EXPERIMENT_TYPE); + experimentType.setCode(EXPERIMENT_TYPE); experimentType.setDatabaseInstance(CommonTestUtils.createHomeDatabaseInstance()); PersonPE person = new PersonPE(); RoleAssignmentPE roleAssignment = new RoleAssignmentPE(); @@ -145,7 +144,7 @@ public class ProteomicsDataServiceInternalTest extends AbstractServerTestCase final ExperimentPE e2 = experiment(2, "a"); prepareListSearchExperiments(e1, e2); - List<Experiment> list = service.listSearchExperiments(SESSION_TOKEN); + List<Experiment> list = service.listSearchExperiments(SESSION_TOKEN, EXPERIMENT_TYPE); assertEquals("HOME_DATABASE:/G/P/e1", list.get(0).getIdentifier()); assertEquals(1, list.get(0).getRegistrationDate().getTime()); @@ -165,7 +164,6 @@ public class ProteomicsDataServiceInternalTest extends AbstractServerTestCase final Session session = createSessionAndPrepareGetSession(GROUP_CODE); final ExperimentPE e1 = experiment(1); final ExperimentPE e2 = experiment(2, "a"); - prepareListSearchExperiments(e1, e2); context.checking(new Expectations() { { @@ -188,7 +186,8 @@ public class ProteomicsDataServiceInternalTest extends AbstractServerTestCase }); prepareProcessDataSets(session, new HashMap<String, String>(), "ds1", "ds2"); - service.processSearchData(SESSION_TOKEN, COPY_PROCESSING_KEY, new long[] {e1.getId(), e2.getId()}); + service.processProteinResultDataSets(SESSION_TOKEN, COPY_PROCESSING_KEY, EXPERIMENT_TYPE, + new long[] { e1.getId(), e2.getId() }); context.assertIsSatisfied(); } @@ -199,10 +198,20 @@ public class ProteomicsDataServiceInternalTest extends AbstractServerTestCase Session session = createSessionAndPrepareGetSession(GROUP_CODE + 2); final ExperimentPE e1 = experiment(1); final ExperimentPE e2 = experiment(2, "a"); - prepareListSearchExperiments(e1, e2); + context.checking(new Expectations() + { + { + one(experimentDAO).tryGetByTechId(new TechId(e1.getId())); + will(returnValue(e1)); + + one(experimentDAO).tryGetByTechId(new TechId(e2.getId())); + will(returnValue(e2)); + } + }); prepareProcessDataSets(session, new HashMap<String, String>()); - service.processSearchData(SESSION_TOKEN, COPY_PROCESSING_KEY, new long[] {e1.getId(), e2.getId()}); + service.processProteinResultDataSets(SESSION_TOKEN, COPY_PROCESSING_KEY, EXPERIMENT_TYPE, + new long[] {e1.getId(), e2.getId()}); context.assertIsSatisfied(); } @@ -212,8 +221,6 @@ public class ProteomicsDataServiceInternalTest extends AbstractServerTestCase { Session session = createSessionAndPrepareGetSession(GROUP_CODE); final ExperimentPE e1 = experiment(1); - final ExperimentPE e2 = experiment(2, "a"); - prepareListSearchExperiments(e1, e2); context.checking(new Expectations() { { @@ -228,7 +235,8 @@ public class ProteomicsDataServiceInternalTest extends AbstractServerTestCase }); prepareProcessDataSets(session, new HashMap<String, String>(), "ds1"); - service.processSearchData(SESSION_TOKEN, COPY_PROCESSING_KEY, new long[] {e1.getId()}); + service.processProteinResultDataSets(SESSION_TOKEN, COPY_PROCESSING_KEY, EXPERIMENT_TYPE, + new long[] {e1.getId()}); context.assertIsSatisfied(); } @@ -264,7 +272,7 @@ public class ProteomicsDataServiceInternalTest extends AbstractServerTestCase one(daoFactory).getEntityTypeDAO(EntityKind.EXPERIMENT); will(returnValue(entityTypeDAO)); - one(entityTypeDAO).tryToFindEntityTypeByCode(SEARCH_EXPERIMENT_TYPE); + one(entityTypeDAO).tryToFindEntityTypeByCode(EXPERIMENT_TYPE); will(returnValue(experimentType)); one(experimentDAO).listExperimentsWithProperties(experimentType, null); @@ -401,9 +409,8 @@ public class ProteomicsDataServiceInternalTest extends AbstractServerTestCase LinkedHashSet<EntityPropertyPE> props = new LinkedHashSet<EntityPropertyPE>(); for (String property : properties) { - props.add(CommonTestUtils.createExperimentPropertyPE(property, - ProteomicsDataServiceInternal.SEARCH_EXPERIMENT_TYPE, DataTypeCode.VARCHAR, - property + "-value")); + props.add(CommonTestUtils.createExperimentPropertyPE(property, EXPERIMENT_TYPE, + DataTypeCode.VARCHAR, property + "-value")); } experiment.setProperties(props); } diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceTest.java index 6b87f9e1460..7081ab7b7ee 100644 --- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceTest.java +++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceTest.java @@ -66,6 +66,7 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.MsInjectionSample; */ public class ProteomicsDataServiceTest extends AbstractServerTestCase { + private static final String MS_SEARCH = "MS_SEARCH"; private static final String RAW_DATA = "RAW_DATA"; private static final String MZXML_DATA = "MZXML_DATA"; @@ -321,7 +322,7 @@ public class ProteomicsDataServiceTest extends AbstractServerTestCase context.checking(new Expectations() { { - one(internalService).listSearchExperiments(session2.getSessionToken()); + one(internalService).listSearchExperiments(session2.getSessionToken(), MS_SEARCH); will(returnValue(Arrays.asList(e))); } }); @@ -356,7 +357,7 @@ public class ProteomicsDataServiceTest extends AbstractServerTestCase context.checking(new Expectations() { { - one(internalService).processSearchData(session2.getSessionToken(), "dsp1", ids); + one(internalService).processProteinResultDataSets(session2.getSessionToken(), "dsp1", MS_SEARCH, ids); } }); -- GitLab