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.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<Class> 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();
}

View File

@@ -68,6 +68,13 @@ public class EntityPropertyHolder {
.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() {
return entityHierarchyMap;
}
@@ -532,7 +539,7 @@ public class EntityPropertyHolder {
return null;
}
public List<EntityHierarchy> getEntityChildren(Class<? extends EntityBase> entity) {
private List<EntityHierarchy> getEntityChildren(Class<? extends EntityBase> entity) {
List<EntityHierarchy> children = new ArrayList<>();
Field[] fields = entity.getDeclaredFields();
for (Field field : fields) {