From 6dfbd4f9a75a30afd2c7374c617cb2bc243a6abd Mon Sep 17 00:00:00 2001 From: tpylak <tpylak> Date: Wed, 13 Jan 2010 08:43:00 +0000 Subject: [PATCH] SE-179 YeastX: DSS reporting plugins SVN: 14267 --- .../tasks/SimpleTableModelBuilder.java | 27 ++- .../ch/systemsx/cisd/yeastx/db/DBUtils.java | 12 ++ .../eicml/EICMLChromatogramsReporter.java | 163 ++++++++++++++++++ .../cisd/yeastx/eicml/EICMLRunsReporter.java | 114 ++++++++++++ .../cisd/yeastx/eicml/IEICMSRunDAO.java | 22 +-- .../cisd/yeastx/etl/ML2DatabaseUploader.java | 8 +- .../systemsx/cisd/yeastx/eicml/EICMLTest.java | 38 ++-- ...eeningPlateImageParamsReportingPlugin.java | 15 +- 8 files changed, 349 insertions(+), 50 deletions(-) create mode 100644 rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramsReporter.java create mode 100644 rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLRunsReporter.java diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/SimpleTableModelBuilder.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/SimpleTableModelBuilder.java index 0610c5d3671..6be09a3cec2 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/SimpleTableModelBuilder.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/SimpleTableModelBuilder.java @@ -17,9 +17,14 @@ package ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks; import java.util.ArrayList; +import java.util.Date; import java.util.List; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DateTableCell; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DoubleTableCell; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IntegerTableCell; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.StringTableCell; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelColumnHeader; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow; @@ -50,7 +55,7 @@ public class SimpleTableModelBuilder { addHeader(title, false); } - + public void addRow(List<ISerializableComparable> values) { assert values.size() == header.size() : "header has different number of columns than a row"; @@ -61,4 +66,24 @@ public class SimpleTableModelBuilder { return new TableModel(header, rows); } + + public static ISerializableComparable asText(String text) + { + return new StringTableCell(text); + } + + public static ISerializableComparable asNum(int num) + { + return new IntegerTableCell(num); + } + + public static ISerializableComparable asNum(double num) + { + return new DoubleTableCell(num); + } + + public static ISerializableComparable asDate(Date date) + { + return new DateTableCell(date); + } } diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBUtils.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBUtils.java index 12269f43956..42d437ed91d 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBUtils.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/db/DBUtils.java @@ -23,6 +23,7 @@ import net.lemnik.eodsql.TransactionQuery; import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException; import ch.systemsx.cisd.common.utilities.BeanUtils; +import ch.systemsx.cisd.common.utilities.ExtendedProperties; import ch.systemsx.cisd.dbmigration.DBMigrationEngine; import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext; @@ -37,11 +38,22 @@ public class DBUtils /** Current version of the database. */ public static final String DATABASE_VERSION = "004"; + private static final String DATABASE_PROPERTIES_PREFIX = "database."; + static { QueryTool.getTypeMap().put(float[].class, new FloatArrayMapper()); } + public static DatabaseConfigurationContext createAndInitDBContext(Properties properties) + { + final Properties dbProps = + ExtendedProperties.getSubset(properties, DATABASE_PROPERTIES_PREFIX, true); + final DatabaseConfigurationContext dbContext = DBUtils.createDBContext(dbProps); + DBUtils.init(dbContext); + return dbContext; + } + public static DatabaseConfigurationContext createDBContext(Properties dbProps) { DatabaseConfigurationContext context = diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramsReporter.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramsReporter.java new file mode 100644 index 00000000000..65abf1ad749 --- /dev/null +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramsReporter.java @@ -0,0 +1,163 @@ +/* + * Copyright 2010 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.yeastx.eicml; + +import static ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder.asNum; +import static ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder.asText; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; + +import javax.sql.DataSource; + +import net.lemnik.eodsql.DataIterator; +import net.lemnik.eodsql.QueryTool; + +import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext; +import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.AbstractDatastorePlugin; +import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask; +import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; +import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription; +import ch.systemsx.cisd.yeastx.db.DBUtils; + +/** + * Reporting plugin which shows all the chromatograms details for the chosen datasets. + * + * @author Tomasz Pylak + */ +public class EICMLChromatogramsReporter extends AbstractDatastorePlugin implements + IReportingPluginTask +{ + private final IEICMSRunDAO query; + + public EICMLChromatogramsReporter(Properties properties, File storeRoot) + { + super(properties, storeRoot); + this.query = createQuery(properties); + } + + private static IEICMSRunDAO createQuery(Properties properties) + { + final DatabaseConfigurationContext dbContext = DBUtils.createAndInitDBContext(properties); + DataSource dataSource = dbContext.getDataSource(); + return QueryTool.getQuery(dataSource, IEICMSRunDAO.class); + } + + private static final long serialVersionUID = 1L; + + public TableModel createReport(List<DatasetDescription> datasets) + { + SimpleTableModelBuilder builder = new SimpleTableModelBuilder(); + addReportHeaders(builder); + List<EICMSRunDTO> runs = fetchRuns(datasets); + for (EICMSRunDTO run : runs) + { + DataIterator<ChromatogramDTO> chromatograms = query.getChromatogramsForRun(run); + addRun(builder, run, chromatograms); + } + return builder.getTableModel(); + } + + private List<EICMSRunDTO> fetchRuns(List<DatasetDescription> datasets) + { + List<EICMSRunDTO> runs = new ArrayList<EICMSRunDTO>(); + for (DatasetDescription dataset : datasets) + { + EICMSRunDTO run = query.getMSRunByDatasetPermId(dataset.getDatasetCode()); + if (run != null) + { + runs.add(run); + } + } + return runs; + } + + private static void addRun(SimpleTableModelBuilder builder, EICMSRunDTO run, + DataIterator<ChromatogramDTO> chromatograms) + { + for (ChromatogramDTO chromatogram : chromatograms) + { + builder.addRow(createRow(builder, run, chromatogram)); + } + } + + private static List<ISerializableComparable> createRow(SimpleTableModelBuilder builder, + EICMSRunDTO run, ChromatogramDTO chromatogram) + { + List<ISerializableComparable> row = new ArrayList<ISerializableComparable>(); + + row.add(asText(chromatogram.getLabel())); + row.add(asNum(calcMin(chromatogram.getRunTimes()))); + row.add(asNum(calcMax(chromatogram.getRunTimes()))); + row.add(asNum(calcMax(chromatogram.getIntensities()))); + row.add(asNum(chromatogram.getQ1Mz())); + row.add(asNum(chromatogram.getQ3LowMz())); + row.add(asNum(chromatogram.getQ3HighMz())); + row.add(asText("" + chromatogram.getPolarity())); + return row; + } + + private static float calcMax(float[] values) + { + if (values.length == 0) + { + return -1; + } + float max = values[0]; + for (int i = 1; i < values.length; i++) + { + if (values[i] > max) + { + max = values[i]; + } + } + return max; + } + + private static float calcMin(float[] values) + { + if (values.length == 0) + { + return -1; + } + float min = values[0]; + for (int i = 1; i < values.length; i++) + { + if (values[i] < min) + { + min = values[i]; + } + } + return min; + } + + private static void addReportHeaders(SimpleTableModelBuilder builder) + { + builder.addHeader("Label"); + builder.addHeader("RT Start"); + builder.addHeader("RT End"); + builder.addHeader("Max. Intensity"); + builder.addHeader("Q1 Mz", true); + builder.addHeader("Q3Low Mz", true); + builder.addHeader("Q3High Mz", true); + builder.addHeader("Polarity"); + } +} diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLRunsReporter.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLRunsReporter.java new file mode 100644 index 00000000000..efbecba4b7c --- /dev/null +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLRunsReporter.java @@ -0,0 +1,114 @@ +/* + * Copyright 2010 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.yeastx.eicml; + +import static ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder.asDate; +import static ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder.asNum; +import static ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder.asText; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Properties; + +import javax.sql.DataSource; + +import net.lemnik.eodsql.QueryTool; + +import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext; +import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.AbstractDatastorePlugin; +import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask; +import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; +import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription; +import ch.systemsx.cisd.yeastx.db.DBUtils; + +/** + * Reporting plugin which shows all the run details for the chosen datasets. + * + * @author Tomasz Pylak + */ +public class EICMLRunsReporter extends AbstractDatastorePlugin implements IReportingPluginTask +{ + private final IEICMSRunDAO query; + + public EICMLRunsReporter(Properties properties, File storeRoot) + { + super(properties, storeRoot); + this.query = createQuery(properties); + } + + private static IEICMSRunDAO createQuery(Properties properties) + { + final DatabaseConfigurationContext dbContext = DBUtils.createAndInitDBContext(properties); + DataSource dataSource = dbContext.getDataSource(); + return QueryTool.getQuery(dataSource, IEICMSRunDAO.class); + } + + private static final long serialVersionUID = 1L; + + public TableModel createReport(List<DatasetDescription> datasets) + { + SimpleTableModelBuilder builder = new SimpleTableModelBuilder(); + addReportHeaders(builder); + for (DatasetDescription dataset : datasets) + { + EICMSRunDTO run = query.getMSRunByDatasetPermId(dataset.getDatasetCode()); + if (run != null) + { + builder.addRow(createRow(run, dataset)); + } + } + return builder.getTableModel(); + } + + private static List<ISerializableComparable> createRow(EICMSRunDTO run, + DatasetDescription dataset) + { + List<ISerializableComparable> row = new ArrayList<ISerializableComparable>(); + row.add(asText(dataset.getDatasetCode())); + row.add(asText(run.getRawDataFilePath())); + row.add(asText(run.getRawDataFileName())); + row.add(asText(run.getInstrumentType())); + row.add(asText(run.getInstrumentManufacturer())); + row.add(asText(run.getInstrumentModel())); + row.add(asText(run.getMethodIonisation())); + row.add(asText(run.getMethodSeparation())); + row.add(asDate(run.getAcquisitionDate())); + row.add(asNum(run.getStartTime())); + row.add(asNum(run.getEndTime())); + row.add(asText(run.getOperator())); + return row; + } + + private static void addReportHeaders(SimpleTableModelBuilder builder) + { + builder.addHeader("Dataset"); + builder.addHeader("Raw data file path"); + builder.addHeader("Raw data file name"); + builder.addHeader("Instrument type"); + builder.addHeader("Instrument manufacturer"); + builder.addHeader("Instrument model"); + builder.addHeader("Method ionisation"); + builder.addHeader("Method separation"); + builder.addHeader("Acquisition date"); + builder.addHeader("Start time"); + builder.addHeader("End time"); + builder.addHeader("Operator"); + } +} diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/IEICMSRunDAO.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/IEICMSRunDAO.java index 3aadd5a8bdc..562634c1377 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/IEICMSRunDAO.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/IEICMSRunDAO.java @@ -61,25 +61,9 @@ public interface IEICMSRunDAO extends IGenericDAO @Select(sql = "select * from EIC_MS_RUNS where RAW_DATA_FILE_NAME=?{1}") public DataIterator<EICMSRunDTO> getMsRunsForRawDataFile(String rawDataFileName); - @Select("select EIC_MS_RUNS.*, count(EIC_CHROMATOGRAMS.*) AS chromCount from EIC_MS_RUNS " - + "left join EIC_CHROMATOGRAMS on EIC_MS_RUN_ID = EIC_MS_RUNS.ID where EIC_MS_RUNS.EIC_MS_RUN_ID=?{1} group by " - + ALL_EIC_MSRUN_COLUMNS) - public EICMSRunDTO getMSRunById(long id); - - @Select("select EIC_MS_RUNS.*, count(EIC_CHROMATOGRAMS.*) AS chromCount from EIC_MS_RUNS " - + "left join EIC_CHROMATOGRAMS on EIC_MS_RUN_ID = eic_ms_run.id where EIC_MS_RUNS.DATA_SET_PERM_ID=?{1} group by " - + ALL_EIC_MSRUN_COLUMNS) - public EICMSRunDTO getMSRunByPermId(String permId); - - @Select("select EIC_MS_RUNS.* FROM msrun LEFT JOIN EIC_CHROMATOGRAMS USING(ID) " - + "where EIC_CHROMATOGRAMS.ID = ?{1.id}") - public EICMSRunDTO getMSRunForChromatogram(ChromatogramDTO chromatogram); - - @Select("select EIC_CHROMATOGRAMS.* FROM EIC_CHROMATOGRAMS where ID=?{1}") - public ChromatogramDTO getChromatogramById(long id); - - @Select("select EIC_CHROMATOGRAMS.* FROM EIC_CHROMATOGRAMS where LABEL=?{1}") - public ChromatogramDTO getChromatogramByLabel(String label); + @Select(sql = "select EIC_MS_RUNS.* from EIC_MS_RUNS left join DATA_SETS on DATA_SETS.id = EIC_MS_RUNS.ds_id " + + "where DATA_SETS.perm_id = ?{1} group by " + ALL_EIC_MSRUN_COLUMNS) + public EICMSRunDTO getMSRunByDatasetPermId(String datasetPermId); @Select("select * FROM EIC_CHROMATOGRAMS where EIC_MS_RUN_ID=?{1.id}") public DataIterator<ChromatogramDTO> getChromatogramsForRun(EICMSRunDTO msRun); diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/etl/ML2DatabaseUploader.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/etl/ML2DatabaseUploader.java index d546f5df15d..ae61eb7f282 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/etl/ML2DatabaseUploader.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/etl/ML2DatabaseUploader.java @@ -26,7 +26,6 @@ import javax.sql.DataSource; import org.apache.commons.io.FilenameUtils; import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException; -import ch.systemsx.cisd.common.utilities.ExtendedProperties; import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext; import ch.systemsx.cisd.etlserver.IDataSetUploader; import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation; @@ -51,8 +50,6 @@ public class ML2DatabaseUploader implements IDataSetUploader { private static final String UNKNOWN_NAME = "unknown"; - private static final String DATABASE_PROPERTIES_PREFIX = "database."; - private final IDatasetLoader eicML2Database; private final IDatasetLoader fiaML2Database; @@ -71,10 +68,7 @@ public class ML2DatabaseUploader implements IDataSetUploader public ML2DatabaseUploader(Properties properties) { - final Properties dbProps = - ExtendedProperties.getSubset(properties, DATABASE_PROPERTIES_PREFIX, true); - final DatabaseConfigurationContext dbContext = DBUtils.createDBContext(dbProps); - DBUtils.init(dbContext); + final DatabaseConfigurationContext dbContext = DBUtils.createAndInitDBContext(properties); DataSource dataSource = dbContext.getDataSource(); this.eicML2Database = new EICML2Database(dataSource); this.fiaML2Database = new FIAML2Database(dataSource); diff --git a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java index 6616901c685..8b2f6543106 100644 --- a/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java +++ b/rtd_yeastx/sourceTest/java/ch/systemsx/cisd/yeastx/eicml/EICMLTest.java @@ -27,6 +27,7 @@ import net.lemnik.eodsql.DataIterator; import net.lemnik.eodsql.QueryTool; import org.apache.commons.lang.ArrayUtils; +import org.testng.AssertJUnit; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -41,6 +42,8 @@ import ch.systemsx.cisd.yeastx.db.DMDataSetDTO; public class EICMLTest extends AbstractDBTest { + private static final String DATA_SET_PERM_ID = "data set perm id eicml"; + private IEICMSRunDAO eicmlDAO; @BeforeMethod(alwaysRun = true) @@ -60,8 +63,16 @@ public class EICMLTest extends AbstractDBTest private DMDataSetDTO createDataset() { - return new DMDataSetDTO("data set perm id eicml", "sample perm id eicml", - "sample name eicml", "experiment perm id eicml", "experiment name eicml"); + return new DMDataSetDTO(DATA_SET_PERM_ID, "sample perm id eicml", "sample name eicml", + "experiment perm id eicml", "experiment name eicml"); + } + + @Test(dependsOnMethods = "testUploadEicML") + public void testGetMSRunByDatasetPermId() throws ParseException + { + EICMSRunDTO run = eicmlDAO.getMSRunByDatasetPermId(DATA_SET_PERM_ID); + AssertJUnit.assertNotNull(run); + assertRunCorrect(run); } private void checkChromatograms(int count, ChromatogramDTO chrom) @@ -132,6 +143,20 @@ public class EICMLTest extends AbstractDBTest final EICMSRunDTO run = runs.next(); assertFalse(runs.hasNext()); assertEquals(4, run.getChromCount()); + assertRunCorrect(run); + final DataIterator<ChromatogramDTO> chromatograms = eicmlDAO.getChromatogramsForRun(run); + int count = 0; + while (chromatograms.hasNext()) + { + final ChromatogramDTO chrom = chromatograms.next(); + checkChromatograms(count, chrom); + ++count; + } + assertEquals(run.getChromCount(), count); + } + + private void assertRunCorrect(final EICMSRunDTO run) throws ParseException + { assertEquals(EICMLParser.getDateFormat().parse("16-Jun-2009 11:58:14"), run .getAcquisitionDate()); assertEquals(370.109f, run.getStartTime()); @@ -146,14 +171,5 @@ public class EICMLTest extends AbstractDBTest assertEquals(17L, run.getMsRunId().longValue()); assertEquals(32L, run.getSetId().longValue()); assertEquals("???", run.getOperator()); - final DataIterator<ChromatogramDTO> chromatograms = eicmlDAO.getChromatogramsForRun(run); - int count = 0; - while (chromatograms.hasNext()) - { - final ChromatogramDTO chrom = chromatograms.next(); - checkChromatograms(count, chrom); - ++count; - } - assertEquals(run.getChromCount(), count); } } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ScreeningPlateImageParamsReportingPlugin.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ScreeningPlateImageParamsReportingPlugin.java index a66f64f85dd..36047326534 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ScreeningPlateImageParamsReportingPlugin.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ScreeningPlateImageParamsReportingPlugin.java @@ -16,6 +16,9 @@ package ch.systemsx.cisd.openbis.dss.generic.server.plugins; +import static ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder.asNum; +import static ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder.asText; + import java.io.File; import java.util.Arrays; import java.util.List; @@ -30,8 +33,6 @@ import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.AbstractData import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.IReportingPluginTask; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.SimpleTableModelBuilder; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ISerializableComparable; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IntegerTableCell; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.StringTableCell; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel; import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription; @@ -106,16 +107,6 @@ public class ScreeningPlateImageParamsReportingPlugin extends AbstractDatastoreP builder.addRow(row); } - private static ISerializableComparable asText(String text) - { - return new StringTableCell(text); - } - - private static ISerializableComparable asNum(int num) - { - return new IntegerTableCell(num); - } - private IHCSImageFormattedData getImageAccessor(IDataStructureV1_0 structure) { return (IHCSImageFormattedData) structure.getFormattedData(); -- GitLab