Repository: any23 Updated Branches: refs/heads/master 06132801a -> 3c8bb730b
Solved ANY23-316 - create value for null values: yaml:Null - update null-aware unit test - modify example for unit test: 'null' value is an item of a list Signed-off-by: Jacek Grzebyta <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/any23/repo Commit: http://git-wip-us.apache.org/repos/asf/any23/commit/b786e899 Tree: http://git-wip-us.apache.org/repos/asf/any23/tree/b786e899 Diff: http://git-wip-us.apache.org/repos/asf/any23/diff/b786e899 Branch: refs/heads/master Commit: b786e899b738886e240e12a84c2c291c75ecd694 Parents: 7c68688 Author: Jacek Grzebyta <[email protected]> Authored: Tue Dec 26 00:37:13 2017 +0000 Committer: Jacek Grzebyta <[email protected]> Committed: Tue Dec 26 00:38:00 2017 +0000 ---------------------------------------------------------------------- api/src/main/java/org/apache/any23/vocab/YAML.java | 7 +++++-- .../org/apache/any23/extractor/yaml/ElementsProcessor.java | 6 ++---- .../apache/any23/extractor/yaml/ElementsProcessorTest.java | 1 - .../org/apache/any23/extractor/yaml/YAMLExtractorTest.java | 8 ++------ .../resources/org/apache/any23/extractor/yaml/test-null.yml | 4 +++- 5 files changed, 12 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/any23/blob/b786e899/api/src/main/java/org/apache/any23/vocab/YAML.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/any23/vocab/YAML.java b/api/src/main/java/org/apache/any23/vocab/YAML.java index c4e488f..52afda5 100644 --- a/api/src/main/java/org/apache/any23/vocab/YAML.java +++ b/api/src/main/java/org/apache/any23/vocab/YAML.java @@ -42,6 +42,8 @@ public class YAML extends Vocabulary { public static final String MAPPING = "Mapping"; public static final String CONTAINS = "contains"; + + public static final String NULL = "Null"; private static final YAML _instance = new YAML(); @@ -80,5 +82,6 @@ public class YAML extends Vocabulary { public final IRI mapping = createClass(NS, MAPPING); // property public final IRI contains = createProperty(NS, CONTAINS); - -} + + public final IRI nullValue = createProperty(NS, NULL); + } http://git-wip-us.apache.org/repos/asf/any23/blob/b786e899/core/src/main/java/org/apache/any23/extractor/yaml/ElementsProcessor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/any23/extractor/yaml/ElementsProcessor.java b/core/src/main/java/org/apache/any23/extractor/yaml/ElementsProcessor.java index bacb90c..a4604e4 100644 --- a/core/src/main/java/org/apache/any23/extractor/yaml/ElementsProcessor.java +++ b/core/src/main/java/org/apache/any23/extractor/yaml/ElementsProcessor.java @@ -101,9 +101,6 @@ public class ElementsProcessor { * @return instance of {@link ModelHolder}, */ public ModelHolder asModel(IRI namespace, final Object t, Value rootNode) { - if (t == null) { - return null; - } if (t instanceof List) { return processList(namespace, (List) t); @@ -111,6 +108,8 @@ public class ElementsProcessor { return processMap(namespace, (Map) t, rootNode); } else if (t instanceof String) { return asModelHolder(RDFUtils.makeIRI(t.toString()), modelFactory.createEmptyModel()); + } else if (t == null) { + return asModelHolder(vocab.nullValue, modelFactory.createEmptyModel()); } else { return asModelHolder(Literals.createLiteral(vf, t), modelFactory.createEmptyModel()); } @@ -213,7 +212,6 @@ public class ElementsProcessor { prevNode = currentNode; } - finalModel.add((Resource) listRoot, RDF.TYPE, RDF.LIST, (Resource[]) null); return asModelHolder(listRoot, finalModel); } http://git-wip-us.apache.org/repos/asf/any23/blob/b786e899/core/src/test/java/org/apache/any23/extractor/yaml/ElementsProcessorTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/any23/extractor/yaml/ElementsProcessorTest.java b/core/src/test/java/org/apache/any23/extractor/yaml/ElementsProcessorTest.java index d670916..b6aa7cc 100644 --- a/core/src/test/java/org/apache/any23/extractor/yaml/ElementsProcessorTest.java +++ b/core/src/test/java/org/apache/any23/extractor/yaml/ElementsProcessorTest.java @@ -24,7 +24,6 @@ import java.util.Map; import org.eclipse.rdf4j.model.Literal; import org.eclipse.rdf4j.model.Model; import org.eclipse.rdf4j.model.Resource; -import org.eclipse.rdf4j.model.Value; import org.eclipse.rdf4j.model.vocabulary.RDF; import org.eclipse.rdf4j.rio.RDFFormat; import org.eclipse.rdf4j.rio.Rio; http://git-wip-us.apache.org/repos/asf/any23/blob/b786e899/core/src/test/java/org/apache/any23/extractor/yaml/YAMLExtractorTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/any23/extractor/yaml/YAMLExtractorTest.java b/core/src/test/java/org/apache/any23/extractor/yaml/YAMLExtractorTest.java index 06e341e..9aa8dee 100644 --- a/core/src/test/java/org/apache/any23/extractor/yaml/YAMLExtractorTest.java +++ b/core/src/test/java/org/apache/any23/extractor/yaml/YAMLExtractorTest.java @@ -107,12 +107,8 @@ public class YAMLExtractorTest extends AbstractExtractorTestCase { assertExtract("/org/apache/any23/extractor/yaml/test-null.yml"); log.debug(dumpModelToTurtle()); assertModelNotEmpty(); - /** - * Since the map is empty it should not contain any document marked type mapping. - */ - assertNotContains(RDF.TYPE, vocab.mapping); int statements = dumpAsListOfStatements().size(); - Assert.assertTrue("Found " + statements + " statements", statements == 9); + Assert.assertTrue("Found " + statements + " statements", statements == 26); } @Test @@ -125,7 +121,7 @@ public class YAMLExtractorTest extends AbstractExtractorTestCase { RDFUtils.triple(RDFUtils.bnode(), RDFUtils.iri(ns, "value3"), RDFUtils.bnode("10")), RDFUtils.triple(RDFUtils.bnode("10"), RDF.FIRST, RDFUtils.bnode("11")), RDFUtils.triple(RDFUtils.bnode("11"), RDFUtils.iri(ns, "key3.1"), RDFUtils.bnode("12")), - RDFUtils.triple(RDFUtils.bnode("12"), RDF.TYPE, RDF.LIST), + // RDFUtils.triple(RDFUtils.bnode("12"), RDF.TYPE, RDF.LIST), RDFUtils.triple(RDFUtils.bnode("12"), RDF.FIRST, RDFUtils.literal("value3.1.1")) }); http://git-wip-us.apache.org/repos/asf/any23/blob/b786e899/test-resources/src/test/resources/org/apache/any23/extractor/yaml/test-null.yml ---------------------------------------------------------------------- diff --git a/test-resources/src/test/resources/org/apache/any23/extractor/yaml/test-null.yml b/test-resources/src/test/resources/org/apache/any23/extractor/yaml/test-null.yml index 2b16113..b67d1d9 100644 --- a/test-resources/src/test/resources/org/apache/any23/extractor/yaml/test-null.yml +++ b/test-resources/src/test/resources/org/apache/any23/extractor/yaml/test-null.yml @@ -2,4 +2,6 @@ --- canonical: null tag: !!null -practice: \ No newline at end of file +practice: +some testing: + values: [Very, sour, null] \ No newline at end of file
