[New] *To*JsonVisitor now support adding version to JSON result
This commit is contained in:
parent
ffca077419
commit
05c2f8f09c
|
@ -9,6 +9,14 @@ import li.strolch.model.visitor.ActivityVisitor;
|
|||
|
||||
public class ActivityToFlatJsonVisitor extends ToFlatJsonVisitor<Activity> implements ActivityVisitor<JsonObject> {
|
||||
|
||||
public ActivityToFlatJsonVisitor() {
|
||||
super();
|
||||
}
|
||||
|
||||
public ActivityToFlatJsonVisitor(boolean withVersion) {
|
||||
super(withVersion);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsonObject visit(Activity element) {
|
||||
return toJson(element);
|
||||
|
|
|
@ -9,6 +9,14 @@ import li.strolch.model.visitor.OrderVisitor;
|
|||
|
||||
public class OrderToFlatJsonVisitor extends ToFlatJsonVisitor<Order> implements OrderVisitor<JsonObject> {
|
||||
|
||||
public OrderToFlatJsonVisitor() {
|
||||
super();
|
||||
}
|
||||
|
||||
public OrderToFlatJsonVisitor(boolean withVersion) {
|
||||
super(withVersion);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsonObject visit(Order element) {
|
||||
return toJson(element);
|
||||
|
|
|
@ -9,6 +9,14 @@ import li.strolch.model.visitor.ResourceVisitor;
|
|||
|
||||
public class ResourceToFlatJsonVisitor extends ToFlatJsonVisitor<Resource> implements ResourceVisitor<JsonObject> {
|
||||
|
||||
public ResourceToFlatJsonVisitor() {
|
||||
super();
|
||||
}
|
||||
|
||||
public ResourceToFlatJsonVisitor(boolean withVersion) {
|
||||
super(withVersion);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsonObject visit(Resource element) {
|
||||
return toJson(element);
|
||||
|
|
|
@ -168,14 +168,6 @@ public class StrolchElementToJsonVisitor implements StrolchRootElementVisitor<Js
|
|||
return rootJ;
|
||||
}
|
||||
|
||||
private String formatDate(Date date) {
|
||||
return ISO8601FormatFactory.getInstance().formatDate(date);
|
||||
}
|
||||
|
||||
private String formatDate(Long timestamp) {
|
||||
return ISO8601FormatFactory.getInstance().formatDate(timestamp);
|
||||
}
|
||||
|
||||
protected void addPolicies(PolicyContainer policyContainer, JsonObject rootJ) {
|
||||
if (!policyContainer.hasPolicyDefs() || !policyContainer.getPolicyDefs().hasPolicyDefs())
|
||||
return;
|
||||
|
@ -281,7 +273,7 @@ public class StrolchElementToJsonVisitor implements StrolchRootElementVisitor<Js
|
|||
}
|
||||
}
|
||||
|
||||
private void addVersion(StrolchRootElement element, JsonObject rootJ) {
|
||||
public static void addVersion(StrolchRootElement element, JsonObject rootJ) {
|
||||
if (!element.hasVersion())
|
||||
return;
|
||||
|
||||
|
@ -294,4 +286,13 @@ public class StrolchElementToJsonVisitor implements StrolchRootElementVisitor<Js
|
|||
versionJ.addProperty(Tags.Json.DELETED, version.isDeleted());
|
||||
rootJ.add(Tags.Json.VERSION, versionJ);
|
||||
}
|
||||
|
||||
|
||||
private static String formatDate(Date date) {
|
||||
return ISO8601FormatFactory.getInstance().formatDate(date);
|
||||
}
|
||||
|
||||
private static String formatDate(Long timestamp) {
|
||||
return ISO8601FormatFactory.getInstance().formatDate(timestamp);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import static li.strolch.model.Tags.Json.ID;
|
|||
import static li.strolch.model.Tags.Json.NAME;
|
||||
import static li.strolch.model.Tags.Json.OBJECT_TYPE;
|
||||
import static li.strolch.model.Tags.Json.TYPE;
|
||||
import static li.strolch.model.json.StrolchElementToJsonVisitor.addVersion;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
@ -46,12 +47,14 @@ public class ToFlatJsonVisitor<T extends StrolchRootElement> {
|
|||
private MapOfSets<String, String> ignoredKeys;
|
||||
private BiConsumer<T, JsonObject> hook;
|
||||
private boolean withoutElementName;
|
||||
private boolean withVersion;
|
||||
|
||||
public ToFlatJsonVisitor() {
|
||||
this.ignoredKeys = new MapOfSets<>();
|
||||
this(false);
|
||||
}
|
||||
|
||||
public ToFlatJsonVisitor(MapOfSets<String, String> ignoredParams) {
|
||||
public ToFlatJsonVisitor(boolean withVersion) {
|
||||
this.withVersion = withVersion;
|
||||
this.ignoredKeys = new MapOfSets<>();
|
||||
}
|
||||
|
||||
|
@ -120,9 +123,12 @@ public class ToFlatJsonVisitor<T extends StrolchRootElement> {
|
|||
}
|
||||
}
|
||||
|
||||
if (hook != null)
|
||||
if (this.hook != null)
|
||||
this.hook.accept(element, jsonObject);
|
||||
|
||||
if (this.withVersion)
|
||||
addVersion(element, jsonObject);
|
||||
|
||||
return jsonObject;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue