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

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

commit 0ec35f363487f4e3932b6660f84cb354b4ae9384
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Sat Mar 28 07:38:58 2026 +0100

    [SYNCOPE-1957] Avoid auxClasses changes double processing during update
---
 .../core/provisioning/java/data/AnyDataBinder.java | 24 +++-------------------
 1 file changed, 3 insertions(+), 21 deletions(-)

diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyDataBinder.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyDataBinder.java
index 17f63a573d..4a9757b878 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyDataBinder.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyDataBinder.java
@@ -392,25 +392,7 @@ abstract class AnyDataBinder extends 
AttributableDataBinder {
             final AnyUtils anyUtils,
             final SyncopeClientCompositeException scce) {
 
-        // 1. anyTypeClasses
-        for (StringPatchItem patch : anyUR.getAuxClasses()) {
-            anyTypeClassDAO.findById(patch.getValue()).ifPresentOrElse(
-                    auxClass -> {
-                        switch (patch.getOperation()) {
-                            case ADD_REPLACE:
-                                any.add(auxClass);
-                                break;
-
-                            case DELETE:
-                            default:
-                                any.getAuxClasses().remove(auxClass);
-                        }
-                    },
-                    () -> LOG.debug("Invalid {} {}, ignoring...",
-                            AnyTypeClass.class.getSimpleName(), 
patch.getValue()));
-        }
-
-        // 2. resources
+        // 1. resources
         for (StringPatchItem patch : anyUR.getResources()) {
             resourceDAO.findById(patch.getValue()).ifPresentOrElse(
                     resource -> {
@@ -431,7 +413,7 @@ abstract class AnyDataBinder extends AttributableDataBinder 
{
         Set<ExternalResource> resources = anyUtils.getAllResources(any);
         SyncopeClientException invalidValues = 
SyncopeClientException.build(ClientExceptionType.InvalidValues);
 
-        // 3. plain attributes
+        // 2. plain attributes
         anyUR.getPlainAttrs().stream().filter(patch -> patch.getAttr() != 
null).
                 forEach(patch -> 
getPlainSchema(patch.getAttr().getSchema()).ifPresentOrElse(
                 schema -> {
@@ -464,7 +446,7 @@ abstract class AnyDataBinder extends AttributableDataBinder 
{
             scce.addException(reqValMissing);
         }
 
-        // relationships
+        // 3. relationships
         Set<Pair<String, String>> relationships = new HashSet<>();
         for (RelationshipUR patch : anyUR.getRelationships().stream().
                 filter(patch -> patch.getRelationshipTO() != null).toList()) {

Reply via email to