diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java index 417e713fef57c97660585f47a951225b93588ce1..321b5f50b64f84266ed85d93efae4d8ce5987cab 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/featurevector/CsvToCanonicalFeatureVector.java @@ -23,7 +23,7 @@ import java.util.List; import ch.systemsx.cisd.common.utilities.Counters; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.DatasetFileLines; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndTitle; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndLabel; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Geometry; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellLocation; import ch.systemsx.cisd.openbis.plugin.screening.shared.dto.PlateFeatureValues; @@ -132,7 +132,7 @@ public class CsvToCanonicalFeatureVector FeatureColumn column, Counters<String> counters) { CanonicalFeatureVector featureVector = new CanonicalFeatureVector(); - CodeAndTitle codeAndTitle = new CodeAndTitle(column.name); + CodeAndLabel codeAndTitle = new CodeAndLabel(column.name); ImgFeatureDefDTO featureDef = new ImgFeatureDefDTO(); featureDef.setLabel(codeAndTitle.getTitle()); featureDef.setDescription(codeAndTitle.getTitle()); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java index cb311c96f62d7abd7977b1ff90cb91a859f7a342..3badf24bd05cf7c7f2fc1f2df4925f2f1bacff85 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/genedata/GenedataFormatToCanonicalFeatureVector.java @@ -27,7 +27,7 @@ import org.apache.commons.lang.StringUtils; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.utilities.Counters; import ch.systemsx.cisd.openbis.dss.etl.featurevector.CanonicalFeatureVector; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndTitle; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndLabel; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Geometry; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellLocation; import ch.systemsx.cisd.openbis.plugin.screening.shared.dto.PlateFeatureValues; @@ -82,7 +82,7 @@ public class GenedataFormatToCanonicalFeatureVector CanonicalFeatureVector featureVector = new CanonicalFeatureVector(); String name = feature.name; - String code = CodeAndTitle.normalize(name); + String code = CodeAndLabel.normalize(name); int count = counters.count(code); ImgFeatureDefDTO featureDef = new ImgFeatureDefDTO(); featureDef.setCode(count == 1 ? code : code + count); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/FeatureTableBuilder.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/FeatureTableBuilder.java index bdc5d700342fdeb7d5a40eea5872aa65119f0289..4ed16beba83164054e70e085738ff32f26c2c225 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/FeatureTableBuilder.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/FeatureTableBuilder.java @@ -29,7 +29,7 @@ import java.util.Map.Entry; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndTitle; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndLabel; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.FeatureVectorDatasetWellReference; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.WellPosition; @@ -64,7 +64,7 @@ public class FeatureTableBuilder private final List<Bundle> bundles; - private final Map<CodeAndTitle, Integer> featureCodeLabelToIndexMap; + private final Map<CodeAndLabel, Integer> featureCodeLabelToIndexMap; private final Set<String> featureCodes; @@ -89,7 +89,7 @@ public class FeatureTableBuilder this.dao = dao; this.service = service; bundles = new ArrayList<Bundle>(); - featureCodeLabelToIndexMap = new LinkedHashMap<CodeAndTitle, Integer>(); + featureCodeLabelToIndexMap = new LinkedHashMap<CodeAndLabel, Integer>(); this.featureCodes = new LinkedHashSet<String>(featureCodes); this.useAllFeatures = featureCodes.isEmpty(); } @@ -135,7 +135,7 @@ public class FeatureTableBuilder final ImgFeatureDefDTO featureDefinition = featureCodeToDefMap.get(featureCode); if (featureDefinition != null) { - CodeAndTitle codeAndLabel = getCodeAndLabel(featureDefinition); + CodeAndLabel codeAndLabel = getCodeAndLabel(featureDefinition); if (featureCodeLabelToIndexMap.containsKey(codeAndLabel) == false) { featureCodeLabelToIndexMap.put(codeAndLabel, @@ -158,9 +158,9 @@ public class FeatureTableBuilder * Returns all feature codes/labels found. If the feature code list in the constructor is not empty the * result will a list where the codes are a subset of this list. */ - public List<CodeAndTitle> getCodesAndLabels() + public List<CodeAndLabel> getCodesAndLabels() { - return new ArrayList<CodeAndTitle>(featureCodeLabelToIndexMap.keySet()); + return new ArrayList<CodeAndLabel>(featureCodeLabelToIndexMap.keySet()); } /** @@ -234,9 +234,9 @@ public class FeatureTableBuilder return row; } - private CodeAndTitle getCodeAndLabel(final ImgFeatureDefDTO featureDefinition) + private CodeAndLabel getCodeAndLabel(final ImgFeatureDefDTO featureDefinition) { - return new CodeAndTitle(featureDefinition.getCode(), featureDefinition.getLabel()); + return new CodeAndLabel(featureDefinition.getCode(), featureDefinition.getLabel()); } } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/TabularDataGraphServlet.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/TabularDataGraphServlet.java index 338890fae790a4e0d13bc4650f863a87f8e0896d..5cc2e6a3d31e82fb304cf7bde1b4fe8dc11d42ab 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/TabularDataGraphServlet.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/TabularDataGraphServlet.java @@ -23,7 +23,7 @@ import java.util.List; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.ITabularData; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndTitle; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndLabel; import ch.systemsx.cisd.openbis.dss.shared.DssScreeningUtils; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.WellPosition; import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.PlateUtils; @@ -86,19 +86,19 @@ public class TabularDataGraphServlet extends AbstractTabularDataGraphServlet final FeatureTableBuilder tableBuilder = new FeatureTableBuilder(dao, service); tableBuilder.addFeatureVectorsOfDataSet(dataSetCode); - List<CodeAndTitle> featureCodeAndLabels = tableBuilder.getCodesAndLabels(); + List<CodeAndLabel> featureCodeAndLabels = tableBuilder.getCodesAndLabels(); int headerTokensLength = featureCodeAndLabels.size() + 3; headerLabels = new String[headerTokensLength]; headerLabels[0] = WELL_NAME_COLUMN; headerLabels[1] = WELL_ROW_COLUMN; headerLabels[2] = WELL_COLUMN_COLUMN; headerCodes = new String[headerTokensLength]; - headerCodes[0] = CodeAndTitle.normalize(WELL_NAME_COLUMN); - headerCodes[1] = CodeAndTitle.normalize(WELL_NAME_COLUMN); - headerCodes[2] = CodeAndTitle.normalize(WELL_NAME_COLUMN); + headerCodes[0] = CodeAndLabel.normalize(WELL_NAME_COLUMN); + headerCodes[1] = CodeAndLabel.normalize(WELL_NAME_COLUMN); + headerCodes[2] = CodeAndLabel.normalize(WELL_NAME_COLUMN); int i = 1; - for (CodeAndTitle featureCodeAndLabel : featureCodeAndLabels) + for (CodeAndLabel featureCodeAndLabel : featureCodeAndLabels) { headerCodes[i] = featureCodeAndLabel.getCode(); headerLabels[i++] = featureCodeAndLabel.getTitle(); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/AbstractTabularDataGraph.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/AbstractTabularDataGraph.java index dc3955f1de5bc0e9e828acd26399fd9b769cc2f6..399ee259a15d683122e6213568632b22a27ddef8 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/AbstractTabularDataGraph.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/graph/AbstractTabularDataGraph.java @@ -33,6 +33,7 @@ import org.jfree.data.general.Dataset; import org.jfree.data.xy.DefaultXYDataset; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.ITabularData; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndLabel; /** * Abstract superclass for the different kinds of graphs. @@ -139,15 +140,17 @@ abstract class AbstractTabularDataGraph<T extends TabularDataGraphConfiguration> } /** - * Return the column number for the column header or -1 if none was found + * Return the column number for the column header or -1 if none was found. Argument will + * be first normalized. */ protected int tryColumnNumberForHeader(String columnHeaderCode) { + String normalizedCode = CodeAndLabel.normalize(columnHeaderCode); String[] headers = fileLines.getHeaderCodes(); int i = 0; for (String header : headers) { - if (columnHeaderCode.equals(header)) + if (normalizedCode.equals(header)) { return i; } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPlugin.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPlugin.java index 2129aa7eaadec67530dd3977982580de802ebfb1..0b80cfc9e95b546f0ec3aa0f9353ea5a9cc4fb8e 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPlugin.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPlugin.java @@ -28,7 +28,7 @@ import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPlugi import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndTitle; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndLabel; import ch.systemsx.cisd.openbis.dss.shared.DssScreeningUtils; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DoubleTableCell; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable; @@ -85,14 +85,14 @@ public class ImageAnalysisMergedRowsReportingPlugin extends AbstractDatastorePlu String dataSetCode = datasetDescription.getDatasetCode(); featureTableBuilder.addFeatureVectorsOfDataSet(dataSetCode); } - List<CodeAndTitle> codeAndLabels = featureTableBuilder.getCodesAndLabels(); + List<CodeAndLabel> codeAndLabels = featureTableBuilder.getCodesAndLabels(); List<FeatureTableRow> rows = featureTableBuilder.createFeatureTableRows(); SimpleTableModelBuilder builder = new SimpleTableModelBuilder(true); builder.addHeader(DATA_SET_CODE_TITLE); builder.addHeader(PLATE_IDENTIFIER_TITLE); builder.addHeader(ROW_TITLE); builder.addHeader(COLUMN_TITLE); - for (CodeAndTitle codeAndLabel : codeAndLabels) + for (CodeAndLabel codeAndLabel : codeAndLabels) { builder.addHeader(codeAndLabel.getTitle(), codeAndLabel.getCode()); } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java index 5168ceb069eecef77139957ffb14b6c93b5776f7..13c55a8815b060627207462e364c7d43b15e6221 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java @@ -44,7 +44,7 @@ import ch.systemsx.cisd.openbis.dss.generic.server.images.ImageChannelStackRefer import ch.systemsx.cisd.openbis.dss.generic.server.images.ImageChannelsUtils; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndTitle; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndLabel; import ch.systemsx.cisd.openbis.dss.generic.shared.utils.ImageUtil; import ch.systemsx.cisd.openbis.dss.screening.shared.api.v1.IDssServiceRpcScreening; import ch.systemsx.cisd.openbis.dss.shared.DssScreeningUtils; @@ -250,9 +250,9 @@ public class DssServiceRpcScreening extends AbstractDssServiceRpc implements private List<String> getCodes(FeatureTableBuilder builder) { - List<CodeAndTitle> featureCodesAndLabels = builder.getCodesAndLabels(); + List<CodeAndLabel> featureCodesAndLabels = builder.getCodesAndLabels(); List<String> codes = new ArrayList<String>(); - for (CodeAndTitle codeAndTitle : featureCodesAndLabels) + for (CodeAndLabel codeAndTitle : featureCodesAndLabels) { codes.add(codeAndTitle.getCode()); } diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/FeatureTableBuilderTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/FeatureTableBuilderTest.java index 6f742a637c058541d5f0908a3503fa30820feb89..1388de771fb0dead8e5afb8e0ec1e78a9a2b7c8f 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/FeatureTableBuilderTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/FeatureTableBuilderTest.java @@ -28,7 +28,7 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndTitle; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndLabel; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Geometry; @@ -85,7 +85,7 @@ public class FeatureTableBuilderTest extends AssertJUnit builder.addFeatureVectorsOfDataSet(DATA_SET_CODE1); builder.addFeatureVectorsOfDataSet(DATA_SET_CODE2); builder.addFeatureVectorsOfDataSet(DATA_SET_CODE3); - List<CodeAndTitle> codesAndLabels = builder.getCodesAndLabels(); + List<CodeAndLabel> codesAndLabels = builder.getCodesAndLabels(); List<FeatureTableRow> rows = builder.createFeatureTableRows(); assertEquals("[<A> a, <B> b, <B> beta, <C> c]", codesAndLabels.toString()); @@ -110,7 +110,7 @@ public class FeatureTableBuilderTest extends AssertJUnit builder.addFeatureVectorsOfDataSet(DATA_SET_CODE1); builder.addFeatureVectorsOfDataSet(DATA_SET_CODE2); builder.addFeatureVectorsOfDataSet(DATA_SET_CODE3); - List<CodeAndTitle> codesAndLabels = builder.getCodesAndLabels(); + List<CodeAndLabel> codesAndLabels = builder.getCodesAndLabels(); List<FeatureTableRow> rows = builder.createFeatureTableRows(); assertEquals("[<B> b, <B> beta]", codesAndLabels.toString()); @@ -142,7 +142,7 @@ public class FeatureTableBuilderTest extends AssertJUnit for (int i = 0; i < featureCodesAndLabels.length; i++) { String codeAndLabels = featureCodesAndLabels[i]; - CodeAndTitle codeAndTitle = new CodeAndTitle(codeAndLabels); + CodeAndLabel codeAndTitle = new CodeAndLabel(codeAndLabels); String title = codeAndTitle.getTitle(); String code = codeAndTitle.getCode(); if (filteredCodeOrNull == null || filteredCodeOrNull.equals(code)) diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java index 6fd54fcb3479605b352558d3f71400e87edcf652..023d94d8efceefa92ed47f5dfa71c14cca50314d 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/FeatureVectorDAOTest.java @@ -26,7 +26,7 @@ import net.lemnik.eodsql.QueryTool; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; -import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndTitle; +import ch.systemsx.cisd.openbis.dss.generic.shared.utils.CodeAndLabel; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Geometry; import ch.systemsx.cisd.openbis.plugin.screening.shared.dto.PlateFeatureValues; import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.IImagingQueryDAO; @@ -106,7 +106,7 @@ public class FeatureVectorDAOTest extends AbstractDBTest ImgFeatureDefDTO featureDef = featureDefs.get(0); assertEquals(TEST_FEATURE_LABEL, featureDef.getLabel()); - assertEquals(CodeAndTitle.normalize(TEST_FEATURE_LABEL), featureDef.getCode()); + assertEquals(CodeAndLabel.normalize(TEST_FEATURE_LABEL), featureDef.getCode()); createFeatureValues(featureDef); List<ImgFeatureValuesDTO> featureValuesList = dao.getFeatureValues(featureDef); @@ -150,7 +150,7 @@ public class FeatureVectorDAOTest extends AbstractDBTest // Attach a feature def to it ImgFeatureDefDTO featureDef = new ImgFeatureDefDTO(TEST_FEATURE_LABEL, - CodeAndTitle.normalize(TEST_FEATURE_LABEL), "Test", dataSet.getId()); + CodeAndLabel.normalize(TEST_FEATURE_LABEL), "Test", dataSet.getId()); return dao.addFeatureDef(featureDef); } }