From fcc6aa05d7aff51925714a36a2e8f9d42357a5b2 Mon Sep 17 00:00:00 2001 From: Antonin Delpeuch Date: Tue, 22 Jan 2019 19:04:25 +0100 Subject: [PATCH] Provide default identifierSpace and schemaSpace for reconciliation services. Closes #1936. --- .../refine/model/recon/StandardReconConfig.java | 7 +++++-- .../tests/model/recon/StandardReconConfigTests.java | 13 +++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/main/src/com/google/refine/model/recon/StandardReconConfig.java b/main/src/com/google/refine/model/recon/StandardReconConfig.java index 7aca311ff..bb31aa6e0 100644 --- a/main/src/com/google/refine/model/recon/StandardReconConfig.java +++ b/main/src/com/google/refine/model/recon/StandardReconConfig.java @@ -75,6 +75,9 @@ import com.google.refine.util.ParsingUtilities; public class StandardReconConfig extends ReconConfig { final static Logger logger = LoggerFactory.getLogger("refine-standard-recon"); + private static final String DEFAULT_SCHEMA_SPACE = "http://localhost/schema"; + private static final String DEFAULT_IDENTIFIER_SPACE = "http://localhost/identifier"; + static public class ColumnDetail { @JsonProperty("column") final public String columnName; @@ -208,8 +211,8 @@ public class StandardReconConfig extends ReconConfig { int limit ) { this.service = service; - this.identifierSpace = identifierSpace; - this.schemaSpace = schemaSpace; + this.identifierSpace = identifierSpace != null ? identifierSpace : DEFAULT_IDENTIFIER_SPACE; + this.schemaSpace = schemaSpace != null ? schemaSpace : DEFAULT_SCHEMA_SPACE; this.typeID = typeID; this.typeName = typeName; diff --git a/main/tests/server/src/com/google/refine/tests/model/recon/StandardReconConfigTests.java b/main/tests/server/src/com/google/refine/tests/model/recon/StandardReconConfigTests.java index f076bff60..dfe2a1f59 100644 --- a/main/tests/server/src/com/google/refine/tests/model/recon/StandardReconConfigTests.java +++ b/main/tests/server/src/com/google/refine/tests/model/recon/StandardReconConfigTests.java @@ -154,6 +154,19 @@ public class StandardReconConfigTests extends RefineTest { assertNull(config.typeName); } + @Test + public void testReconstructNoIdentifierSchemaSpaces() throws IOException { + String json = "{\"mode\":\"standard-service\"," + + "\"service\":\"https://tools.wmflabs.org/openrefine-wikidata/en/api\"," + + "\"type\":null," + + "\"autoMatch\":true," + + "\"columnDetails\":[]," + + "\"limit\":0}"; + StandardReconConfig config = StandardReconConfig.reconstruct(json); + assertEquals(config.identifierSpace, "http://localhost/identifier"); + assertEquals(config.schemaSpace, "http://localhost/schema"); + } + @Test public void formulateQueryTest() throws IOException { Project project = createCSVProject("title,director\n"