diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/Attribute.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/Attribute.java index 4a6b7d44a1c41cd5a7deb68ba203b3c154e3c37f..8345bf97abd69cf3d4de8fe768637b71bc488081 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/Attribute.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/Attribute.java @@ -72,6 +72,8 @@ public enum Attribute REGISTRATOR("Registrator", false, false, true), + SIZE("Size", false, false, true), + SAMPLE("Sample", false, false, true), SPACE("Space", true, true, true), diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSDataSetExportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSDataSetExportHelper.java index 492ada932ecf4fb21957e77083db71cfdfcbba12..5bdeabb7d58c1b848afa53a3e419d397439c26aa 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSDataSetExportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSDataSetExportHelper.java @@ -121,19 +121,8 @@ public class XLSDataSetExportHelper extends AbstractXLSEntityExportHelper<DataSe @Override protected Attribute[] getAttributes(final Collection<DataSet> dataSets) { - final boolean includeSample = dataSets.stream().anyMatch(dataSet -> dataSet.getSample() != null); - final boolean includeExperiment = dataSets.stream().anyMatch(dataSet -> dataSet.getSample() == null && dataSet.getExperiment() != null); - - return Stream.concat( - Stream.concat( - Stream.of(PERM_ID, CODE, ARCHIVING_STATUS, PRESENT_IN_ARCHIVE, STORAGE_CONFIRMATION), - Stream.ofNullable(includeSample ? SAMPLE : null) - ), - Stream.concat( - Stream.ofNullable(includeExperiment ? EXPERIMENT : null), - Stream.of(PARENTS, CHILDREN, REGISTRATOR, REGISTRATION_DATE, MODIFIER, MODIFICATION_DATE) - ) - ).toArray(Attribute[]::new); + return new Attribute[] { PERM_ID, CODE, ARCHIVING_STATUS, PRESENT_IN_ARCHIVE, STORAGE_CONFIRMATION, SAMPLE, EXPERIMENT, PARENTS, CHILDREN, + REGISTRATOR, REGISTRATION_DATE, MODIFIER, MODIFICATION_DATE }; } @Override @@ -160,6 +149,11 @@ public class XLSDataSetExportHelper extends AbstractXLSEntityExportHelper<DataSe final PhysicalData physicalData = dataSet.getPhysicalData(); return physicalData != null ? physicalData.isStorageConfirmation().toString().toUpperCase() : null; } + case SIZE: + { + final PhysicalData physicalData = dataSet.getPhysicalData(); + return physicalData != null ? physicalData.getSize().toString() : null; + } case CODE: { return dataSet.getCode(); @@ -171,9 +165,8 @@ public class XLSDataSetExportHelper extends AbstractXLSEntityExportHelper<DataSe } case EXPERIMENT: { - final Sample sample = dataSet.getSample(); final Experiment experiment = dataSet.getExperiment(); - return sample == null && experiment != null ? experiment.getIdentifier().getIdentifier() : null; + return experiment != null ? experiment.getIdentifier().getIdentifier() : null; } case REGISTRATOR: { diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetExpectations.java index fccc56487f72b0567809947b1a5f4a0366d98cbf..fb9a9a24de8e0101cade0373f61f98049014d717 100644 --- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetExpectations.java +++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetExpectations.java @@ -74,11 +74,14 @@ class DataSetExpectations extends Expectations final Sample[] samples = new Sample[2]; + final Experiment sampleExperiment = new Experiment(); + sampleExperiment.setIdentifier(new ExperimentIdentifier("/TEST/TEST")); + samples[0] = new Sample(); - samples[0].setIdentifier(new SampleIdentifier("/TEST/TEST_2")); + samples[0].setIdentifier(new SampleIdentifier("/TEST/TEST/TEST_2")); samples[1] = new Sample(); - samples[1].setIdentifier(new SampleIdentifier("/TEST/TEST_3")); + samples[1].setIdentifier(new SampleIdentifier("/TEST/TEST/TEST_3")); final Experiment experiment = new Experiment(); experiment.setIdentifier(new ExperimentIdentifier("/TEST/TEST_1")); @@ -137,6 +140,7 @@ class DataSetExpectations extends Expectations dataSets[1].setCode("TEST_2"); dataSets[1].setPhysicalData(physicalData[1]); dataSets[1].setSample(samples[0]); + dataSets[1].setExperiment(sampleExperiment); dataSets[1].setType(dataSetTypes[0]); dataSets[1].setProperty("$NAME", "<i>Test 2</i>"); dataSets[1].setProperty("$ATTACHMENT", "file1.bin"); @@ -152,6 +156,7 @@ class DataSetExpectations extends Expectations dataSets[2].setCode("TEST_3"); dataSets[2].setPhysicalData(physicalData[2]); dataSets[2].setSample(samples[1]); + dataSets[2].setExperiment(sampleExperiment); dataSets[2].setType(dataSetTypes[0]); dataSets[2].setProperty("$NAME", "Test 3"); dataSets[2].setProperty("$ATTACHMENT", "file2.bin"); diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-filtered-fields.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-filtered-fields.xlsx index 0f906b44ffc06e134fb121ace0ac6509fb277dd7..c72d63912e693fbd49a865b5b4e66e94ccc66e04 100644 Binary files a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-filtered-fields.xlsx and b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-filtered-fields.xlsx differ diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-plain-text.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-plain-text.xlsx index 9077e4d823c7a224080539661eaaca4a54ac4b44..3f69fe76dc1a2ee4dbc880714936b13287b3b9f0 100644 Binary files a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-plain-text.xlsx and b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-plain-text.xlsx differ diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-rich-text.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-rich-text.xlsx index a872b05d2070ab60de061ad8e6d23f6aec863f81..69fb52c5ce44bed5aec6bc9833aee538cd3134b7 100644 Binary files a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-rich-text.xlsx and b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-rich-text.xlsx differ