Fix Jackson and serialization deprecated methods
[AI assisted]
1. JsonNode.fields() → JsonNode.properties().iterator()
2. ObjectNode.put(String, JsonNode) → ObjectNode.set(String, JsonNode)
3. ObjectNode.putAll(ObjectNode) → ObjectNode.setAll(ObjectNode)
4. Custom KoralNode.put() → KoralNode.set()
Change-Id: I72fe9febcc69d5951077eebb0e245fde62037bdc
diff --git a/Changes b/Changes
index b586e14..26308d1 100644
--- a/Changes
+++ b/Changes
@@ -2,6 +2,7 @@
- Reactivate Query Serializer Web-service (#903)
- Fix deprecated URL constructor (AI assisted)
+- Fix Jackson and serialization deprecated methods (AI assisted)
# version 1.1
diff --git a/src/main/java/de/ids_mannheim/korap/rewrite/CollectionCleanRewrite.java b/src/main/java/de/ids_mannheim/korap/rewrite/CollectionCleanRewrite.java
index 3955209..69e1d04 100644
--- a/src/main/java/de/ids_mannheim/korap/rewrite/CollectionCleanRewrite.java
+++ b/src/main/java/de/ids_mannheim/korap/rewrite/CollectionCleanRewrite.java
@@ -24,7 +24,7 @@
public KoralNode rewriteQuery (KoralNode node, KustvaktConfiguration config,
User user, double apiVersion) {
JsonNode jsonNode = process(node.rawNode());
- return node.wrapNode(jsonNode);
+ return KoralNode.wrapNode(jsonNode);
}
private JsonNode process (JsonNode root) {
@@ -55,7 +55,7 @@
ObjectNode ob = (ObjectNode) root;
ob.remove(Arrays.asList(
new String[] { "@type", "operation", "operands" }));
- ob.putAll((ObjectNode) sub);
+ ob.setAll((ObjectNode) sub);
}
}
}
diff --git a/src/main/java/de/ids_mannheim/korap/rewrite/IdWriter.java b/src/main/java/de/ids_mannheim/korap/rewrite/IdWriter.java
index bc98530..e0685f6 100644
--- a/src/main/java/de/ids_mannheim/korap/rewrite/IdWriter.java
+++ b/src/main/java/de/ids_mannheim/korap/rewrite/IdWriter.java
@@ -23,7 +23,7 @@
if (node.get("@type").equals("koral:token")) {
String s = extractToken(node.rawNode());
if (s != null && !s.isEmpty())
- node.put("idn", s + "_" + counter++);
+ node.set("idn", s + "_" + counter++, null);
}
return node;
}
diff --git a/src/main/java/de/ids_mannheim/korap/rewrite/KoralNode.java b/src/main/java/de/ids_mannheim/korap/rewrite/KoralNode.java
index fb99954..e7c1a0a 100644
--- a/src/main/java/de/ids_mannheim/korap/rewrite/KoralNode.java
+++ b/src/main/java/de/ids_mannheim/korap/rewrite/KoralNode.java
@@ -3,9 +3,6 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
-import de.ids_mannheim.korap.utils.JsonUtils;
-
-import java.util.*;
/**
* @author hanl
@@ -71,7 +68,7 @@
else if (value instanceof Integer)
n.put(name, (Integer) value);
else if (value instanceof JsonNode)
- n.put(name, (JsonNode) value);
+ n.set(name, (JsonNode) value);
this.rewrites.add("override", ident);
}
@@ -91,13 +88,8 @@
!this.node.at(path).isMissingNode()) {
ObjectNode n = (ObjectNode) this.node.at(path);
n.removeAll();
- n.putAll((ObjectNode) value);
-
- String name = path;
- if (ident != null)
- name = ident.toString(); // scope is simply RewriteIdentifier ??
-
- this.rewrites.add("override", name);
+ n.setAll((ObjectNode) value);
+ this.rewrites.add("override", ident);
}
}
@@ -174,7 +166,7 @@
}
public void removeNode (RewriteIdentifier ident) {
- this.rewrites.add("deletion", ident.toString());
+ this.rewrites.add("deletion", ident);
this.remove = true;
}
@@ -197,7 +189,7 @@
public KoralNode get (int i) {
// this.node = this.node.get(i);
- return this.wrapNode(this.node.get(i));
+ return KoralNode.wrapNode(this.node.get(i));
}
public int asInt() {
diff --git a/src/main/java/de/ids_mannheim/korap/rewrite/KoralRewriteBuilder.java b/src/main/java/de/ids_mannheim/korap/rewrite/KoralRewriteBuilder.java
index 83979d8..1f4d69f 100644
--- a/src/main/java/de/ids_mannheim/korap/rewrite/KoralRewriteBuilder.java
+++ b/src/main/java/de/ids_mannheim/korap/rewrite/KoralRewriteBuilder.java
@@ -32,14 +32,16 @@
public KoralRewriteBuilder add (String op, RewriteIdentifier ri) {
KoralRewrite rewrite = new KoralRewrite();
rewrite.setOperation(op);
- if (ri.getScope() != null) {
- rewrite.setScope(ri.getScope());
- }
- if (ri.getOriginal() != null) {
- rewrite.setOriginal(ri.getOriginal());
- }
- if (ri.getComment() != null) {
- rewrite.setComment(ri.getComment());
+ if (ri != null) {
+ if (ri.getScope() != null) {
+ rewrite.setScope(ri.getScope());
+ }
+ if (ri.getOriginal() != null) {
+ rewrite.setOriginal(ri.getOriginal());
+ }
+ if (ri.getComment() != null) {
+ rewrite.setComment(ri.getComment());
+ }
}
this.rewrites.add(rewrite);
return this;
@@ -57,9 +59,9 @@
}
else if (node.isObject()) {
ObjectNode n = (ObjectNode) node;
- List l = new LinkedList<>();
+ List<Object> l = new LinkedList<>();
l.add(JsonUtils.valueToTree(rewrite.map));
- n.put("rewrites", JsonUtils.valueToTree(l));
+ n.set("rewrites", JsonUtils.valueToTree(l));
}
else {
//fixme: matches in result will land here. rewrites need to be placed under root node - though then there might be unclear where they belong to
diff --git a/src/main/java/de/ids_mannheim/korap/rewrite/RewriteHandler.java b/src/main/java/de/ids_mannheim/korap/rewrite/RewriteHandler.java
index 29e27cb..e528805 100644
--- a/src/main/java/de/ids_mannheim/korap/rewrite/RewriteHandler.java
+++ b/src/main/java/de/ids_mannheim/korap/rewrite/RewriteHandler.java
@@ -103,7 +103,7 @@
public boolean add (Class<? extends RewriteTask> rewriter) {
RewriteTask task;
try {
- Constructor c = rewriter.getConstructor();
+ Constructor<? extends RewriteTask> c = rewriter.getConstructor();
task = (RewriteTask) c.newInstance();
}
catch (NoSuchMethodException | InvocationTargetException
@@ -202,7 +202,7 @@
jlog.debug("Running rewrite process on query " + root);
}
if (root != null) {
- Iterator<Map.Entry<String, JsonNode>> it = root.fields();
+ Iterator<Map.Entry<String, JsonNode>> it = root.properties().iterator();
while (it.hasNext()) {
Map.Entry<String, JsonNode> next = it.next();
processNode(next.getKey(), next.getValue(), result, apiVersion);
diff --git a/src/main/java/de/ids_mannheim/korap/utils/KoralCollectionQueryBuilder.java b/src/main/java/de/ids_mannheim/korap/utils/KoralCollectionQueryBuilder.java
index 286920d..8a503e7 100644
--- a/src/main/java/de/ids_mannheim/korap/utils/KoralCollectionQueryBuilder.java
+++ b/src/main/java/de/ids_mannheim/korap/utils/KoralCollectionQueryBuilder.java
@@ -164,7 +164,7 @@
? this.mergeOperator.toLowerCase()
: "and", result, tobase);
}
- ((ObjectNode) base).put(nodeName, result);
+ ((ObjectNode) base).set(nodeName, result);
return base;
}
return this.base;
@@ -219,7 +219,7 @@
node.put("operation", "operation:" + op);
ArrayNode ops = JsonUtils.createArrayNode();
ops.addAll(Arrays.asList(groups));
- node.put("operands", ops);
+ node.set("operands", ops);
return node;
}