From bd65cdbd6b4592ad8e3f074137e7d37092037b51 Mon Sep 17 00:00:00 2001
From: vkovtun <viktor.kovtun@id.ethz.ch>
Date: Mon, 3 Apr 2023 17:18:40 +0200
Subject: [PATCH] SSDM-13256: Fixed the "No value present" exception.

---
 .../helper/AbstractXLSEntityExportHelper.java       | 13 ++-----------
 .../xls/export/helper/AbstractXLSExportHelper.java  |  2 +-
 .../server/xls/export/DataSetExpectations.java      |  4 ++--
 .../server/xls/export/ExperimentExpectations.java   |  4 ++--
 .../server/xls/export/SampleExpectations.java       |  4 ++--
 5 files changed, 9 insertions(+), 18 deletions(-)

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 66ac519bd44..5a7d6c5d6ab 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,14 +135,7 @@ public abstract class AbstractXLSEntityExportHelper<ENTITY extends IPermIdHolder
                                 case PROPERTY:
                                 {
                                     return propertyTypes.stream()
-                                            .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);
-                                            })
+                                            .filter(propertyType -> Objects.equals(propertyType.getCode(), fieldId))
                                             .findFirst()
                                             .orElseThrow(() -> new IllegalArgumentException("Property type not found for id: " + fieldId))
                                             .getLabel();
@@ -172,9 +165,7 @@ 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 -> (propertyType.isManagedInternally() ? INTERNAL_PROPERTY_PREFIX : "")
-                                        + propertyType.getCode(),
-                                propertyType -> propertyType, (o1, o2) -> o2));
+                        .collect(Collectors.toMap(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()))
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 678a9449402..998c0a924c5 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
@@ -173,7 +173,7 @@ public abstract class AbstractXLSExportHelper<ENTITY_TYPE extends IEntityType> i
 
     private static String getProperty(final Map<String, String> properties, final PropertyType propertyType)
     {
-        return properties.get((propertyType.isManagedInternally() ? INTERNAL_PROPERTY_PREFIX : "") + propertyType.getCode());
+        return properties.get(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 20a0098b8c2..074a950497e 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,7 +204,7 @@ 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);
@@ -223,7 +223,7 @@ 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);
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 cd1090372ec..1d8958db4ad 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,7 +198,7 @@ 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);
@@ -217,7 +217,7 @@ 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);
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 d0f2ba1b89b..768ba775488 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,7 +219,7 @@ 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);
@@ -238,7 +238,7 @@ 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);
-- 
GitLab