From a7dd4e11e718915aa1717a89de0f91e51d9471d7 Mon Sep 17 00:00:00 2001
From: alaskowski <alaskowski@ethz.ch>
Date: Fri, 21 Jul 2023 14:48:32 +0200
Subject: [PATCH] SSDM-55: more debug logs

---
 .../dataaccess/EntityPropertiesConverter.java | 26 ++++++++++++++++++-
 .../PlaceholderPropertyCreator.java           |  9 +++++++
 2 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/EntityPropertiesConverter.java b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/EntityPropertiesConverter.java
index cc590dd6604..eb309989c10 100644
--- a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/EntityPropertiesConverter.java
+++ b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/EntityPropertiesConverter.java
@@ -268,6 +268,7 @@ public final class EntityPropertiesConverter implements IEntityPropertiesConvert
             final PersonPE registrator,
             final EntityTypePE entityTypePE, final IEntityProperty property)
     {
+        operationLog.info("||> tryConvertProperty START");
         final String propertyCode = property.getPropertyType().getCode();
         final PropertyTypePE propertyType = getPropertyType(propertyCode);
         final String valueOrNull = property.tryGetAsString();
@@ -280,6 +281,8 @@ public final class EntityPropertiesConverter implements IEntityPropertiesConvert
         {
             throw UserFailureException.fromTemplate(NO_ENTITY_PROPERTY_VALUE_FOR_S, propertyCode);
         }
+        operationLog.info("||> tryConvertProperty " + propertyCode + " " +
+                propertyType + " val:|" + valueOrNull + "| isBlank:" + isNullOrBlank(valueOrNull));
         if (isNullOrBlank(valueOrNull) == false)
         {
             List<T> results = new ArrayList<>();
@@ -287,10 +290,13 @@ public final class EntityPropertiesConverter implements IEntityPropertiesConvert
 
             final String validatedValue =
                     propertyValueValidator.validatePropertyValue(propertyType, translatedValue);
+            operationLog.info("||> tryConvertProperty translated:" + translatedValue + " validated:"+validatedValue);
             results.addAll(createEntityProperty(registrator, propertyType, entityTypePropertyTypePE,
                     validatedValue));
+            operationLog.info("||> tryConvertProperty POST1");
+            results.forEach(operationLog::info);
+            operationLog.info("||> tryConvertProperty POST2");
             return results;
-
         }
         return null;
     }
@@ -302,15 +308,18 @@ public final class EntityPropertiesConverter implements IEntityPropertiesConvert
     {
         List<T> entityProperties = new ArrayList<>();
         String val = value;
+        operationLog.info("||> createEntityProperty=" + val + " " + propertyType.isMultiValue() + " " + propertyType);
         if (propertyType.isMultiValue())
         {
             if (val.startsWith("["))
             {
+                operationLog.info("||> createEntityProperty array:" + val);
                 val = val.substring(1, val.length() - 1);
             }
             for (String v : val.split(","))
             {
                 String singleValue = v.trim();
+                operationLog.info("||> createEntityProperty single=" + singleValue);
                 final T entityProperty = getEntityPropertyBase(registrator, entityTypePropertyType);
                 setPropertyValue(entityProperty, propertyType, singleValue);
                 entityProperties.add(entityProperty);
@@ -319,8 +328,12 @@ public final class EntityPropertiesConverter implements IEntityPropertiesConvert
         {
             final T entityProperty = getEntityPropertyBase(registrator, entityTypePropertyType);
             setPropertyValue(entityProperty, propertyType, val);
+            operationLog.info("||> createEntityProperty single:" + entityProperty);
             entityProperties.add(entityProperty);
         }
+        operationLog.info("||> createEntityProperty POST1");
+        entityProperties.forEach(operationLog::info);
+        operationLog.info("||> createEntityProperty POST2");
         return entityProperties;
     }
 
@@ -359,19 +372,30 @@ public final class EntityPropertiesConverter implements IEntityPropertiesConvert
         final EntityTypePE entityTypePE = getEntityType(entityTypeCode);
         Set<String> dynamicProperties = getDynamicProperties(entityTypePE);
         Set<String> managedProperties = getManagedProperties(entityTypePE);
+        operationLog.info("||> convertProperties dynamicProperties");
+        dynamicProperties.forEach(operationLog::info);
+        operationLog.info("||> convertProperties managedProperties");
+        managedProperties.forEach(operationLog::info);
         Set<IEntityProperty> definedProperties =
                 new LinkedHashSet<IEntityProperty>(Arrays.asList(properties));
+        operationLog.info("||> convertProperties definedProps1");
+        definedProperties.forEach(operationLog::info);
         if (createDynamicPropertiesPlaceholders)
         {
             placeholderCreator.addDynamicPropertiesPlaceholders(definedProperties,
                     dynamicProperties);
+            operationLog.info("||> convertProperties definedProps2");
+            definedProperties.forEach(operationLog::info);
         }
         if (createManagedPropertiesPlaceholders)
         {
             placeholderCreator.addManagedPropertiesPlaceholders(definedProperties,
                     managedProperties);
+            operationLog.info("||> convertProperties definedProps3");
+            definedProperties.forEach(operationLog::info);
         }
         final List<T> list = new ArrayList<T>();
+        operationLog.info("||> convertProperties PRE");
         for (final IEntityProperty property : definedProperties)
         {
             final List<T> convertedPropertyOrNull =
diff --git a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/PlaceholderPropertyCreator.java b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/PlaceholderPropertyCreator.java
index e650b70b73e..21f887edf78 100644
--- a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/PlaceholderPropertyCreator.java
+++ b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/PlaceholderPropertyCreator.java
@@ -17,13 +17,18 @@ package ch.systemsx.cisd.openbis.generic.server.dataaccess;
 
 import java.util.Set;
 
+import ch.systemsx.cisd.common.logging.LogCategory;
+import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.openbis.generic.shared.basic.BasicConstant;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
+import org.apache.log4j.Logger;
 
 class PlaceholderPropertyCreator implements IPropertyPlaceholderCreator
 {
+    private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION,
+            PlaceholderPropertyCreator.class);
     /**
      * Adds placeholders for <var>dynamicProperties</var> to <var>definedProperties</var> if they don't exist yet.
      */
@@ -56,12 +61,16 @@ class PlaceholderPropertyCreator implements IPropertyPlaceholderCreator
         {
             if (definedProperties.contains(p) == false)
             {
+                operationLog.info("||> addPlaceholders contains BEFORE:|" + p + "| " + placeholderValue);
+                definedProperties.forEach(operationLog::info);
                 final IEntityProperty entityProperty = new EntityProperty();
                 entityProperty.setValue(placeholderValue);
                 PropertyType propertyType = new PropertyType();
                 propertyType.setCode(p);
                 entityProperty.setPropertyType(propertyType);
                 definedProperties.add(entityProperty);
+                operationLog.info("||> addPlaceholders AFTER:" + p);
+                definedProperties.forEach(operationLog::info);
             }
         }
     }
-- 
GitLab