From 3f715eb72d594f75e8c0f019a1a90f6d563cd3c2 Mon Sep 17 00:00:00 2001
From: vkovtun <viktor.kovtun@id.ethz.ch>
Date: Fri, 31 Mar 2023 12:01:08 +0200
Subject: [PATCH] SSDM-13256: Added missing columns for sample types.

---
 .../helper/XLSSampleTypeExportHelper.java     |  12 +++++++++++-
 .../xls/export/SampleTypeExpectations.java    |   9 +++++++++
 ...ypeWithBareSamplePropertyExpectations.java |  10 ++++++++++
 ...thChainedSamplePropertiesExpectations.java |  14 ++++++++++++++
 ...ithCyclicSamplePropertiesExpectations.java |  13 +++++++++++++
 ...pleTypeWithSamplePropertyExpectations.java |  16 ++++++++++++++++
 ...ypeWithVocabularyPropertyExpectations.java |  16 ++++++++++++++++
 ...sample-type-with-bare-sample-property.xlsx | Bin 5952 -> 6066 bytes
 ...e-type-with-chained-sample-properties.xlsx | Bin 6639 -> 6758 bytes
 ...le-type-with-cyclic-sample-properties.xlsx | Bin 6699 -> 6817 bytes
 ...ple-type-with-omitted-sample-property.xlsx | Bin 5958 -> 6068 bytes
 ...type-with-omitted-vocabulary-property.xlsx | Bin 6026 -> 6140 bytes
 ...port-sample-type-with-sample-property.xlsx | Bin 6285 -> 6384 bytes
 .../export/resources/export-sample-type.xlsx  | Bin 5801 -> 5944 bytes
 14 files changed, 89 insertions(+), 1 deletion(-)

diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSSampleTypeExportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSSampleTypeExportHelper.java
index 6ec881c6914..576926488f8 100644
--- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSSampleTypeExportHelper.java
+++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSSampleTypeExportHelper.java
@@ -19,6 +19,8 @@ import static ch.ethz.sis.openbis.generic.server.xls.export.Attribute.AUTO_GENER
 import static ch.ethz.sis.openbis.generic.server.xls.export.Attribute.CODE;
 import static ch.ethz.sis.openbis.generic.server.xls.export.Attribute.DESCRIPTION;
 import static ch.ethz.sis.openbis.generic.server.xls.export.Attribute.GENERATED_CODE_PREFIX;
+import static ch.ethz.sis.openbis.generic.server.xls.export.Attribute.MODIFICATION_DATE;
+import static ch.ethz.sis.openbis.generic.server.xls.export.Attribute.UNIQUE_SUBCODES;
 import static ch.ethz.sis.openbis.generic.server.xls.export.Attribute.VALIDATION_SCRIPT;
 import static ch.ethz.sis.openbis.generic.server.xls.export.Attribute.VERSION;
 
@@ -72,7 +74,7 @@ public class XLSSampleTypeExportHelper extends AbstractXLSEntityTypeExportHelper
     protected Attribute[] getAttributes(final SampleType sampleType)
     {
         return new Attribute[] { VERSION, CODE, DESCRIPTION, AUTO_GENERATE_CODES, VALIDATION_SCRIPT,
-                GENERATED_CODE_PREFIX };
+                GENERATED_CODE_PREFIX, UNIQUE_SUBCODES, MODIFICATION_DATE };
     }
 
     @Override
@@ -107,6 +109,14 @@ public class XLSSampleTypeExportHelper extends AbstractXLSEntityTypeExportHelper
             {
                 return sampleType.isAutoGeneratedCode().toString().toUpperCase();
             }
+            case UNIQUE_SUBCODES:
+            {
+                return sampleType.isSubcodeUnique().toString().toUpperCase();
+            }
+            case MODIFICATION_DATE:
+            {
+                return DATE_FORMAT.format(sampleType.getModificationDate());
+            }
             default:
             {
                 return null;
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeExpectations.java
index 1c2b5e6c552..8fb3e83d7af 100644
--- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeExpectations.java
+++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeExpectations.java
@@ -18,7 +18,9 @@ package ch.ethz.sis.openbis.generic.server.xls.export;
 import static ch.ethz.sis.openbis.generic.server.xls.export.XLSExportData.TEST_SCRIPT_CONTENT;
 
 import java.util.Arrays;
+import java.util.Calendar;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -57,6 +59,11 @@ class SampleTypeExpectations extends Expectations
                 final SampleTypeFetchOptions fetchOptions = (SampleTypeFetchOptions) invocation.getParameter(2);
                 final PluginFetchOptions pluginFetchOptions = fetchOptions.withValidationPlugin();
 
+                final Calendar calendar = Calendar.getInstance();
+
+                calendar.set(2023, Calendar.MARCH, 11, 17, 23, 44);
+                final Date modificationDate = calendar.getTime();
+
                 final SampleType sampleType = new SampleType();
                 sampleType.setFetchOptions(fetchOptions);
                 sampleType.setPermId(new EntityTypePermId("ENTRY", EntityKind.SAMPLE));
@@ -65,6 +72,8 @@ class SampleTypeExpectations extends Expectations
                 sampleType.setAutoGeneratedCode(true);
                 sampleType.setGeneratedCodePrefix("ENTRY");
                 sampleType.setPropertyAssignments(getPropertyAssignments(fetchOptions));
+                sampleType.setSubcodeUnique(true);
+                sampleType.setModificationDate(modificationDate);
 
                 final Plugin validationPlugin = new Plugin();
                 validationPlugin.setName("test");
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithBareSamplePropertyExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithBareSamplePropertyExpectations.java
index eb471f509fb..820d75963cd 100644
--- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithBareSamplePropertyExpectations.java
+++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithBareSamplePropertyExpectations.java
@@ -18,7 +18,9 @@ package ch.ethz.sis.openbis.generic.server.xls.export;
 import static ch.ethz.sis.openbis.generic.server.xls.export.XLSExportData.DATE_RANGE_VALIDATION_SCRIPT_CONTENT;
 
 import java.util.Arrays;
+import java.util.Calendar;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 
 import org.jmock.Expectations;
@@ -59,6 +61,11 @@ class SampleTypeWithBareSamplePropertyExpectations extends Expectations
             @Override
             public Object invoke(final Invocation invocation) throws Throwable
             {
+                final Calendar calendar = Calendar.getInstance();
+
+                calendar.set(2023, Calendar.MARCH, 11, 17, 23, 44);
+                final Date modificationDate = calendar.getTime();
+
                 final SampleTypeFetchOptions fetchOptions = (SampleTypeFetchOptions) invocation.getParameter(2);
                 final SampleType sampleType = new SampleType();
                 sampleType.setFetchOptions(fetchOptions);
@@ -67,6 +74,9 @@ class SampleTypeWithBareSamplePropertyExpectations extends Expectations
                 sampleType.setDescription("Course");
                 sampleType.setAutoGeneratedCode(false);
                 sampleType.setPropertyAssignments(getCoursePropertyAssignments(fetchOptions));
+                sampleType.setSubcodeUnique(true);
+                sampleType.setModificationDate(modificationDate);
+
                 final Plugin validationPlugin = new Plugin();
                 validationPlugin.setFetchOptions(fetchOptions.withValidationPlugin());
                 validationPlugin.setName("date_range_validation");
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithChainedSamplePropertiesExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithChainedSamplePropertiesExpectations.java
index 0fef0651224..32789bee5aa 100644
--- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithChainedSamplePropertiesExpectations.java
+++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithChainedSamplePropertiesExpectations.java
@@ -18,7 +18,9 @@ package ch.ethz.sis.openbis.generic.server.xls.export;
 import static ch.ethz.sis.openbis.generic.server.xls.export.XLSExportData.DATE_RANGE_VALIDATION_SCRIPT_CONTENT;
 
 import java.util.Arrays;
+import java.util.Calendar;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 
 import org.jmock.Expectations;
@@ -42,6 +44,11 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations
     public SampleTypeWithChainedSamplePropertiesExpectations(final IApplicationServerApi api,
             final boolean exportReferred)
     {
+        final Calendar calendar = Calendar.getInstance();
+
+        calendar.set(2023, Calendar.MARCH, 11, 17, 23, 44);
+        final Date modificationDate = calendar.getTime();
+
         if (exportReferred)
         {
             allowing(api).getSampleTypes(with(XLSExportTest.SESSION_TOKEN), with(new CollectionMatcher<>(
@@ -61,7 +68,10 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations
                     sampleType.setCode("DEPARTMENT");
                     sampleType.setDescription("Department");
                     sampleType.setAutoGeneratedCode(false);
+                    sampleType.setSubcodeUnique(true);
+                    sampleType.setModificationDate(modificationDate);
                     sampleType.setPropertyAssignments(getDepartmentPropertyAssignments(fetchOptions));
+
                     return Collections.singletonMap(sampleType.getPermId(), sampleType);
                 }
 
@@ -84,6 +94,8 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations
                     sampleType.setCode("PERSON");
                     sampleType.setDescription("Person");
                     sampleType.setAutoGeneratedCode(false);
+                    sampleType.setSubcodeUnique(true);
+                    sampleType.setModificationDate(modificationDate);
                     sampleType.setPropertyAssignments(getPersonPropertyAssignments(fetchOptions));
                     return Collections.singletonMap(sampleType.getPermId(), sampleType);
                 }
@@ -108,6 +120,8 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations
                 sampleType.setCode("COURSE");
                 sampleType.setDescription("Course");
                 sampleType.setAutoGeneratedCode(false);
+                sampleType.setSubcodeUnique(true);
+                sampleType.setModificationDate(modificationDate);
                 sampleType.setPropertyAssignments(getCoursePropertyAssignments(fetchOptions));
                 final Plugin validationPlugin = new Plugin();
                 validationPlugin.setFetchOptions(fetchOptions.withValidationPlugin());
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithCyclicSamplePropertiesExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithCyclicSamplePropertiesExpectations.java
index 0bc58d72a20..2133fd350ff 100644
--- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithCyclicSamplePropertiesExpectations.java
+++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithCyclicSamplePropertiesExpectations.java
@@ -18,7 +18,9 @@ package ch.ethz.sis.openbis.generic.server.xls.export;
 import static ch.ethz.sis.openbis.generic.server.xls.export.XLSExportData.DATE_RANGE_VALIDATION_SCRIPT_CONTENT;
 
 import java.util.Arrays;
+import java.util.Calendar;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 
 import org.jmock.Expectations;
@@ -42,6 +44,11 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations
     public SampleTypeWithCyclicSamplePropertiesExpectations(final IApplicationServerApi api,
             final boolean exportReferred)
     {
+        final Calendar calendar = Calendar.getInstance();
+
+        calendar.set(2023, Calendar.MARCH, 11, 17, 23, 44);
+        final Date modificationDate = calendar.getTime();
+
         if (exportReferred)
         {
             allowing(api).getSampleTypes(with(XLSExportTest.SESSION_TOKEN), with(new CollectionMatcher<>(
@@ -61,6 +68,8 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations
                     sampleType.setCode("DEPARTMENT");
                     sampleType.setDescription("Department");
                     sampleType.setAutoGeneratedCode(false);
+                    sampleType.setSubcodeUnique(true);
+                    sampleType.setModificationDate(modificationDate);
                     sampleType.setPropertyAssignments(getDepartmentPropertyAssignments(fetchOptions));
                     return Collections.singletonMap(sampleType.getPermId(), sampleType);
                 }
@@ -84,6 +93,8 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations
                     sampleType.setCode("PERSON");
                     sampleType.setDescription("Person");
                     sampleType.setAutoGeneratedCode(false);
+                    sampleType.setSubcodeUnique(true);
+                    sampleType.setModificationDate(modificationDate);
                     sampleType.setPropertyAssignments(getPersonPropertyAssignments(fetchOptions));
                     return Collections.singletonMap(sampleType.getPermId(), sampleType);
                 }
@@ -108,6 +119,8 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations
                 sampleType.setCode("COURSE");
                 sampleType.setDescription("Course");
                 sampleType.setAutoGeneratedCode(false);
+                sampleType.setSubcodeUnique(true);
+                sampleType.setModificationDate(modificationDate);
                 sampleType.setPropertyAssignments(getCoursePropertyAssignments(fetchOptions));
                 final Plugin validationPlugin = new Plugin();
                 validationPlugin.setFetchOptions(fetchOptions.withValidationPlugin());
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithSamplePropertyExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithSamplePropertyExpectations.java
index da9c0b2bbee..f04bb060cb1 100644
--- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithSamplePropertyExpectations.java
+++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithSamplePropertyExpectations.java
@@ -19,7 +19,9 @@ import static ch.ethz.sis.openbis.generic.server.xls.export.XLSExportData.DATE_R
 import static ch.ethz.sis.openbis.generic.server.xls.export.XLSExportData.TEST_SCRIPT_CONTENT;
 
 import java.util.Arrays;
+import java.util.Calendar;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 
 import org.jmock.Expectations;
@@ -56,6 +58,11 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations
                 @Override
                 public Object invoke(final Invocation invocation) throws Throwable
                 {
+                    final Calendar calendar = Calendar.getInstance();
+
+                    calendar.set(2023, Calendar.MARCH, 11, 17, 23, 44);
+                    final Date modificationDate = calendar.getTime();
+
                     final SampleTypeFetchOptions fetchOptions = (SampleTypeFetchOptions) invocation.getParameter(2);
                     final SampleType sampleType = new SampleType();
                     sampleType.setFetchOptions(fetchOptions);
@@ -63,6 +70,8 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations
                     sampleType.setCode("PERSON");
                     sampleType.setDescription("Person");
                     sampleType.setAutoGeneratedCode(false);
+                    sampleType.setSubcodeUnique(true);
+                    sampleType.setModificationDate(modificationDate);
                     sampleType.setPropertyAssignments(getPersonPropertyAssignments(fetchOptions));
                     return Collections.singletonMap(sampleType.getPermId(), sampleType);
                 }
@@ -80,6 +89,11 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations
             @Override
             public Object invoke(final Invocation invocation) throws Throwable
             {
+                final Calendar calendar = Calendar.getInstance();
+
+                calendar.set(2023, Calendar.MARCH, 11, 17, 23, 44);
+                final Date modificationDate = calendar.getTime();
+
                 final SampleTypeFetchOptions fetchOptions = (SampleTypeFetchOptions) invocation.getParameter(2);
                 final SampleType sampleType = new SampleType();
                 sampleType.setFetchOptions(fetchOptions);
@@ -87,6 +101,8 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations
                 sampleType.setCode("COURSE");
                 sampleType.setDescription("Course");
                 sampleType.setAutoGeneratedCode(false);
+                sampleType.setSubcodeUnique(true);
+                sampleType.setModificationDate(modificationDate);
                 sampleType.setPropertyAssignments(getCoursePropertyAssignments(fetchOptions));
                 final Plugin validationPlugin = new Plugin();
                 validationPlugin.setFetchOptions(fetchOptions.withValidationPlugin());
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithVocabularyPropertyExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithVocabularyPropertyExpectations.java
index 96bb36962ef..f9114f9ef6b 100644
--- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithVocabularyPropertyExpectations.java
+++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleTypeWithVocabularyPropertyExpectations.java
@@ -16,7 +16,9 @@
 package ch.ethz.sis.openbis.generic.server.xls.export;
 
 import java.util.Arrays;
+import java.util.Calendar;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 
 import org.jmock.Expectations;
@@ -55,6 +57,11 @@ class SampleTypeWithVocabularyPropertyExpectations extends Expectations
             @Override
             public Object invoke(final Invocation invocation) throws Throwable
             {
+                final Calendar calendar = Calendar.getInstance();
+
+                calendar.set(2023, Calendar.MARCH, 11, 17, 23, 44);
+                final Date modificationDate = calendar.getTime();
+
                 final SampleTypeFetchOptions fetchOptions = (SampleTypeFetchOptions) invocation.getParameter(2);
                 final SampleType sampleType = new SampleType();
                 sampleType.setFetchOptions(fetchOptions);
@@ -63,6 +70,8 @@ class SampleTypeWithVocabularyPropertyExpectations extends Expectations
                 sampleType.setDescription("Antibody");
                 sampleType.setAutoGeneratedCode(true);
                 sampleType.setGeneratedCodePrefix("ANT");
+                sampleType.setSubcodeUnique(false);
+                sampleType.setModificationDate(modificationDate);
                 sampleType.setPropertyAssignments(getPropertyAssignments(fetchOptions));
                 return Collections.singletonMap(sampleType.getPermId(), sampleType);
             }
@@ -79,6 +88,11 @@ class SampleTypeWithVocabularyPropertyExpectations extends Expectations
             @Override
             public Object invoke(final Invocation invocation) throws Throwable
             {
+                final Calendar calendar = Calendar.getInstance();
+
+                calendar.set(2023, Calendar.MARCH, 11, 17, 23, 44);
+                final Date modificationDate = calendar.getTime();
+
                 final SampleTypeFetchOptions fetchOptions = (SampleTypeFetchOptions) invocation.getParameter(2);
                 final SampleType sampleType = new SampleType();
                 sampleType.setFetchOptions(fetchOptions);
@@ -87,6 +101,8 @@ class SampleTypeWithVocabularyPropertyExpectations extends Expectations
                 sampleType.setDescription("Virus");
                 sampleType.setAutoGeneratedCode(true);
                 sampleType.setGeneratedCodePrefix("VIR");
+                sampleType.setSubcodeUnique(false);
+                sampleType.setModificationDate(modificationDate);
                 sampleType.setPropertyAssignments(getPropertyAssignments(fetchOptions));
                 return Collections.singletonMap(sampleType.getPermId(), sampleType);
             }
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-bare-sample-property.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-bare-sample-property.xlsx
index 5c924dccb8cf87766e80f5a45d8b5fe36fa7d82e..196100d372c72de0cb03170905c97004cf46805e 100644
GIT binary patch
delta 3520
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
G0R96VMMabV

delta 3384
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
RxtvMV#2Bb3sN}cF{{X%*29^K-

diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-chained-sample-properties.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-chained-sample-properties.xlsx
index 6c0a638f6da5f62db2c02a35a0d8cc84c6a2225f..755c51dc26e8712e6945501a60fdaa3966cffd97 100644
GIT binary patch
delta 4243
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
a>V|$2|KCP}4A?Pxdh9HSieQZKH~c@Xwv&SZ

delta 4102
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
a3}|XF#UB+1m=)N}fR+dI6PYmmHuE2^{8x1V

diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-cyclic-sample-properties.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-cyclic-sample-properties.xlsx
index 8d6680972fb9c796ef64155433fcd983fabaed63..6d49c3efd75c1628a586ca8b5df2ac3ef96fa92f 100644
GIT binary patch
delta 4316
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
OjtnSfJ|OAuRsJ82S;U_J

delta 4121
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
SvJveuq5@g@$+DS$>HG(LdSMp;

diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-omitted-sample-property.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-omitted-sample-property.xlsx
index 935808e76602a389a23d90b4951b5f0cbcc7b27d..ad06fbca77c7983d92652dfd4ac9da75d49d1d20 100644
GIT binary patch
delta 3514
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

delta 3395
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
Pjv61uDhzscamIfDiUjg+

diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-omitted-vocabulary-property.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-omitted-vocabulary-property.xlsx
index da51a09b25c69fbaa2a1ea640834f0fe13655352..a9c031224f7a22dff8d56c4745e1d38b76016d76 100644
GIT binary patch
delta 3588
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
A+W-In

delta 3527
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
UF?m+ce#e+&2@p}>-Y@_E2ehg+a{vGU

diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-sample-property.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-sample-property.xlsx
index 6cf88400847695b7d0a0c7566eb1539361e2eb81..5d2e04d7bff2e0651ecdc251703c44c524a4070c 100644
GIT binary patch
delta 3908
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

delta 3738
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
A_5c6?

diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type.xlsx
index 7f19164501d9f4b9bb1ab2ce5989a4a6658d1de4..2c1e3e5719ea2f1b90a1ebbb4d049c426894f4cf 100644
GIT binary patch
delta 3641
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

delta 3555
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
asn9V{|H}{DHX|$03rESsPeT98jsF5yi9f;s

-- 
GitLab