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); writer.serializeAsField(pojo, jgen, provider);
return; return;
} else { } else {
boolean isEntityBase = false;
boolean onlyPkMaster = true;
EntityBase entityBase = null;
Boolean onlyPkMaster = true;
if (pojo instanceof EntityBase) { 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()); Field f = pojo.getClass().getDeclaredField(writer.getName());
if (f != null) { if (f != null) {
PK pk = f.getAnnotation(PK.class); PK pk = f.getAnnotation(PK.class);
SqlField sqlField = f.getAnnotation(SqlField.class); SqlField sqlField = f.getAnnotation(SqlField.class);
EntityChild child = f.getAnnotation(EntityChild.class); EntityChild child = f.getAnnotation(EntityChild.class);
if (((EntityBase) pojo).getOperation() == OperationType.SELECT || if (!onlyPkMaster) {
((EntityBase) pojo).getOperation() == OperationType.SELECT_OBJECT) { writer.serializeAsField(pojo, jgen, provider);
if (f.getGenericType() != null) {
writer.serializeAsField(pojo, jgen, provider);
}
} else { } else {
if (onlyPkMaster && child != null)
return;
if (pk != null || child != null || (sqlField != null && sqlField.isReturned())) { if (pk != null || child != null || (sqlField != null && sqlField.isReturned())) {
writer.serializeAsField(pojo, jgen, provider); writer.serializeAsField(pojo, jgen, provider);
} }
} }
return;
} }
} }
} catch (Exception e) { } catch (Exception e) {