From fa9c1f83ebc4dbcce43049b5cbae0ea9d8da811a Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Fri, 10 May 2024 11:11:09 +0200 Subject: [PATCH] Sostituito check di annotation Master tramite il nuovo scan mapping --- .../it/integry/ems/service/EntityProcessor.java | 14 ++------------ .../ems_model/base/EntityPropertyHolder.java | 9 ++++++++- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/ems-core/src/main/java/it/integry/ems/service/EntityProcessor.java b/ems-core/src/main/java/it/integry/ems/service/EntityProcessor.java index 836d8157d0..0aec51e6b9 100644 --- a/ems-core/src/main/java/it/integry/ems/service/EntityProcessor.java +++ b/ems-core/src/main/java/it/integry/ems/service/EntityProcessor.java @@ -18,7 +18,6 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager; import it.integry.ems.sync.SyncManager; import it.integry.ems.user.UtilityUser; import it.integry.ems.utility.UtilityDebug; -import it.integry.ems_model.annotation.Master; import it.integry.ems_model.base.EntityBase; import it.integry.ems_model.base.EntityInterface; import it.integry.ems_model.base.EntityPropertyHolder; @@ -38,7 +37,6 @@ import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; import java.io.StringWriter; -import java.lang.annotation.Annotation; import java.sql.*; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -177,15 +175,7 @@ public class EntityProcessor { private void checkEntityChildsUsage(EntityInterface entityInterface, MultiDBTransactionManager multiDBTransactionManager) throws Exception { - - - List annotationClasses = new ArrayList<>(); - - for (Annotation annotation : Arrays.asList(entityInterface.getClass().getDeclaredAnnotations())) { - annotationClasses.add(annotation.annotationType()); - } - - boolean isMaster = annotationClasses.contains(Master.class); + boolean isMaster = entityPropertyHolder.isEntityMaster(((EntityBase) entityInterface).getClass());; OperationType operationType = entityInterface.getOperation(); if (!isMaster && (operationType != OperationType.SELECT_OBJECT && operationType != OperationType.SELECT)) { @@ -300,7 +290,7 @@ public class EntityProcessor { if (syncDetail != null) { if (!UtilityString.isNullOrEmpty(syncDetail.getRecalcColumnsField())) entityCloned.setRecalcColumns(Arrays.asList(syncDetail.getRecalcColumnsField().split(","))); - + whereCond = syncDetail.getWhereCondSql(); } diff --git a/ems-core/src/main/java/it/integry/ems_model/base/EntityPropertyHolder.java b/ems-core/src/main/java/it/integry/ems_model/base/EntityPropertyHolder.java index a4111d51e3..cd0c93d65a 100644 --- a/ems-core/src/main/java/it/integry/ems_model/base/EntityPropertyHolder.java +++ b/ems-core/src/main/java/it/integry/ems_model/base/EntityPropertyHolder.java @@ -68,6 +68,13 @@ public class EntityPropertyHolder { .findFirst().orElse(null); } + public boolean isEntityMaster(Class clazz) { + return entityHierarchyMap.stream() + .filter(x -> x.getClazz().equals(clazz)) + .map(EntityHierarchy::isMaster) + .findFirst().orElse(false); + } + public List getEntityHierarchyMap() { return entityHierarchyMap; } @@ -532,7 +539,7 @@ public class EntityPropertyHolder { return null; } - public List getEntityChildren(Class entity) { + private List getEntityChildren(Class entity) { List children = new ArrayList<>(); Field[] fields = entity.getDeclaredFields(); for (Field field : fields) {