From fffd31382eba2a669ab733daa21c7cdb9661d0c4 Mon Sep 17 00:00:00 2001 From: Antonin Delpeuch Date: Wed, 31 Jan 2018 11:48:30 +0000 Subject: [PATCH] Ignore unknown fields in schema JSON deserialization --- .../src/org/openrefine/wikidata/schema/WbNameDescExpr.java | 3 ++- .../src/org/openrefine/wikidata/schema/WbReferenceExpr.java | 6 +++--- .../src/org/openrefine/wikidata/schema/WbSnakExpr.java | 6 +++--- .../src/org/openrefine/wikidata/schema/WbStatementExpr.java | 3 ++- .../openrefine/wikidata/schema/WbStatementGroupExpr.java | 3 ++- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/extensions/wikidata/src/org/openrefine/wikidata/schema/WbNameDescExpr.java b/extensions/wikidata/src/org/openrefine/wikidata/schema/WbNameDescExpr.java index 82af0e5dc..e285081db 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/schema/WbNameDescExpr.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/schema/WbNameDescExpr.java @@ -4,9 +4,10 @@ import org.openrefine.wikidata.schema.exceptions.SkipSchemaExpressionException; import org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; - +@JsonIgnoreProperties(ignoreUnknown = true) public class WbNameDescExpr { enum NameDescrType { diff --git a/extensions/wikidata/src/org/openrefine/wikidata/schema/WbReferenceExpr.java b/extensions/wikidata/src/org/openrefine/wikidata/schema/WbReferenceExpr.java index 995632ffa..f4e970ab6 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/schema/WbReferenceExpr.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/schema/WbReferenceExpr.java @@ -10,10 +10,11 @@ import org.wikidata.wdtk.datamodel.interfaces.Snak; import org.wikidata.wdtk.datamodel.interfaces.SnakGroup; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; - -public class WbReferenceExpr implements WbExpression { +@JsonIgnoreProperties(ignoreUnknown = true) +public class WbReferenceExpr { private List snakExprs; @JsonCreator @@ -22,7 +23,6 @@ public class WbReferenceExpr implements WbExpression { this.snakExprs = snakExprs; } - @Override public Reference evaluate(ExpressionContext ctxt) throws SkipSchemaExpressionException { List snakGroups = new ArrayList(); for (WbSnakExpr expr : getSnaks()) { diff --git a/extensions/wikidata/src/org/openrefine/wikidata/schema/WbSnakExpr.java b/extensions/wikidata/src/org/openrefine/wikidata/schema/WbSnakExpr.java index e3de1b4f6..bc4199be1 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/schema/WbSnakExpr.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/schema/WbSnakExpr.java @@ -7,10 +7,11 @@ import org.wikidata.wdtk.datamodel.interfaces.Snak; import org.wikidata.wdtk.datamodel.interfaces.Value; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; - -public class WbSnakExpr implements WbExpression { +@JsonIgnoreProperties(ignoreUnknown = true) +public class WbSnakExpr { private WbExpression prop; private WbExpression value; @@ -23,7 +24,6 @@ public class WbSnakExpr implements WbExpression { this.value = valueExpr; } - @Override public Snak evaluate(ExpressionContext ctxt) throws SkipSchemaExpressionException { PropertyIdValue propertyId = getProp().evaluate(ctxt); Value evaluatedValue = value.evaluate(ctxt); diff --git a/extensions/wikidata/src/org/openrefine/wikidata/schema/WbStatementExpr.java b/extensions/wikidata/src/org/openrefine/wikidata/schema/WbStatementExpr.java index 29e619cbb..347ba70bb 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/schema/WbStatementExpr.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/schema/WbStatementExpr.java @@ -17,9 +17,10 @@ import org.wikidata.wdtk.datamodel.interfaces.StatementRank; import org.wikidata.wdtk.datamodel.interfaces.Value; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; - +@JsonIgnoreProperties(ignoreUnknown = true) public class WbStatementExpr { private WbExpression mainSnakValueExpr; diff --git a/extensions/wikidata/src/org/openrefine/wikidata/schema/WbStatementGroupExpr.java b/extensions/wikidata/src/org/openrefine/wikidata/schema/WbStatementGroupExpr.java index bb05d3174..9144a582e 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/schema/WbStatementGroupExpr.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/schema/WbStatementGroupExpr.java @@ -11,9 +11,10 @@ import org.wikidata.wdtk.datamodel.interfaces.Statement; import org.wikidata.wdtk.datamodel.interfaces.StatementGroup; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; - +@JsonIgnoreProperties(ignoreUnknown = true) public class WbStatementGroupExpr { private WbExpression propertyExpr;