From a25ab1314155c1f3f038eff9d6cdff67f68220f6 Mon Sep 17 00:00:00 2001 From: jakubs <jakubs> Date: Fri, 10 Aug 2012 09:40:44 +0000 Subject: [PATCH] SP-203 BIS-126 add container creation for v1 usecase with factory SVN: 26325 --- .../impl/FeatureVectorContainerDataSet.java | 11 ++-- ...ImagingDataSetRegistrationTransaction.java | 51 +++++++++++++------ .../AggregatedFeatureVectorsTest.java | 6 ++- 3 files changed, 46 insertions(+), 22 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureVectorContainerDataSet.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureVectorContainerDataSet.java index 2fd157e7a69..6b8a87eb973 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureVectorContainerDataSet.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/FeatureVectorContainerDataSet.java @@ -16,6 +16,8 @@ package ch.systemsx.cisd.openbis.dss.etl.dto.api.impl; +import static ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConstants.ANALYSIS_PROCEDURE; + import java.io.File; import ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationDetails; @@ -26,6 +28,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.IExperimentImmutable; import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v1.ISampleImmutable; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; +import ch.systemsx.cisd.openbis.generic.shared.dto.NewProperty; /** * @author jakubs @@ -61,7 +64,8 @@ public class FeatureVectorContainerDataSet extends DataSet<DataSetInformation> i @Override public void setAnalysisProcedure(String analysisProcedure) { - originalDataset.setAnalysisProcedure(analysisProcedure); + getRegistrationDetails().getDataSetInformation().getDataSetProperties() + .add(new NewProperty(ANALYSIS_PROCEDURE, analysisProcedure)); } @Override @@ -96,10 +100,7 @@ public class FeatureVectorContainerDataSet extends DataSet<DataSetInformation> i @Override public void setPropertyValue(String propertyCode, String propertyValue) { - if (originalDataset != null) - { - originalDataset.setPropertyValue(propertyCode, propertyValue); - } + getRegistrationDetails().setPropertyValue(propertyCode, propertyValue); } } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/ImagingDataSetRegistrationTransaction.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/ImagingDataSetRegistrationTransaction.java index f196ee26971..e259d1395e6 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/ImagingDataSetRegistrationTransaction.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/ImagingDataSetRegistrationTransaction.java @@ -127,6 +127,36 @@ public class ImagingDataSetRegistrationTransaction extends DataSetRegistrationTr */ public IFeatureVectorDataSet createNewFeatureVectorDataSet( SimpleFeatureVectorDataConfig featureDataSetConfig, File featureVectorFileOrNull) + { + DataSetRegistrationDetails<FeatureVectorDataSetInformation> registrationDetails = + createFeatureVectorDataSetRegistrationDetails(featureDataSetConfig, + featureVectorFileOrNull); + return createFeatureVectorDataSet(registrationDetails); + } + + private IFeatureVectorDataSet createFeatureVectorDataSet( + DataSetRegistrationDetails<FeatureVectorDataSetInformation> registrationDetails) + { + @SuppressWarnings("unchecked") + DataSet<FeatureVectorDataSetInformation> dataSet = + (DataSet<FeatureVectorDataSetInformation>) super + .createNewDataSet(registrationDetails); + + FeatureVectorDataSet featureDataset = + new FeatureVectorDataSet(dataSet, getGlobalState().getOpenBisService()); + + // create container + FeatureVectorContainerDataSet containerDataset = + createFeatureVectorContainerDataSet(featureDataset); + + registrationDetails.getDataSetInformation().setContainerDatasetPermId( + containerDataset.getDataSetCode()); + + return containerDataset; + } + + private DataSetRegistrationDetails<FeatureVectorDataSetInformation> createFeatureVectorDataSetRegistrationDetails( + SimpleFeatureVectorDataConfig featureDataSetConfig, File featureVectorFileOrNull) { List<FeatureDefinition> featureDefinitions; Properties properties = featureDataSetConfig.getProperties(); @@ -148,21 +178,7 @@ public class ImagingDataSetRegistrationTransaction extends DataSetRegistrationTr } DataSetRegistrationDetails<FeatureVectorDataSetInformation> registrationDetails = factory.createFeatureVectorRegistrationDetails(featureDefinitions); - @SuppressWarnings("unchecked") - DataSet<FeatureVectorDataSetInformation> dataSet = - (DataSet<FeatureVectorDataSetInformation>) createNewDataSet(registrationDetails); - - FeatureVectorDataSet featureDataset = - new FeatureVectorDataSet(dataSet, getGlobalState().getOpenBisService()); - - // create container - FeatureVectorContainerDataSet containerDataset = - createFeatureVectorContainerDataSet(featureDataset); - - registrationDetails.getDataSetInformation().setContainerDatasetPermId( - containerDataset.getDataSetCode()); - - return containerDataset; + return registrationDetails; } /** @@ -444,6 +460,11 @@ public class ImagingDataSetRegistrationTransaction extends DataSetRegistrationTr DataSetRegistrationDetails<ImageDataSetInformation> imageRegistrationDetails = (DataSetRegistrationDetails<ImageDataSetInformation>) registrationDetails; return createNewImageDataSet(imageRegistrationDetails); + } else if (registrationDetails.getDataSetInformation() instanceof FeatureVectorDataSetInformation) + { + DataSetRegistrationDetails<FeatureVectorDataSetInformation> featureRegistrationDetails = + (DataSetRegistrationDetails<FeatureVectorDataSetInformation>) registrationDetails; + return createFeatureVectorDataSet(featureRegistrationDetails); } else { return super.createNewDataSet(registrationDetails); diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/AggregatedFeatureVectorsTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/AggregatedFeatureVectorsTest.java index f5962ed2f97..9eb391cf28a 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/AggregatedFeatureVectorsTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/AggregatedFeatureVectorsTest.java @@ -247,12 +247,14 @@ public class AggregatedFeatureVectorsTest extends AbstractScreeningSystemTestCas { Properties properties = new Properties(); properties.setProperty(AnalysisSettings.KEY, - ScreeningConstants.DEFAULT_ANALYSIS_WELL_DATASET_TYPE + ":" + getClass().getSimpleName() + "-viewer"); + ScreeningConstants.DEFAULT_ANALYSIS_WELL_CONTAINER_DATASET_TYPE + ":" + + getClass().getSimpleName() + "-viewer"); analysisSettingSetter.setAnalysisSettings(new AnalysisSettings(properties)); List<DataSetType> dataSetTypes = commonServer.listDataSetTypes(sessionToken); for (DataSetType dataSetType : dataSetTypes) { - if (dataSetType.getCode().equals(ScreeningConstants.DEFAULT_ANALYSIS_WELL_DATASET_TYPE)) + if (dataSetType.getCode().equals( + ScreeningConstants.DEFAULT_ANALYSIS_WELL_CONTAINER_DATASET_TYPE)) { dataSetType.setMainDataSetPattern(".*csv"); commonServer.updateDataSetType(sessionToken, dataSetType); -- GitLab