Sistemato ResponseJSONObjectMapper in modo che onlyPkMaster a false serializzi tutti i campi della Entity
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user