[tor-commits] [metrics-lib/master] Ignore unknown fields in index.json.
karsten at torproject.org
karsten at torproject.org
Sat Nov 9 11:29:02 UTC 2019
commit fba9137499ef6255f040d134f488403cae214793
Author: Karsten Loesing <karsten.loesing at gmx.net>
Date: Sat Nov 9 12:20:36 2019 +0100
Ignore unknown fields in index.json.
This is required for processing index.json files produced by CollecTor
1.13.0 or higher. We don't need those newly added fields or any other
fields added in the future. But we must not fail when fields are
added.
---
CHANGELOG.md | 5 ++++-
src/main/java/org/torproject/descriptor/index/IndexNode.java | 4 +++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 99048e8..2fd361d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,7 @@
-# Changes in version 2.?.? - 2019-1?-??
+# Changes in version 2.9.1 - 2019-11-09
+
+ * Minor changes
+ - Do not fail when processing index.json files with unknown fields.
# Changes in version 2.9.0 - 2019-11-01
diff --git a/src/main/java/org/torproject/descriptor/index/IndexNode.java b/src/main/java/org/torproject/descriptor/index/IndexNode.java
index b6855e3..9136b65 100644
--- a/src/main/java/org/torproject/descriptor/index/IndexNode.java
+++ b/src/main/java/org/torproject/descriptor/index/IndexNode.java
@@ -10,6 +10,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
@@ -54,7 +55,8 @@ public class IndexNode {
.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE)
.setSerializationInclusion(JsonInclude.Include.NON_EMPTY)
.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE)
- .setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
+ .setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY)
+ .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
/** The created date-time is exposed in JSON as 'index_created' field. */
@JsonProperty("index_created")
More information about the tor-commits
mailing list