diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSEntityExportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSEntityExportHelper.java index 5b1c71d51a6a14b969d0f80d1f987acbaa7e54ff..66ac519bd448acf2ecc2e25467dac601261e57a9 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSEntityExportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSEntityExportHelper.java @@ -135,7 +135,14 @@ public abstract class AbstractXLSEntityExportHelper<ENTITY extends IPermIdHolder case PROPERTY: { return propertyTypes.stream() - .filter(propertyType -> Objects.equals(propertyType.getCode(), fieldId)) + .filter(propertyType -> + { + final String code = propertyType.getCode(); + return fieldId.startsWith(INTERNAL_PROPERTY_PREFIX) + ? propertyType.isManagedInternally() && + Objects.equals(code, fieldId.substring(INTERNAL_PROPERTY_PREFIX.length())) + : !propertyType.isManagedInternally() && Objects.equals(code, fieldId); + }) .findFirst() .orElseThrow(() -> new IllegalArgumentException("Property type not found for id: " + fieldId)) .getLabel(); @@ -165,7 +172,9 @@ public abstract class AbstractXLSEntityExportHelper<ENTITY extends IPermIdHolder // Values final Set<Map<String, String>> selectedExportFieldSet = new HashSet<>(selectedExportFields); final Map<String, PropertyType> codeToPropertyTypeMap = propertyTypes.stream() - .collect(Collectors.toMap(PropertyType::getCode, propertyType -> propertyType, (o1, o2) -> o2)); + .collect(Collectors.toMap(propertyType -> (propertyType.isManagedInternally() ? INTERNAL_PROPERTY_PREFIX : "") + + propertyType.getCode(), + propertyType -> propertyType, (o1, o2) -> o2)); final List<Map<String, String>> extraExportFields = compatibleWithImport ? Arrays.stream(requiredForImportAttributes) .map(attribute -> Map.of(FIELD_TYPE_KEY, FieldType.ATTRIBUTE.toString(), FIELD_ID_KEY, attribute.toString())) @@ -180,16 +189,17 @@ public abstract class AbstractXLSEntityExportHelper<ENTITY extends IPermIdHolder .filter(field -> isFieldAcceptable(possibleAttributeNameSet, field)) .map(field -> { + final String fieldId = field.get(FIELD_ID_KEY); switch (FieldType.valueOf(field.get(FIELD_TYPE_KEY))) { case ATTRIBUTE: { - return getAttributeValue(entity, Attribute.valueOf(field.get(FIELD_ID_KEY))); + return getAttributeValue(entity, Attribute.valueOf(fieldId)); } case PROPERTY: { return getPropertiesMappingFunction(textFormatting, entity.getProperties()) - .apply(codeToPropertyTypeMap.get(field.get(FIELD_ID_KEY))); + .apply(codeToPropertyTypeMap.get(fieldId)); } default: { diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSEntityTypeExportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSEntityTypeExportHelper.java index 1f48b50db0726e1e500d2e2da6b3453db679cb7d..cd2d633b2595097699c104e91b85d70e341c52a0 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSEntityTypeExportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSEntityTypeExportHelper.java @@ -187,9 +187,10 @@ public abstract class AbstractXLSEntityTypeExportHelper<ENTITY_TYPE extends IEnt final Plugin plugin = propertyAssignment.getPlugin(); final Vocabulary vocabulary = propertyType.getVocabulary(); + final String code = (propertyType.isManagedInternally() ? INTERNAL_PROPERTY_PREFIX : "") + propertyType.getCode(); final String[] values = { - String.valueOf(VersionUtils.getStoredVersion(allVersions, ImportTypes.PROPERTY_TYPE, null, propertyType.getCode())), - propertyType.getCode(), + String.valueOf(VersionUtils.getStoredVersion(allVersions, ImportTypes.PROPERTY_TYPE, null, code)), + code, String.valueOf(propertyAssignment.isMandatory()).toUpperCase(), String.valueOf(propertyAssignment.isShowInEditView()).toUpperCase(), propertyAssignment.getSection(), diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSExportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSExportHelper.java index 804f7eaaca3e1e37c59692d97664767070048e37..678a94494021c9fa2dd2207f2af35f8cee809bfa 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSExportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/AbstractXLSExportHelper.java @@ -17,9 +17,7 @@ package ch.ethz.sis.openbis.generic.server.xls.export.helper; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.function.Function; @@ -37,11 +35,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import ch.ethz.sis.openbis.generic.asapi.v3.IApplicationServerApi; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.interfaces.IEntityType; -import ch.ethz.sis.openbis.generic.asapi.v3.dto.plugin.Plugin; import ch.ethz.sis.openbis.generic.asapi.v3.dto.property.DataType; -import ch.ethz.sis.openbis.generic.asapi.v3.dto.property.PropertyAssignment; import ch.ethz.sis.openbis.generic.asapi.v3.dto.property.PropertyType; -import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.Vocabulary; import ch.ethz.sis.openbis.generic.server.xls.export.Attribute; import ch.ethz.sis.openbis.generic.server.xls.export.ExportableKind; import ch.ethz.sis.openbis.generic.server.xls.export.FieldType; @@ -61,6 +56,8 @@ public abstract class AbstractXLSExportHelper<ENTITY_TYPE extends IEntityType> i public static final String FIELD_ID_KEY = "id"; + protected static final String INTERNAL_PROPERTY_PREFIX = "$"; + final Workbook wb; final CellStyle normalCellStyle; @@ -167,11 +164,16 @@ public abstract class AbstractXLSExportHelper<ENTITY_TYPE extends IEntityType> i { return textFormatting == XLSExport.TextFormatting.PLAIN ? propertyType -> propertyType.getDataType() == DataType.MULTILINE_VARCHAR - ? properties.get(propertyType.getCode()) != null + ? getProperty(properties, propertyType) != null ? properties.get(propertyType.getCode()).replaceAll("<[^>]+>", "") : null - : properties.get(propertyType.getCode()) - : propertyType -> properties.get(propertyType.getCode()); + : getProperty(properties, propertyType) + : propertyType -> getProperty(properties, propertyType); + } + + private static String getProperty(final Map<String, String> properties, final PropertyType propertyType) + { + return properties.get((propertyType.isManagedInternally() ? INTERNAL_PROPERTY_PREFIX : "") + propertyType.getCode()); } } 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 22cd36e81f79a3fd2bcaf27e18391583249dea30..20a0098b8c21f0dab1611a843719d40cdb4c294c 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 @@ -204,10 +204,11 @@ class DataSetExpectations extends Expectations private PropertyAssignment getNamePropertyAssignment() { final PropertyType propertyType = new PropertyType(); - propertyType.setCode("$NAME"); + propertyType.setCode("NAME"); propertyType.setLabel("Name"); propertyType.setDescription("Name"); propertyType.setDataType(DataType.VARCHAR); + propertyType.setManagedInternally(true); final PropertyAssignment propertyAssignment = new PropertyAssignment(); propertyAssignment.setFetchOptions(getPropertyAssignmentFetchOptions()); @@ -222,10 +223,11 @@ class DataSetExpectations extends Expectations private PropertyAssignment getAttachmentPropertyAssignment() { final PropertyType propertyType = new PropertyType(); - propertyType.setCode("$ATTACHMENT"); + propertyType.setCode("ATTACHMENT"); propertyType.setLabel("Attachment"); propertyType.setDescription("Attachment"); propertyType.setDataType(DataType.VARCHAR); + propertyType.setManagedInternally(true); final PropertyAssignment propertyAssignment = new PropertyAssignment(); propertyAssignment.setFetchOptions(getPropertyAssignmentFetchOptions()); @@ -244,6 +246,7 @@ class DataSetExpectations extends Expectations propertyType.setLabel("Notes"); propertyType.setDescription("Notes"); propertyType.setDataType(DataType.MULTILINE_VARCHAR); + propertyType.setManagedInternally(false); final PropertyAssignment propertyAssignment = new PropertyAssignment(); propertyAssignment.setFetchOptions(getPropertyAssignmentFetchOptions()); diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetTypeExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetTypeExpectations.java index a4c21b94aca6e9a6104d38ada32d8e2e78255dac..f02c68246507d92f5d370b82f5af5952126877e9 100644 --- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetTypeExpectations.java +++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetTypeExpectations.java @@ -82,10 +82,11 @@ class DataSetTypeExpectations extends Expectations propertyAssignments[0] = PropertyAssignmentFactory.createPropertyAssignment( propertyAssignmentFetchOptions); - propertyAssignments[0].getPropertyType().setCode("$NAME"); + propertyAssignments[0].getPropertyType().setCode("NAME"); propertyAssignments[0].setMandatory(false); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(true); propertyAssignments[0].getPropertyType().setLabel("Name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("Name"); @@ -96,6 +97,7 @@ class DataSetTypeExpectations extends Expectations propertyAssignments[1].setMandatory(false); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("Comments"); + propertyAssignments[1].getPropertyType().setManagedInternally(false); propertyAssignments[1].getPropertyType().setLabel("Notes"); propertyAssignments[1].getPropertyType().setDataType(DataType.MULTILINE_VARCHAR); propertyAssignments[1].getPropertyType().setDescription("Notes"); @@ -104,9 +106,10 @@ class DataSetTypeExpectations extends Expectations propertyAssignments[2] = PropertyAssignmentFactory.createPropertyAssignment( propertyAssignmentFetchOptions); - propertyAssignments[2].getPropertyType().setCode("$XMLCOMMENTS"); + propertyAssignments[2].getPropertyType().setCode("XMLCOMMENTS"); propertyAssignments[2].setMandatory(false); propertyAssignments[2].setShowInEditView(false); + propertyAssignments[2].getPropertyType().setManagedInternally(true); propertyAssignments[2].getPropertyType().setLabel("Comments List"); propertyAssignments[2].getPropertyType().setDataType(DataType.XML); propertyAssignments[2].getPropertyType().setDescription("Comments log"); diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/ExperimentExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/ExperimentExpectations.java index 51fd0434b65083765a7f43df976e930f51a65b6d..cd1090372ec00b1fb8179386d7d96d82ae7507be 100644 --- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/ExperimentExpectations.java +++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/ExperimentExpectations.java @@ -198,10 +198,11 @@ class ExperimentExpectations extends Expectations private PropertyAssignment getNamePropertyAssignment() { final PropertyType propertyType = new PropertyType(); - propertyType.setCode("$NAME"); + propertyType.setCode("NAME"); propertyType.setLabel("Name"); propertyType.setDescription("Name"); propertyType.setDataType(DataType.VARCHAR); + propertyType.setManagedInternally(true); final PropertyAssignment propertyAssignment = new PropertyAssignment(); propertyAssignment.setFetchOptions(getPropertyAssignmentFetchOptions()); @@ -216,10 +217,11 @@ class ExperimentExpectations extends Expectations private PropertyAssignment getDefaultObjectTypePropertyAssignment() { final PropertyType propertyType = new PropertyType(); - propertyType.setCode("$DEFAULT_OBJECT_TYPE"); + propertyType.setCode("DEFAULT_OBJECT_TYPE"); propertyType.setLabel("Default object type"); propertyType.setDescription("Enter the code of the object type for which the collection is used"); propertyType.setDataType(DataType.VARCHAR); + propertyType.setManagedInternally(true); final PropertyAssignment propertyAssignment = new PropertyAssignment(); propertyAssignment.setFetchOptions(getPropertyAssignmentFetchOptions()); @@ -238,6 +240,7 @@ class ExperimentExpectations extends Expectations propertyType.setLabel("Experiment completed"); propertyType.setDescription("Marks the experiment as finished"); propertyType.setDataType(DataType.BOOLEAN); + propertyType.setManagedInternally(false); final PropertyAssignment propertyAssignment = new PropertyAssignment(); propertyAssignment.setFetchOptions(getPropertyAssignmentFetchOptions()); diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/ExperimentTypeExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/ExperimentTypeExpectations.java index 09f4a190b81460106bc58981e821337a7c4a83af..3e6d20ae6a63573a882abe1bc25e2ed2c9875427 100644 --- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/ExperimentTypeExpectations.java +++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/ExperimentTypeExpectations.java @@ -86,20 +86,22 @@ class ExperimentTypeExpectations extends Expectations propertyAssignments[0] = PropertyAssignmentFactory.createPropertyAssignment( fetchOptions.withPropertyAssignments()); - propertyAssignments[0].getPropertyType().setCode("$NAME"); + propertyAssignments[0].getPropertyType().setCode("NAME"); propertyAssignments[0].setMandatory(false); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(true); propertyAssignments[0].getPropertyType().setLabel("Name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("Name"); propertyAssignments[1] = PropertyAssignmentFactory.createPropertyAssignment( fetchOptions.withPropertyAssignments()); - propertyAssignments[1].getPropertyType().setCode("$DEFAULT_OBJECT_TYPE"); + propertyAssignments[1].getPropertyType().setCode("DEFAULT_OBJECT_TYPE"); propertyAssignments[1].setMandatory(false); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(true); propertyAssignments[1].getPropertyType().setLabel("Default object type"); propertyAssignments[1].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[1].getPropertyType().setDescription( @@ -110,6 +112,7 @@ class ExperimentTypeExpectations extends Expectations propertyAssignments[2].getPropertyType().setCode("NOTES"); propertyAssignments[2].setMandatory(false); propertyAssignments[2].setShowInEditView(true); + propertyAssignments[2].getPropertyType().setManagedInternally(false); propertyAssignments[2].getPropertyType().setLabel("Notes"); propertyAssignments[2].getPropertyType().setDataType(DataType.MULTILINE_VARCHAR); propertyAssignments[2].getPropertyType().setDescription("Notes"); @@ -118,9 +121,10 @@ class ExperimentTypeExpectations extends Expectations propertyAssignments[3] = PropertyAssignmentFactory.createPropertyAssignment( fetchOptions.withPropertyAssignments()); - propertyAssignments[3].getPropertyType().setCode("$XMLCOMMENTS"); + propertyAssignments[3].getPropertyType().setCode("XMLCOMMENTS"); propertyAssignments[3].setMandatory(false); propertyAssignments[3].setShowInEditView(false); + propertyAssignments[3].getPropertyType().setManagedInternally(true); propertyAssignments[3].getPropertyType().setLabel("Comments List"); propertyAssignments[3].getPropertyType().setDataType(DataType.XML); propertyAssignments[3].getPropertyType().setDescription("Comments log"); diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleExpectations.java index 882d3b87e664639630f426f5e23a3add39176fc3..d0f2ba1b89b85184fa18af6e69dae24bacce5e4e 100644 --- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleExpectations.java +++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/SampleExpectations.java @@ -219,10 +219,11 @@ class SampleExpectations extends Expectations private PropertyAssignment getBoxesCountPropertyAssignment() { final PropertyType propertyType = new PropertyType(); - propertyType.setCode("$STORAGE.BOX_NUM"); + propertyType.setCode("STORAGE.BOX_NUM"); propertyType.setLabel("Number of Boxes"); propertyType.setDescription("Number of Boxes"); propertyType.setDataType(DataType.INTEGER); + propertyType.setManagedInternally(true); final PropertyAssignment propertyAssignment = new PropertyAssignment(); propertyAssignment.setFetchOptions(getPropertyAssignmentFetchOptions()); @@ -237,10 +238,11 @@ class SampleExpectations extends Expectations private PropertyAssignment getNamePropertyAssignment() { final PropertyType propertyType = new PropertyType(); - propertyType.setCode("$NAME"); + propertyType.setCode("NAME"); propertyType.setLabel("Name"); propertyType.setDescription("Name"); propertyType.setDataType(DataType.VARCHAR); + propertyType.setManagedInternally(true); final PropertyAssignment propertyAssignment = new PropertyAssignment(); propertyAssignment.setFetchOptions(getPropertyAssignmentFetchOptions()); 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 8fb3e83d7af6e8c6e5e61e9199eeb7a5129c8de1..5da30a0232ba508b4b91d42be7ea812746c4d5e7 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 @@ -100,20 +100,22 @@ class SampleTypeExpectations extends Expectations propertyAssignments[0] = PropertyAssignmentFactory.createPropertyAssignment( fetchOptions.withPropertyAssignments()); - propertyAssignments[0].getPropertyType().setCode("$NAME"); + propertyAssignments[0].getPropertyType().setCode("NAME"); propertyAssignments[0].setMandatory(false); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(true); propertyAssignments[0].getPropertyType().setLabel("Name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("Name"); propertyAssignments[1] = PropertyAssignmentFactory.createPropertyAssignment( fetchOptions.withPropertyAssignments()); - propertyAssignments[1].getPropertyType().setCode("$DOCUMENT"); + propertyAssignments[1].getPropertyType().setCode("DOCUMENT"); propertyAssignments[1].setMandatory(false); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(true); propertyAssignments[1].getPropertyType().setLabel("Document"); propertyAssignments[1].getPropertyType().setDataType(DataType.MULTILINE_VARCHAR); propertyAssignments[1].getPropertyType().setDescription("Document"); @@ -122,9 +124,10 @@ class SampleTypeExpectations extends Expectations propertyAssignments[2] = PropertyAssignmentFactory.createPropertyAssignment( fetchOptions.withPropertyAssignments()); - propertyAssignments[2].getPropertyType().setCode("$ANNOTATIONS_STATE"); + propertyAssignments[2].getPropertyType().setCode("ANNOTATIONS_STATE"); propertyAssignments[2].setMandatory(false); propertyAssignments[2].setShowInEditView(false); + propertyAssignments[2].getPropertyType().setManagedInternally(true); propertyAssignments[2].getPropertyType().setLabel("Annotations State"); propertyAssignments[2].getPropertyType().setDataType(DataType.XML); propertyAssignments[2].getPropertyType().setDescription("Annotations State"); 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 820d75963cd32ef2ee7aad6222a2729e1628c5bf..b83874fe903289b002155a943874cdaccd26cc29 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 @@ -100,10 +100,11 @@ class SampleTypeWithBareSamplePropertyExpectations extends Expectations propertyAssignments[0] = PropertyAssignmentFactory.createPropertyAssignment( fetchOptions.withPropertyAssignments()); - propertyAssignments[0].getPropertyType().setCode("$NAME"); + propertyAssignments[0].getPropertyType().setCode("NAME"); propertyAssignments[0].setMandatory(true); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(true); propertyAssignments[0].getPropertyType().setLabel("Name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("Name"); @@ -114,6 +115,7 @@ class SampleTypeWithBareSamplePropertyExpectations extends Expectations propertyAssignments[1].setMandatory(true); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(false); propertyAssignments[1].getPropertyType().setLabel("Open"); propertyAssignments[1].getPropertyType().setDataType(DataType.BOOLEAN); propertyAssignments[1].getPropertyType().setDescription("Marks the program open for assignment"); @@ -125,6 +127,7 @@ class SampleTypeWithBareSamplePropertyExpectations extends Expectations propertyAssignments[2].setMandatory(true); propertyAssignments[2].setShowInEditView(true); propertyAssignments[2].setSection("General info"); + propertyAssignments[2].getPropertyType().setManagedInternally(false); propertyAssignments[2].getPropertyType().setLabel("Start date"); propertyAssignments[2].getPropertyType().setDataType(DataType.TIMESTAMP); propertyAssignments[2].getPropertyType().setDescription("Start date"); @@ -135,6 +138,7 @@ class SampleTypeWithBareSamplePropertyExpectations extends Expectations propertyAssignments[3].setMandatory(true); propertyAssignments[3].setShowInEditView(true); propertyAssignments[3].setSection("General info"); + propertyAssignments[3].getPropertyType().setManagedInternally(false); propertyAssignments[3].getPropertyType().setLabel("End date"); propertyAssignments[3].getPropertyType().setDataType(DataType.TIMESTAMP); propertyAssignments[3].getPropertyType().setDescription("End date"); @@ -145,6 +149,7 @@ class SampleTypeWithBareSamplePropertyExpectations extends Expectations propertyAssignments[4].setMandatory(false); propertyAssignments[4].setShowInEditView(true); propertyAssignments[4].setSection("General info"); + propertyAssignments[4].getPropertyType().setManagedInternally(false); propertyAssignments[4].getPropertyType().setLabel("Teacher"); propertyAssignments[4].getPropertyType().setDataType(DataType.SAMPLE); propertyAssignments[4].getPropertyType().setDescription("Teacher"); 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 32789bee5aa3eb6726ddeb798daaa47dbc65bd5b..8b1ad81ccb32b6ea32226b74351c6bcb6f0a7428 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 @@ -144,6 +144,7 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations propertyAssignments[0].setMandatory(true); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(true); propertyAssignments[0].getPropertyType().setLabel("Name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("Name"); @@ -153,6 +154,7 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations propertyAssignments[1].setMandatory(true); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(false); propertyAssignments[1].getPropertyType().setLabel("Address"); propertyAssignments[1].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[1].getPropertyType().setDescription("Address"); @@ -170,6 +172,7 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations propertyAssignments[0].setMandatory(true); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(false); propertyAssignments[0].getPropertyType().setLabel("First name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("First name"); @@ -179,6 +182,7 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations propertyAssignments[1].setMandatory(true); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(false); propertyAssignments[1].getPropertyType().setLabel("Last name"); propertyAssignments[1].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[1].getPropertyType().setDescription("Last name"); @@ -188,6 +192,7 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations propertyAssignments[2].setMandatory(false); propertyAssignments[2].setShowInEditView(true); propertyAssignments[2].setSection("General info"); + propertyAssignments[2].getPropertyType().setManagedInternally(false); propertyAssignments[2].getPropertyType().setLabel("Department"); propertyAssignments[2].getPropertyType().setDataType(DataType.SAMPLE); final SampleType sampleType = new SampleType(); @@ -207,10 +212,11 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations final PropertyAssignment[] propertyAssignments = new PropertyAssignment[5]; propertyAssignments[0] = PropertyAssignmentFactory.createPropertyAssignment(propertyAssignmentFetchOptions); - propertyAssignments[0].getPropertyType().setCode("$NAME"); + propertyAssignments[0].getPropertyType().setCode("NAME"); propertyAssignments[0].setMandatory(true); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(true); propertyAssignments[0].getPropertyType().setLabel("Name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("Name"); @@ -220,6 +226,7 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations propertyAssignments[1].setMandatory(true); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(false); propertyAssignments[1].getPropertyType().setLabel("Open"); propertyAssignments[1].getPropertyType().setDataType(DataType.BOOLEAN); propertyAssignments[1].getPropertyType().setDescription("Marks the program open for assignment"); @@ -229,6 +236,7 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations propertyAssignments[2].setMandatory(true); propertyAssignments[2].setShowInEditView(true); propertyAssignments[2].setSection("General info"); + propertyAssignments[2].getPropertyType().setManagedInternally(false); propertyAssignments[2].getPropertyType().setLabel("Start date"); propertyAssignments[2].getPropertyType().setDataType(DataType.TIMESTAMP); propertyAssignments[2].getPropertyType().setDescription("Start date"); @@ -238,6 +246,7 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations propertyAssignments[3].setMandatory(true); propertyAssignments[3].setShowInEditView(true); propertyAssignments[3].setSection("General info"); + propertyAssignments[3].getPropertyType().setManagedInternally(false); propertyAssignments[3].getPropertyType().setLabel("End date"); propertyAssignments[3].getPropertyType().setDataType(DataType.TIMESTAMP); propertyAssignments[3].getPropertyType().setDescription("End date"); @@ -247,6 +256,7 @@ class SampleTypeWithChainedSamplePropertiesExpectations extends Expectations propertyAssignments[4].setMandatory(false); propertyAssignments[4].setShowInEditView(true); propertyAssignments[4].setSection("General info"); + propertyAssignments[4].getPropertyType().setManagedInternally(false); propertyAssignments[4].getPropertyType().setLabel("Teacher"); propertyAssignments[4].getPropertyType().setDataType(DataType.SAMPLE); final SampleType sampleType = new SampleType(); 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 2133fd350ff0e13f2fd775fa7ae39327dbc0c403..ce59a4b7252fc93f8d970bbd48adfa7c314e3903 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 @@ -143,6 +143,7 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations propertyAssignments[0].setMandatory(true); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(true); propertyAssignments[0].getPropertyType().setLabel("Name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("Name"); @@ -152,6 +153,7 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations propertyAssignments[1].setMandatory(true); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(false); propertyAssignments[1].getPropertyType().setLabel("Address"); propertyAssignments[1].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[1].getPropertyType().setDescription("Address"); @@ -161,6 +163,7 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations propertyAssignments[2].setMandatory(true); propertyAssignments[2].setShowInEditView(true); propertyAssignments[2].setSection("General info"); + propertyAssignments[2].getPropertyType().setManagedInternally(false); propertyAssignments[2].getPropertyType().setLabel("Course"); propertyAssignments[2].getPropertyType().setDataType(DataType.SAMPLE); final SampleType sampleType = new SampleType(); @@ -181,6 +184,7 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations propertyAssignments[0].setMandatory(true); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(false); propertyAssignments[0].getPropertyType().setLabel("First name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("First name"); @@ -190,6 +194,7 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations propertyAssignments[1].setMandatory(true); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(false); propertyAssignments[1].getPropertyType().setLabel("Last name"); propertyAssignments[1].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[1].getPropertyType().setDescription("Last name"); @@ -199,6 +204,7 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations propertyAssignments[2].setMandatory(false); propertyAssignments[2].setShowInEditView(true); propertyAssignments[2].setSection("General info"); + propertyAssignments[2].getPropertyType().setManagedInternally(false); propertyAssignments[2].getPropertyType().setLabel("Department"); propertyAssignments[2].getPropertyType().setDataType(DataType.SAMPLE); final SampleType sampleType = new SampleType(); @@ -217,10 +223,11 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations final PropertyAssignment[] propertyAssignments = new PropertyAssignment[5]; propertyAssignments[0] = PropertyAssignmentFactory.createPropertyAssignment(propertyAssignmentFetchOptions); - propertyAssignments[0].getPropertyType().setCode("$NAME"); + propertyAssignments[0].getPropertyType().setCode("NAME"); propertyAssignments[0].setMandatory(true); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(true); propertyAssignments[0].getPropertyType().setLabel("Name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("Name"); @@ -230,6 +237,7 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations propertyAssignments[1].setMandatory(true); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(false); propertyAssignments[1].getPropertyType().setLabel("Open"); propertyAssignments[1].getPropertyType().setDataType(DataType.BOOLEAN); propertyAssignments[1].getPropertyType().setDescription("Marks the program open for assignment"); @@ -239,6 +247,7 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations propertyAssignments[2].setMandatory(true); propertyAssignments[2].setShowInEditView(true); propertyAssignments[2].setSection("General info"); + propertyAssignments[2].getPropertyType().setManagedInternally(false); propertyAssignments[2].getPropertyType().setLabel("Start date"); propertyAssignments[2].getPropertyType().setDataType(DataType.TIMESTAMP); propertyAssignments[2].getPropertyType().setDescription("Start date"); @@ -248,6 +257,7 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations propertyAssignments[3].setMandatory(true); propertyAssignments[3].setShowInEditView(true); propertyAssignments[3].setSection("General info"); + propertyAssignments[3].getPropertyType().setManagedInternally(false); propertyAssignments[3].getPropertyType().setLabel("End date"); propertyAssignments[3].getPropertyType().setDataType(DataType.TIMESTAMP); propertyAssignments[3].getPropertyType().setDescription("End date"); @@ -257,6 +267,7 @@ class SampleTypeWithCyclicSamplePropertiesExpectations extends Expectations propertyAssignments[4].setMandatory(false); propertyAssignments[4].setShowInEditView(true); propertyAssignments[4].setSection("General info"); + propertyAssignments[4].getPropertyType().setManagedInternally(false); propertyAssignments[4].getPropertyType().setLabel("Teacher"); propertyAssignments[4].getPropertyType().setDataType(DataType.SAMPLE); final SampleType sampleType = new SampleType(); 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 f04bb060cb19ac4fdb353d021f6aa0ad3ec859b2..366335c732a5774e28f3c79aec29179502f718bc 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 @@ -139,6 +139,7 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations propertyAssignments[0].setMandatory(true); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(false); propertyAssignments[0].getPropertyType().setLabel("First name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("First name"); @@ -149,6 +150,7 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations propertyAssignments[1].setMandatory(true); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(false); propertyAssignments[1].getPropertyType().setLabel("Last name"); propertyAssignments[1].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[1].getPropertyType().setDescription("Last name"); @@ -169,10 +171,11 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations propertyAssignments[0] = PropertyAssignmentFactory.createPropertyAssignment( fetchOptions.withPropertyAssignments()); - propertyAssignments[0].getPropertyType().setCode("$NAME"); + propertyAssignments[0].getPropertyType().setCode("NAME"); propertyAssignments[0].setMandatory(true); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(true); propertyAssignments[0].getPropertyType().setLabel("Name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("Name"); @@ -183,6 +186,7 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations propertyAssignments[1].setMandatory(true); propertyAssignments[1].setShowInEditView(true); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(false); propertyAssignments[1].getPropertyType().setLabel("Open"); propertyAssignments[1].getPropertyType().setDataType(DataType.BOOLEAN); propertyAssignments[1].getPropertyType().setDescription("Marks the program open for assignment"); @@ -194,6 +198,7 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations propertyAssignments[2].setMandatory(true); propertyAssignments[2].setShowInEditView(true); propertyAssignments[2].setSection("General info"); + propertyAssignments[2].getPropertyType().setManagedInternally(false); propertyAssignments[2].getPropertyType().setLabel("Start date"); propertyAssignments[2].getPropertyType().setDataType(DataType.TIMESTAMP); propertyAssignments[2].getPropertyType().setDescription("Start date"); @@ -204,6 +209,7 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations propertyAssignments[3].setMandatory(true); propertyAssignments[3].setShowInEditView(true); propertyAssignments[3].setSection("General info"); + propertyAssignments[3].getPropertyType().setManagedInternally(false); propertyAssignments[3].getPropertyType().setLabel("End date"); propertyAssignments[3].getPropertyType().setDataType(DataType.TIMESTAMP); propertyAssignments[3].getPropertyType().setDescription("End date"); @@ -214,6 +220,7 @@ class SampleTypeWithSamplePropertyExpectations extends Expectations propertyAssignments[4].setMandatory(false); propertyAssignments[4].setShowInEditView(true); propertyAssignments[4].setSection("General info"); + propertyAssignments[4].getPropertyType().setManagedInternally(false); propertyAssignments[4].getPropertyType().setLabel("Teacher"); propertyAssignments[4].getPropertyType().setDataType(DataType.SAMPLE); final SampleType sampleType = new SampleType(); 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 f9114f9ef6b5c0cf98a594c8722b84ec28f5acb9..3eb95e9a342fb212f72b8b322481612f7d6b6edd 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 @@ -179,20 +179,22 @@ class SampleTypeWithVocabularyPropertyExpectations extends Expectations propertyAssignments[0] = PropertyAssignmentFactory.createPropertyAssignment( fetchOptions.withPropertyAssignments()); - propertyAssignments[0].getPropertyType().setCode("$NAME"); + propertyAssignments[0].getPropertyType().setCode("NAME"); propertyAssignments[0].setMandatory(false); propertyAssignments[0].setShowInEditView(true); propertyAssignments[0].setSection("General info"); + propertyAssignments[0].getPropertyType().setManagedInternally(true); propertyAssignments[0].getPropertyType().setLabel("Name"); propertyAssignments[0].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[0].getPropertyType().setDescription("Name"); propertyAssignments[1] = PropertyAssignmentFactory.createPropertyAssignment( fetchOptions.withPropertyAssignments()); - propertyAssignments[1].getPropertyType().setCode("$BARCODE"); + propertyAssignments[1].getPropertyType().setCode("BARCODE"); propertyAssignments[1].setMandatory(false); propertyAssignments[1].setShowInEditView(false); propertyAssignments[1].setSection("General info"); + propertyAssignments[1].getPropertyType().setManagedInternally(true); propertyAssignments[1].getPropertyType().setLabel("Custom Barcode"); propertyAssignments[1].getPropertyType().setDataType(DataType.VARCHAR); propertyAssignments[1].getPropertyType().setDescription("Custom Barcode"); @@ -203,6 +205,7 @@ class SampleTypeWithVocabularyPropertyExpectations extends Expectations propertyAssignments[2].setMandatory(false); propertyAssignments[2].setShowInEditView(true); propertyAssignments[2].setSection("General info"); + propertyAssignments[2].getPropertyType().setManagedInternally(false); propertyAssignments[2].getPropertyType().setLabel("Antibody host"); propertyAssignments[2].getPropertyType().setDataType(DataType.CONTROLLEDVOCABULARY); final Vocabulary vocabulary = new Vocabulary(); 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 755c51dc26e8712e6945501a60fdaa3966cffd97..56d8359974934e87053beee3b962f312a8d32cc0 100644 Binary files a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-chained-sample-properties.xlsx and b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-chained-sample-properties.xlsx differ 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 6d49c3efd75c1628a586ca8b5df2ac3ef96fa92f..3de0cb40e840ca239231956fd7f1b3991e4d6d54 100644 Binary files a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-cyclic-sample-properties.xlsx and b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-sample-type-with-cyclic-sample-properties.xlsx differ