Sostituito check di annotation Master tramite il nuovo scan mapping

This commit is contained in:
2024-05-10 11:11:09 +02:00
parent 9fa386ea8c
commit fa9c1f83eb
2 changed files with 10 additions and 13 deletions

View File

@@ -18,7 +18,6 @@ import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.sync.SyncManager; import it.integry.ems.sync.SyncManager;
import it.integry.ems.user.UtilityUser; import it.integry.ems.user.UtilityUser;
import it.integry.ems.utility.UtilityDebug; 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.EntityBase;
import it.integry.ems_model.base.EntityInterface; import it.integry.ems_model.base.EntityInterface;
import it.integry.ems_model.base.EntityPropertyHolder; import it.integry.ems_model.base.EntityPropertyHolder;
@@ -38,7 +37,6 @@ import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.StringWriter; import java.io.StringWriter;
import java.lang.annotation.Annotation;
import java.sql.*; import java.sql.*;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
@@ -177,15 +175,7 @@ public class EntityProcessor {
private void checkEntityChildsUsage(EntityInterface entityInterface, MultiDBTransactionManager multiDBTransactionManager) throws Exception { private void checkEntityChildsUsage(EntityInterface entityInterface, MultiDBTransactionManager multiDBTransactionManager) throws Exception {
boolean isMaster = entityPropertyHolder.isEntityMaster(((EntityBase) entityInterface).getClass());;
List<Class> annotationClasses = new ArrayList<>();
for (Annotation annotation : Arrays.asList(entityInterface.getClass().getDeclaredAnnotations())) {
annotationClasses.add(annotation.annotationType());
}
boolean isMaster = annotationClasses.contains(Master.class);
OperationType operationType = entityInterface.getOperation(); OperationType operationType = entityInterface.getOperation();
if (!isMaster && (operationType != OperationType.SELECT_OBJECT && operationType != OperationType.SELECT)) { if (!isMaster && (operationType != OperationType.SELECT_OBJECT && operationType != OperationType.SELECT)) {
@@ -300,7 +290,7 @@ public class EntityProcessor {
if (syncDetail != null) { if (syncDetail != null) {
if (!UtilityString.isNullOrEmpty(syncDetail.getRecalcColumnsField())) if (!UtilityString.isNullOrEmpty(syncDetail.getRecalcColumnsField()))
entityCloned.setRecalcColumns(Arrays.asList(syncDetail.getRecalcColumnsField().split(","))); entityCloned.setRecalcColumns(Arrays.asList(syncDetail.getRecalcColumnsField().split(",")));
whereCond = syncDetail.getWhereCondSql(); whereCond = syncDetail.getWhereCondSql();
} }

View File

@@ -68,6 +68,13 @@ public class EntityPropertyHolder {
.findFirst().orElse(null); .findFirst().orElse(null);
} }
public boolean isEntityMaster(Class<? extends EntityBase> clazz) {
return entityHierarchyMap.stream()
.filter(x -> x.getClazz().equals(clazz))
.map(EntityHierarchy::isMaster)
.findFirst().orElse(false);
}
public List<EntityHierarchy> getEntityHierarchyMap() { public List<EntityHierarchy> getEntityHierarchyMap() {
return entityHierarchyMap; return entityHierarchyMap;
} }
@@ -532,7 +539,7 @@ public class EntityPropertyHolder {
return null; return null;
} }
public List<EntityHierarchy> getEntityChildren(Class<? extends EntityBase> entity) { private List<EntityHierarchy> getEntityChildren(Class<? extends EntityBase> entity) {
List<EntityHierarchy> children = new ArrayList<>(); List<EntityHierarchy> children = new ArrayList<>();
Field[] fields = entity.getDeclaredFields(); Field[] fields = entity.getDeclaredFields();
for (Field field : fields) { for (Field field : fields) {