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);
|
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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user