Sistemato ResponseJSONObjectMapper in modo che onlyPkMaster a false serializzi tutti i campi della Entity

This commit is contained in:
2024-02-21 11:35:16 +01:00
parent 27cdb94dff
commit 5252a0d522

View File

@@ -38,35 +38,40 @@ public class ResponseJSONObjectMapper extends CommonObjectMapper {
writer.serializeAsField(pojo, jgen, provider);
return;
} else {
boolean isEntityBase = false;
boolean onlyPkMaster = true;
EntityBase entityBase = null;
Boolean onlyPkMaster = true;
if (pojo instanceof EntityBase) {
onlyPkMaster = ((EntityBase) pojo).getOnlyPkMaster();
isEntityBase = true;
entityBase = (EntityBase) pojo;
}
if (isEntityBase){
onlyPkMaster = entityBase.getOnlyPkMaster();
if(onlyPkMaster &&
(entityBase.getOperation() == OperationType.SELECT_OBJECT ||
entityBase.getOperation() == OperationType.SELECT))
onlyPkMaster = false;
}
Field f = pojo.getClass().getDeclaredField(writer.getName());
if (f != null) {
PK pk = f.getAnnotation(PK.class);
SqlField sqlField = f.getAnnotation(SqlField.class);
EntityChild child = f.getAnnotation(EntityChild.class);
if (((EntityBase) pojo).getOperation() == OperationType.SELECT ||
((EntityBase) pojo).getOperation() == OperationType.SELECT_OBJECT) {
if (f.getGenericType() != null) {
writer.serializeAsField(pojo, jgen, provider);
}
if (!onlyPkMaster) {
writer.serializeAsField(pojo, jgen, provider);
} else {
if (onlyPkMaster && child != null)
return;
if (pk != null || child != null || (sqlField != null && sqlField.isReturned())) {
writer.serializeAsField(pojo, jgen, provider);
}
}
return;
}
}
} catch (Exception e) {