This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new 8a4efc7c10 Fixing ItemTransformer for Realms
8a4efc7c10 is described below

commit 8a4efc7c10bc20b196fe32cd2d0f5221d5e33354
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Thu Nov 27 14:32:14 2025 +0100

    Fixing ItemTransformer for Realms
---
 .../implementations/MyItemTransformer.groovy       |  4 ++--
 .../provisioning/api/data/ItemTransformer.java     | 25 +++-------------------
 .../java/data/JEXLItemTransformerImpl.java         | 20 ++++++++---------
 .../core/reference/DateToDateItemTransformer.java  |  6 +++---
 .../core/reference/DateToLongItemTransformer.java  |  6 +++---
 .../test/resources/PrefixItemTransformer.groovy    |  4 ++--
 6 files changed, 23 insertions(+), 42 deletions(-)

diff --git 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/implementations/MyItemTransformer.groovy
 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/implementations/MyItemTransformer.groovy
index 6d028a3282..f8801d6df5 100644
--- 
a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/implementations/MyItemTransformer.groovy
+++ 
b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/implementations/MyItemTransformer.groovy
@@ -20,7 +20,7 @@ import java.util.List;
 import org.apache.syncope.common.lib.to.EntityTO
 import org.apache.syncope.common.lib.to.Item
 import org.apache.syncope.common.lib.types.AttrSchemaType
-import org.apache.syncope.core.persistence.api.entity.Any
+import org.apache.syncope.core.persistence.api.entity.Attributable
 import org.apache.syncope.core.persistence.api.entity.PlainAttrValue
 import org.apache.syncope.core.provisioning.api.MappingManager
 import org.apache.syncope.core.provisioning.api.data.ItemTransformer
@@ -30,7 +30,7 @@ class MyItemTransformer implements ItemTransformer {
   @Override
   MappingManager.IntValues beforePropagation(
     Item item,
-    Any any,
+    Attributable attributable,
     AttrSchemaType schemaType,
     List<PlainAttrValue> values) {
 
diff --git 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java
 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java
index 0f13b63e0a..2cd8697f1c 100644
--- 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java
+++ 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/data/ItemTransformer.java
@@ -22,9 +22,8 @@ import java.util.List;
 import org.apache.syncope.common.lib.to.EntityTO;
 import org.apache.syncope.common.lib.to.Item;
 import org.apache.syncope.common.lib.types.AttrSchemaType;
-import org.apache.syncope.core.persistence.api.entity.Any;
+import org.apache.syncope.core.persistence.api.entity.Attributable;
 import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
-import org.apache.syncope.core.persistence.api.entity.Realm;
 import org.apache.syncope.core.provisioning.api.MappingManager;
 
 /**
@@ -37,32 +36,14 @@ public interface ItemTransformer {
      * Invoked while preparing attribute values to be sent out to external 
resource during propagation.
      *
      * @param item mapping item
-     * @param realm realm
+     * @param attributable any or realm
      * @param schemaType schema type
      * @param values original values
      * @return transformed values
      */
     default MappingManager.IntValues beforePropagation(
             Item item,
-            Realm realm,
-            AttrSchemaType schemaType,
-            List<PlainAttrValue> values) {
-
-        return new MappingManager.IntValues(schemaType, values);
-    }
-
-    /**
-     * Invoked while preparing attribute values to be sent out to external 
resource during propagation.
-     *
-     * @param item mapping item
-     * @param any any
-     * @param schemaType schema type
-     * @param values original values
-     * @return transformed values
-     */
-    default MappingManager.IntValues beforePropagation(
-            Item item,
-            Any any,
+            Attributable attributable,
             AttrSchemaType schemaType,
             List<PlainAttrValue> values) {
 
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
index 1679e3916c..a0aef8c3a9 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/JEXLItemTransformerImpl.java
@@ -29,7 +29,7 @@ import org.apache.syncope.common.lib.to.AnyTO;
 import org.apache.syncope.common.lib.to.EntityTO;
 import org.apache.syncope.common.lib.to.Item;
 import org.apache.syncope.common.lib.types.AttrSchemaType;
-import org.apache.syncope.core.persistence.api.entity.Any;
+import org.apache.syncope.core.persistence.api.entity.Attributable;
 import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
 import org.apache.syncope.core.provisioning.api.DerAttrHandler;
 import org.apache.syncope.core.provisioning.api.MappingManager;
@@ -61,15 +61,15 @@ public class JEXLItemTransformerImpl implements 
JEXLItemTransformer {
     }
 
     protected AttrSchemaType beforePropagation(
-            final Any any,
+            final Attributable attributable,
             final AttrSchemaType schemaType,
             final PlainAttrValue value) {
 
         JexlContextBuilder builder = new JexlContextBuilder();
-        if (any != null) {
-            builder.fields(any).
-                    plainAttrs(any.getPlainAttrs()).
-                    derAttrs(any, derAttrHandler);
+        if (attributable != null) {
+            builder.fields(attributable).
+                    plainAttrs(attributable.getPlainAttrs()).
+                    derAttrs(attributable, derAttrHandler);
         }
         JexlContext jexlContext = builder.build();
 
@@ -147,21 +147,21 @@ public class JEXLItemTransformerImpl implements 
JEXLItemTransformer {
     @Override
     public MappingManager.IntValues beforePropagation(
             final Item item,
-            final Any any,
+            final Attributable attributable,
             final AttrSchemaType schemaType,
             final List<PlainAttrValue> values) {
 
         if (StringUtils.isBlank(propagationJEXL)) {
-            return JEXLItemTransformer.super.beforePropagation(item, any, 
schemaType, values);
+            return JEXLItemTransformer.super.beforePropagation(item, 
attributable, schemaType, values);
         }
 
         Mutable<AttrSchemaType> tType = new MutableObject<>();
         if (values.isEmpty()) {
             PlainAttrValue value = new PlainAttrValue();
-            tType.setValue(beforePropagation(any, schemaType, value));
+            tType.setValue(beforePropagation(attributable, schemaType, value));
             values.add(value);
         } else {
-            values.forEach(value -> tType.setValue(beforePropagation(any, 
schemaType, value)));
+            values.forEach(value -> 
tType.setValue(beforePropagation(attributable, schemaType, value)));
         }
 
         return new MappingManager.IntValues(tType.get(), values);
diff --git 
a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DateToDateItemTransformer.java
 
b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DateToDateItemTransformer.java
index e01a09f670..d1a0978612 100644
--- 
a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DateToDateItemTransformer.java
+++ 
b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DateToDateItemTransformer.java
@@ -21,7 +21,7 @@ package org.apache.syncope.fit.core.reference;
 import java.util.List;
 import org.apache.syncope.common.lib.to.Item;
 import org.apache.syncope.common.lib.types.AttrSchemaType;
-import org.apache.syncope.core.persistence.api.entity.Any;
+import org.apache.syncope.core.persistence.api.entity.Attributable;
 import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
 import org.apache.syncope.core.provisioning.api.MappingManager;
 import org.apache.syncope.core.provisioning.api.data.ItemTransformer;
@@ -34,12 +34,12 @@ public class DateToDateItemTransformer implements 
ItemTransformer {
     @Override
     public MappingManager.IntValues beforePropagation(
             final Item item,
-            final Any any,
+            final Attributable attributable,
             final AttrSchemaType schemaType,
             final List<PlainAttrValue> values) {
 
         if (values == null || values.isEmpty() || 
values.getFirst().getDateValue() == null) {
-            return ItemTransformer.super.beforePropagation(item, any, 
schemaType, values);
+            return ItemTransformer.super.beforePropagation(item, attributable, 
schemaType, values);
         }
 
         
values.getFirst().setDateValue(values.getFirst().getDateValue().plusDays(1));
diff --git 
a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DateToLongItemTransformer.java
 
b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DateToLongItemTransformer.java
index 924b6d4cca..961e74a55e 100644
--- 
a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DateToLongItemTransformer.java
+++ 
b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/DateToLongItemTransformer.java
@@ -21,7 +21,7 @@ package org.apache.syncope.fit.core.reference;
 import java.util.List;
 import org.apache.syncope.common.lib.to.Item;
 import org.apache.syncope.common.lib.types.AttrSchemaType;
-import org.apache.syncope.core.persistence.api.entity.Any;
+import org.apache.syncope.core.persistence.api.entity.Attributable;
 import org.apache.syncope.core.persistence.api.entity.PlainAttrValue;
 import org.apache.syncope.core.provisioning.api.MappingManager;
 import org.apache.syncope.core.provisioning.api.data.ItemTransformer;
@@ -34,12 +34,12 @@ public class DateToLongItemTransformer implements 
ItemTransformer {
     @Override
     public MappingManager.IntValues beforePropagation(
             final Item item,
-            final Any any,
+            final Attributable attributable,
             final AttrSchemaType schemaType,
             final List<PlainAttrValue> values) {
 
         if (values == null || values.isEmpty() || 
values.getFirst().getDateValue() == null) {
-            return ItemTransformer.super.beforePropagation(item, any, 
schemaType, values);
+            return ItemTransformer.super.beforePropagation(item, attributable, 
schemaType, values);
         }
 
         
values.getFirst().setLongValue(values.getFirst().getDateValue().toInstant().toEpochMilli());
diff --git a/fit/core-reference/src/test/resources/PrefixItemTransformer.groovy 
b/fit/core-reference/src/test/resources/PrefixItemTransformer.groovy
index 121e76e6b0..a0cd20bb68 100644
--- a/fit/core-reference/src/test/resources/PrefixItemTransformer.groovy
+++ b/fit/core-reference/src/test/resources/PrefixItemTransformer.groovy
@@ -22,7 +22,7 @@ import org.apache.commons.lang3.StringUtils
 import org.apache.syncope.common.lib.to.EntityTO
 import org.apache.syncope.common.lib.to.Item
 import org.apache.syncope.common.lib.types.AttrSchemaType
-import org.apache.syncope.core.persistence.api.entity.Any
+import org.apache.syncope.core.persistence.api.entity.Attributable
 import org.apache.syncope.core.persistence.api.entity.PlainAttrValue
 import org.apache.syncope.core.provisioning.api.MappingManager
 import org.apache.syncope.core.provisioning.api.data.ItemTransformer
@@ -34,7 +34,7 @@ class PrefixItemTransformer implements ItemTransformer {
   @Override
   MappingManager.IntValues beforePropagation(
     Item item,
-    Any any,
+    Attributable attributable,
     AttrSchemaType schemaType,
     List<PlainAttrValue> values) {
 

Reply via email to