[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 class ActivityToFlatJsonVisitor extends ToFlatJsonVisitor<Activity> implements ActivityVisitor<JsonObject> {
|
||||||
|
|
||||||
|
public ActivityToFlatJsonVisitor() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ActivityToFlatJsonVisitor(boolean withVersion) {
|
||||||
|
super(withVersion);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JsonObject visit(Activity element) {
|
public JsonObject visit(Activity element) {
|
||||||
return toJson(element);
|
return toJson(element);
|
||||||
|
|
|
@ -9,6 +9,14 @@ import li.strolch.model.visitor.OrderVisitor;
|
||||||
|
|
||||||
public class OrderToFlatJsonVisitor extends ToFlatJsonVisitor<Order> implements OrderVisitor<JsonObject> {
|
public class OrderToFlatJsonVisitor extends ToFlatJsonVisitor<Order> implements OrderVisitor<JsonObject> {
|
||||||
|
|
||||||
|
public OrderToFlatJsonVisitor() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public OrderToFlatJsonVisitor(boolean withVersion) {
|
||||||
|
super(withVersion);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JsonObject visit(Order element) {
|
public JsonObject visit(Order element) {
|
||||||
return toJson(element);
|
return toJson(element);
|
||||||
|
|
|
@ -9,6 +9,14 @@ import li.strolch.model.visitor.ResourceVisitor;
|
||||||
|
|
||||||
public class ResourceToFlatJsonVisitor extends ToFlatJsonVisitor<Resource> implements ResourceVisitor<JsonObject> {
|
public class ResourceToFlatJsonVisitor extends ToFlatJsonVisitor<Resource> implements ResourceVisitor<JsonObject> {
|
||||||
|
|
||||||
|
public ResourceToFlatJsonVisitor() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResourceToFlatJsonVisitor(boolean withVersion) {
|
||||||
|
super(withVersion);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JsonObject visit(Resource element) {
|
public JsonObject visit(Resource element) {
|
||||||
return toJson(element);
|
return toJson(element);
|
||||||
|
|
|
@ -168,14 +168,6 @@ public class StrolchElementToJsonVisitor implements StrolchRootElementVisitor<Js
|
||||||
return rootJ;
|
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) {
|
protected void addPolicies(PolicyContainer policyContainer, JsonObject rootJ) {
|
||||||
if (!policyContainer.hasPolicyDefs() || !policyContainer.getPolicyDefs().hasPolicyDefs())
|
if (!policyContainer.hasPolicyDefs() || !policyContainer.getPolicyDefs().hasPolicyDefs())
|
||||||
return;
|
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())
|
if (!element.hasVersion())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -294,4 +286,13 @@ public class StrolchElementToJsonVisitor implements StrolchRootElementVisitor<Js
|
||||||
versionJ.addProperty(Tags.Json.DELETED, version.isDeleted());
|
versionJ.addProperty(Tags.Json.DELETED, version.isDeleted());
|
||||||
rootJ.add(Tags.Json.VERSION, versionJ);
|
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.NAME;
|
||||||
import static li.strolch.model.Tags.Json.OBJECT_TYPE;
|
import static li.strolch.model.Tags.Json.OBJECT_TYPE;
|
||||||
import static li.strolch.model.Tags.Json.TYPE;
|
import static li.strolch.model.Tags.Json.TYPE;
|
||||||
|
import static li.strolch.model.json.StrolchElementToJsonVisitor.addVersion;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
@ -46,12 +47,14 @@ public class ToFlatJsonVisitor<T extends StrolchRootElement> {
|
||||||
private MapOfSets<String, String> ignoredKeys;
|
private MapOfSets<String, String> ignoredKeys;
|
||||||
private BiConsumer<T, JsonObject> hook;
|
private BiConsumer<T, JsonObject> hook;
|
||||||
private boolean withoutElementName;
|
private boolean withoutElementName;
|
||||||
|
private boolean withVersion;
|
||||||
|
|
||||||
public ToFlatJsonVisitor() {
|
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<>();
|
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);
|
this.hook.accept(element, jsonObject);
|
||||||
|
|
||||||
|
if (this.withVersion)
|
||||||
|
addVersion(element, jsonObject);
|
||||||
|
|
||||||
return jsonObject;
|
return jsonObject;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue