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

Reply via email to