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 zcmZ8kc{mha_h*Jdwk$KYVNAB6vCfzxM%kCh5)(-&`;sMFltE;g5M~lWNcMeXS7t1s z>{}=lvV@4TB!2S!J@5PNy?>m0&v`!g+;g9E?z!i*%T>v<n;HQbc<Gp#ndy8?@D=Rh z^uWWJf~Hpn{8^AZfH1tx<qH!EyrENN<$L9)^n+Pzst6U1sc2(nBHDGCYMj<id-BdF zYi_hRZUQasC&XAyej#7+s5h|ZN$;rmk4Jei5kg4Ri6B^Yz!hc%P95#-T2A?BY7dqn zMN>`lqW6brR2p@LDx_h7BFb~efcv<DMxq~>FJ{d+*hdI-1>kjvbvGYGIp{AILeE&s zC=!)`*N0piO6L`{PeZrw&;Yqg$B8VsyYHpXH``%#QlE}SHQzr2PRRYvbqmQA)pM_> zsc>Tg#*-CyfBp%~W6>oRetPGQVofp2vL�^P5|AMNvAU9$?_x@!md3pcwVKC>+N6 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 delta 3395 zcmZ8kcRU<S^FNMrTAbcbZ#k!g=q-pu%c+NugeZ4T4UZD-PKjti91$(rML8`>5M4w> zZ_%Sgv=BW=NW9|xmFIc(kDZ<Qe0O&CGqbZZHInZoXpQuNWJ~}s7z|+a3#z0QBmth& zYFU!2q<<E8S0E48YS=wPiYa*B!ZKuXhKis&U9K_a(<|$oPLxX#HVpJ^!<pO5Ed8b1 z8X^ZGb*?V6DtH>-f~(k8Jo;kGY1)X2O%78Q_j;Q~kp<)=?IVRUumtWnDLwR|xh6qR zO}|VN=o#(pztZaI{f2O?)NV=I+2%zjY~oY_htV-)=AB}3sOQBmqGFkJ$CxTpP^9@% z6FJGZfiqBRF@Bn#5*dYfvlZS2Z(&u1BCR$XwFtc#e{g7S<3euI9#lpg@@PE2JKuM& z*TY)^QD`B*-8Z`)+4kjh$%lRT9kRI3PhbE^nvhF*>>fh51u-Y5P*Pn;rsn;eMj^u3 zcntfJ%Y@CSq1Ns;fN;kd>8*`K&?;Qxw+P{A$!jRCL^?m&vw_%a;)k}_f}E5H&+TU| zs=2rNUKlb*Hevw-TVfQ-IpPul1O`28Q(cN6c`cLs?ZQNoo|E+}rl#S=(QfFNrh5)u zr0}fvA`(#v;#OR&5nRyRkpjsFVPNu(Tr*s0$AX8sI+PBcVNvEoeq!+ieip%72j+Wy zBZ4M-X0v8&cc!H#<cUEzvF7oTkyZ5f4Y%tJQP6V!Qgl)0Ef+}-TGJ^FE1guva@`m{ zM^cZNWaL_A(({-8@LdznXrPri@%p5naSE70;zM)ZIGvOPt8_C+pJ6TWM>FJRQ=)|p zmcJuUHkeg3gJ|o<Z)az0`F%N>chk2=gs_E_b9_ys@z682L(f4|libbWb}YJIEN~fL zU50o$;FF)eSYSFPHOV6#ezy-KZ9Q0a*Fds>bu@Op(^bI9fAXdL^3Zy6x?SN%ng+tk z7oOP4^clbEG>^?CZq!WhDSv=yv)CFP_VxBmL5t(ej&tp=-;CJ1Jeu%9on{o`(DhSb z?fjC#nRUTNB)3oZD^+#}M3Bet))!BdzD}tb^tIM02ENZPHLd6iW^>HC{kzfrxp~OV ztMNC!CJ?1vwL{f{_7+5f9rQR~^shwdy*20!0M{=##}I>1A4$2~$#9Z~6CAScp?dEV z!d5hGS;SrXjHzW#*$d1!>K`cw(D+4P&v|i;R?+!dU;9Ll!I&lYqZ4(2kv;{u=sPrD z6bJwycmU`8-`*Gg7f1zLxumev=Y+|cDxQ`nk1!^Oz#NpjCp`2?<H*@<tgGiznQAW0 z-dL@PTJK(+P`GmV+%ZDfbaZ{PAe1rTr{L7B{%u4rLSXcRf?g2QFd3p>J~J&F)oOSt zx!Hm5{U;omuH03vfl*j*PZOj|bYqA~<Q0Pvi@>EiR~JXIjt{9=y3VJ|(}!&_^tuKq zi!oXFa1hDvPFO%An~05&oq{IU8j4T1nt!GQi&V?b1-iaoFwLzuf;p-cTJ*9qCJe`c znwEwY3X${6lN{Nb`zdeEB=Dn;%eJCDd*Df(bBc{|^np_^vw8if^i=UtJMwSryyc$$ zXq6V=rSIB=eQ(Ep0bFN~e9h#x3)<f<wpm3SaFWG1y2w@TJw`ER<9Nc-+C8PNR%DgD zUZRT9KGogfE3x6Ux=E+cTOVtL{DN;+);Xm}vW@bp?G48cb!6(mAi$qB4Lhu$u^52B z3`A6I0hcPK7%;a04&*u+TZQ_mgz;z89jECylJZcXS+NhUk@OfN-yOC2V}vya!6qYS z$<LQW8BSzr5w_cWXE`X2?d12Ibk}o|>}OI==9iZO%+`M3=GJcYBvr)Ze>Yf<1xGj4 zdg^Xzu4V8)pz&rY2<2_)Qsk@)sDNIrYE2Q?8kTxmA8^OAIvEbUyQ+tyQjZ$cYA+eB zYqSqsIK=8_wWTn#q<46=%0xW!dzBAf1{u9P0M0Fep^0%sY0+Fcbe7ZyN;u?3HDx{p zun$n&PLu$*^eQ}IuGzU+#iq-`w;P<9OvCh3q()FgN?Oxdc$$C?K`=EV%@-wAGOzum zUM(^XJq}R(tiwlWx*|0Jq*nDTp?DUsaEq?=0Nd6KJvO1V<h3f!m?6%*8vV80@J2Bs z-#xw{L-XJ=_=rimLZG2A>Uy)@Hq(QR@zafL{%7Uo%}~qr&_LB!NRq~a;5ze@dlF5T zrz%|ib0{ky;Z*mF&PfN=eFEh@_fqXR1pUSqMbg3VRQpdZZe5@V-;q^X2)s9sB+utN z)(xobvf&8S-q>gaMU79EC~4<=%_nNRJd>n_lv$5cT_GyYwg&AVx%6+NvjX#Zmo96& z%sy0h$mNZ{!))P_I-|sXKA$VtM~}U5oIPv9wJ+1MeVoGd2g{)4bGWP6GVL^g?BCen zoV-7!F*x*N2i4;?+~PTCd<wIQ{q8jBuA%H8t<r%5U73DhBd1ZLS8^!6u}A@mlkjLO zdS6>|cAx7t=g=jqxB;o0(74}JL@f-c24$6?CS_ZypS|&89<5&ft7;unF`Dtf(6TIb zWobGgJN;luhTyS~cb4ISLvI(3A*wS)zbUXL{j4Dd4ik~f)l!aviwVWp%u_Z#o%;?x zT*9si;bf{+?OhfC$1hpJT-UubJ^SLBI}PF(D_U%eD?eDgt0kkl;q}SZFY*U~zcq5( z`yn}%is>b5i7idVPKaM{7rSEoH(!c!m!pL=oXK31LrVVhI~am!r>oXnrR!4Z71u<8 z^v|)Xt#I{WLoI^8LsbI;OV@20g}*T=v^EHKH5nKxaMEK(MS1c<`L>spcCir=sir&~ zsG=*jyPjn8JC$tj9q;QTWkxmJq-+W%f34YX|1MvweQ%V;x6sT=kAx<hj70Rsj*#6{ zr5St3!LONLm4!}>Ur#U!WV9x4BK1>@AN6ivr0d}#Y1P<^<jCHg#D1Ba8~~tY{#SOa zzDL7)QGVbb(u!d-q#(^lF!7R!$QpCvWm2U3TVL2C9Io`EsVp_)eP&lo#^&CUOA_&G zak^^Q{BeJi{0qwMyFcUa3|SVNzf+fZmYGZR5isZ6)$%!8grUYmF*&1D0&2O-e!GoB zx4VLhs_4~~<x9ic#!;K?5(l`R?97_=_8*8*kgpW@i7Hm0p@muvo_a3~O88tlp6^9} zuS|h6<y7_a%Hh&}OjmBo1Aif_84}FkH;+oR#D^sl!Vd{Wr24)fjSUw_=1~3kiF+d1 zr@XQ!T$vW(5v=*6rPm*UxPE$Z)DY@#tT_N>XdCI1@><ULFy#h)Jegmp4RM=B$!29b z_Rg5uSZ?gD$vqg9wumJmwe_WBWHeLez_-<!+}z&k5GNC9SAsoj^q}kwz0&UT)%Wsm z9x!e!P%7WH4+X9igbHuwmoGYRwi#FyI$zEON-_?Oq%j>-h3M}$&&MV^`I>W~+pN|7 z=F0HG<eRx7RH8Bc;i5Mu#Sw?HIoYm)3w7c%LSa~6XR4J{$1N3g)GWu^l!`_gPc}_y zO4(QAVVcV@W3#TZBJ}6fOL6x59fY)>0){GD>G+}U5dA?x<9^P)o9|Zmauu!lj$b;U zy=*Lcln^mjPP*Q-Nj4la|M?+LM*m8gCIJA1DgG4$NWlLLd>0)j))3JlMbo?wBYtW; z(2Aq?$s$9G2q)H3zJn9CSkQRU-Im{~&UMd780AlzQ&Gyka#IuLugEtDNP7l4eg+&v zLn7v?aBrt9*V8sW3-XGZFlj}c0RHqcV<e^9;uHqRB2?eTDb^Lij=!2`m#kD7ncf&` zA&Pi5J<b)3vG|Df-0il|z>9K>a3r#FDZ0^UjVdSM9r*(Et1Hc2jKEaPA9IF={UM_s z@UXJkP71hpL8%aw#wOX<p<+&XirTMn);6`)WFBj950$X*`_YKFQbLxfqI~sj1bMs> z*&L3$*QZZE;Oy1&B$enS!MG%;7Ax&Kaqdcm;NG>0qbJx!>2bMiUAxz#LLh{r7&)0f zMeV~87>5tZElcMiNjZ;h9^4?T9Ld@Gh|8=#vn~mWIkbN8SO!b^GUD^rf~th=os934 zC)femxDhFK_-DRGXw|`?>%c%xnX4TvBfRgi+pwBjgKx$W9mJoj7!ef508@B-=Xmwz zzT_V-vHv;-xCEZNX@~S*ZmRaDm-+8gEoT_J=olgy3I7$qndL4z2PbBwOXnQ~^8bq= zd^t0m_mAlB8G!A79ezRIg77pH955q&5>h6>|FtDZ#Lka^k#m61xg8w;*g%WdU=ic_ zqxA0~#q<x12tJBM-~#ja`_TUbqlNEb;k~f?8w)4tF9@EB6?(zKSUE{#@HbfbFF4n8 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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�eh1e@T6Un2hQJ(hpmQHG$q+4z3z r@%L{r|KrjI`h<<|w;mVRc|gKYv^qQg@2v|v5AYa`U>5;b{ucc&#;A^N delta 3555 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 asn9V{|H}{DHX|$03rESsPeT98jsF5yi9f;s -- GitLab