FINERACT-2181: CommandProcessingResult serialization optimisation
This commit is contained in:
+2
-1
@@ -19,6 +19,7 @@
|
||||
package org.apache.fineract.infrastructure.core.api;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonNull;
|
||||
import com.google.gson.JsonPrimitive;
|
||||
import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
@@ -35,7 +36,7 @@ public class ExternalIdAdapter implements JsonSerializer<ExternalId> {
|
||||
@SuppressWarnings("unused")
|
||||
public JsonElement serialize(ExternalId src, Type typeOfSrc, JsonSerializationContext context) {
|
||||
if (src == null || src.isEmpty()) {
|
||||
return null;
|
||||
return JsonNull.INSTANCE;
|
||||
}
|
||||
return new JsonPrimitive(src.getValue());
|
||||
}
|
||||
|
||||
+8
-4
@@ -31,7 +31,7 @@ import org.apache.fineract.infrastructure.core.domain.ExternalId;
|
||||
@Getter
|
||||
public class CommandProcessingResult implements Serializable {
|
||||
|
||||
private Long commandId;
|
||||
private final Long commandId;
|
||||
private Long officeId;
|
||||
private final Long groupId;
|
||||
private final Long clientId;
|
||||
@@ -72,9 +72,9 @@ public class CommandProcessingResult implements Serializable {
|
||||
this.creditBureauReportData = creditBureauReportData;
|
||||
this.rollbackTransaction = rollbackTransaction;
|
||||
this.subResourceId = subResourceId;
|
||||
this.resourceExternalId = resourceExternalId;
|
||||
this.subResourceExternalId = subResourceExternalId;
|
||||
this.loanExternalId = loanExternalId;
|
||||
this.resourceExternalId = setExternalIdOrNull(resourceExternalId);
|
||||
this.subResourceExternalId = setExternalIdOrNull(subResourceExternalId);
|
||||
this.loanExternalId = setExternalIdOrNull(loanExternalId);
|
||||
}
|
||||
|
||||
protected CommandProcessingResult(final Long resourceId, final Long officeId, final Long commandId, final Map<String, Object> changes,
|
||||
@@ -161,4 +161,8 @@ public class CommandProcessingResult implements Serializable {
|
||||
public void setRollbackTransaction(Boolean rollbackTransaction) {
|
||||
this.rollbackTransaction = rollbackTransaction;
|
||||
}
|
||||
|
||||
private ExternalId setExternalIdOrNull(ExternalId externalId) {
|
||||
return externalId == null || externalId.isEmpty() ? null : externalId;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user