From 4091804b3e2e4110862893876eb8fd16eefa66b6 Mon Sep 17 00:00:00 2001 From: cramakri <cramakri> Date: Thu, 14 Jun 2012 11:29:28 +0000 Subject: [PATCH] BIS-41 SP-57 Use the DataSetBatchUpdatesDTO in performEntityOperations SVN: 25701 --- ...ProteinResultDataSetParentLinkingTask.java | 15 +++++++--- ...einResultDataSetParentLinkingTaskTest.java | 29 +++++++++---------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/proteomics/ProteinResultDataSetParentLinkingTask.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/proteomics/ProteinResultDataSetParentLinkingTask.java index cb236acd8b2..98ff871ae1a 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/proteomics/ProteinResultDataSetParentLinkingTask.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/proteomics/ProteinResultDataSetParentLinkingTask.java @@ -32,6 +32,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSet; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetBatchUpdateDetails; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty; @@ -42,7 +43,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSpace; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project; import ch.systemsx.cisd.openbis.generic.shared.dto.AtomicEntityOperationDetails; -import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUpdatesDTO; +import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetBatchUpdatesDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.NewExternalData; import ch.systemsx.cisd.openbis.generic.shared.dto.SampleUpdatesDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifierFactory; @@ -83,7 +84,7 @@ public class ProteinResultDataSetParentLinkingTask implements IMaintenanceTask @Override public void execute() { - List<DataSetUpdatesDTO> dataSetUpdates = new ArrayList<DataSetUpdatesDTO>(); + List<DataSetBatchUpdatesDTO> dataSetUpdates = new ArrayList<DataSetBatchUpdatesDTO>(); List<Project> projects = service.listProjects(); for (Project project : projects) { @@ -118,14 +119,20 @@ public class ProteinResultDataSetParentLinkingTask implements IMaintenanceTask continue; } DataSet dataSet = (DataSet) ds; - DataSetUpdatesDTO update = new DataSetUpdatesDTO(); + DataSetBatchUpdatesDTO update = new DataSetBatchUpdatesDTO(); update.setDatasetId(new TechId(dataSet.getId())); update.setVersion(dataSet.getModificationDate()); update.setExperimentIdentifierOrNull(ExperimentIdentifierFactory.parse(dataSet .getExperiment().getIdentifier())); - update.setModifiedParentDatasetCodesOrNull(codes.toArray(new String[0])); update.setFileFormatTypeCode(dataSet.getFileFormatType().getCode()); update.setProperties(dataSet.getProperties()); + + // All we want to do is update the parents + update.setDatasetCode(dataSet.getCode()); + update.setModifiedParentDatasetCodesOrNull(codes.toArray(new String[0])); + DataSetBatchUpdateDetails details = new DataSetBatchUpdateDetails(); + details.setParentsUpdateRequested(true); + operationLog.info("Parent data set links of data set " + dataSet.getCode() + " from experiment " + experiment.getIdentifier() + " will be updated."); diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/etlserver/proteomics/ProteinResultDataSetParentLinkingTaskTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/etlserver/proteomics/ProteinResultDataSetParentLinkingTaskTest.java index 3d3ee39f777..3b28178dc39 100644 --- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/etlserver/proteomics/ProteinResultDataSetParentLinkingTaskTest.java +++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/etlserver/proteomics/ProteinResultDataSetParentLinkingTaskTest.java @@ -31,14 +31,12 @@ import org.testng.annotations.Test; import ch.systemsx.cisd.common.logging.BufferedAppender; import ch.systemsx.cisd.common.test.RecordingMatcher; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; -import ch.systemsx.cisd.openbis.etlserver.proteomics.DataSetInfoExtractorForProteinResults; -import ch.systemsx.cisd.openbis.etlserver.proteomics.ProteinResultDataSetParentLinkingTask; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSet; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.DataSetBuilder; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.ExperimentBuilder; import ch.systemsx.cisd.openbis.generic.shared.dto.AtomicEntityOperationDetails; -import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUpdatesDTO; +import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetBatchUpdatesDTO; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifierFactory; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier; @@ -95,15 +93,14 @@ public class ProteinResultDataSetParentLinkingTaskTest extends AssertJUnit new ExperimentBuilder().id(4).identifier("/S/P1/E4") .property(BASE_EXPERIMENT_KEY, "/S/P1/E1").getExperiment(); final DataSet ds1 = - new DataSetBuilder(1).code("ds1").fileFormat("A") - .experiment(e1).modificationDate(new Date(11)).getDataSet(); + new DataSetBuilder(1).code("ds1").fileFormat("A").experiment(e1) + .modificationDate(new Date(11)).getDataSet(); final DataSet ds2 = - new DataSetBuilder(2).code("ds2").fileFormat("B") - .experiment(e4).modificationDate(new Date(22)).getDataSet(); + new DataSetBuilder(2).code("ds2").fileFormat("B").experiment(e4) + .modificationDate(new Date(22)).getDataSet(); final DataSet ds3 = - new DataSetBuilder(3).code("ds3").fileFormat("C") - .experiment(e3).modificationDate(new Date(33)).property("ALPHA", "3.1") - .getDataSet(); + new DataSetBuilder(3).code("ds3").fileFormat("C").experiment(e3) + .modificationDate(new Date(33)).property("ALPHA", "3.1").getDataSet(); final RecordingMatcher<AtomicEntityOperationDetails> operationRecorder = new RecordingMatcher<AtomicEntityOperationDetails>(); context.checking(new Expectations() @@ -120,16 +117,16 @@ public class ProteinResultDataSetParentLinkingTaskTest extends AssertJUnit one(service).tryToGetExperiment(ExperimentIdentifierFactory.parse("/S/P1/E1")); will(returnValue(e1)); - + one(service).tryGetDataSet("non-sense2"); will(returnValue(null)); - + one(service).tryGetDataSet("ds1"); will(returnValue(ds1)); - + one(service).tryGetDataSet("ds3"); will(returnValue(ds3)); - + one(service).listDataSetsByExperimentID(e1.getId()); will(returnValue(Arrays.asList(ds1))); @@ -142,7 +139,7 @@ public class ProteinResultDataSetParentLinkingTaskTest extends AssertJUnit one(service).performEntityOperations(with(operationRecorder)); } }); - + task.execute(); assertEquals("INFO OPERATION.ProteinResultDataSetParentLinkingTask - " @@ -154,7 +151,7 @@ public class ProteinResultDataSetParentLinkingTaskTest extends AssertJUnit + "INFO OPERATION.ProteinResultDataSetParentLinkingTask - " + "Parent data set links for 2 data sets have been updated.", logRecorder.getLogContent()); - List<DataSetUpdatesDTO> dataSetUpdates = + List<DataSetBatchUpdatesDTO> dataSetUpdates = operationRecorder.recordedObject().getDataSetUpdates(); assertEquals(2L, dataSetUpdates.get(0).getDatasetId().getId().longValue()); assertEquals(22L, dataSetUpdates.get(0).getVersion().getTime()); -- GitLab