You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@any23.apache.org by jg...@apache.org on 2017/12/07 12:28:09 UTC

[06/17] any23 git commit: Update ElementProcessor - RDF-izer

Update ElementProcessor - RDF-izer

- make processor singleton
- update unit tests
Signed-off-by:Jacek Grzebyta <gr...@gmail.com>

Project: http://git-wip-us.apache.org/repos/asf/any23/repo
Commit: http://git-wip-us.apache.org/repos/asf/any23/commit/f1b26dfd
Tree: http://git-wip-us.apache.org/repos/asf/any23/tree/f1b26dfd
Diff: http://git-wip-us.apache.org/repos/asf/any23/diff/f1b26dfd

Branch: refs/heads/master
Commit: f1b26dfdc634c7e70e762319b60c968935a5be93
Parents: 9f0cb63
Author: Jacek Grzebyta <gr...@gmail.com>
Authored: Mon Oct 23 12:36:04 2017 +0100
Committer: Jacek Grzebyta <gr...@gmail.com>
Committed: Mon Oct 23 12:36:04 2017 +0100

----------------------------------------------------------------------
 .../apache/any23/extractor/yaml/ElementsProcessor.java  | 12 ++++++++++++
 core/src/main/java/org/apache/any23/rdf/RDFUtils.java   |  9 +++++++++
 .../any23/extractor/yaml/ElementsProcessorTest.java     |  6 ++----
 3 files changed, 23 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/any23/blob/f1b26dfd/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 58bc003..8fd0875 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
@@ -56,6 +56,8 @@ public class ElementsProcessor {
     private final YAML vocab = YAML.getInstance();
     protected ValueFactory vf = SimpleValueFactory.getInstance();
 
+    private static final ElementsProcessor _ep = new ElementsProcessor();
+
     private Map.Entry<Value, Model> asMapEntry(Value v, Model m) {
         return new AbstractMap.SimpleEntry(v, m);
     }
@@ -84,6 +86,8 @@ public class ElementsProcessor {
             return processList(namespace, (List) t);
         } else if (t instanceof Map) {
             return processMap(namespace, (Map) t, rootNode);
+        } else if (t instanceof String) {
+            return asMapEntry(RDFUtils.makeIRI(t.toString()), null);
         } else {
             return asMapEntry(Literals.createLiteral(vf, t), null);
         }
@@ -166,4 +170,12 @@ public class ElementsProcessor {
         outcome.getValue().add(vf.createStatement((Resource) outcome.getKey(), RDF.TYPE, RDF.LIST));
         return outcome;
     }
+
+    // hide constructor
+    private ElementsProcessor() {
+    }
+
+    public static final ElementsProcessor getInstance() {
+        return _ep;
+    }
 }

http://git-wip-us.apache.org/repos/asf/any23/blob/f1b26dfd/core/src/main/java/org/apache/any23/rdf/RDFUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/any23/rdf/RDFUtils.java b/core/src/main/java/org/apache/any23/rdf/RDFUtils.java
index c1fbd54..1e6cbd4 100644
--- a/core/src/main/java/org/apache/any23/rdf/RDFUtils.java
+++ b/core/src/main/java/org/apache/any23/rdf/RDFUtils.java
@@ -626,6 +626,15 @@ public class RDFUtils {
         return node;
     }
     
+    /**
+     * Convert string to either IRI or Literal.
+     * 
+     * If string value expresses valid IRI than IRI is created. Otherwise method 
+     * creates simple literal xsd:string.
+     * 
+     * @param inString
+     * @return 
+     */
     public static Value makeIRI(String inString) {
         if (RDFUtils.isAbsoluteIRI(inString)) {
             return RDFUtils.iri(inString);

http://git-wip-us.apache.org/repos/asf/any23/blob/f1b26dfd/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 d800d9e..26899bb 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
@@ -37,7 +37,8 @@ import org.slf4j.LoggerFactory;
  */
 public class ElementsProcessorTest {
     
-    private Logger log = LoggerFactory.getLogger(getClass());
+    private final Logger log = LoggerFactory.getLogger(getClass());
+    private static final ElementsProcessor ep = ElementsProcessor.getInstance();
     
     @Test
     public void processMap() throws Exception {
@@ -49,7 +50,6 @@ public class ElementsProcessorTest {
             }
         };
         
-        ElementsProcessor ep = new ElementsProcessor();
         Map.Entry<Value, Model> toTest = ep.processMap(ep.vf.createIRI("http://example.org/"),
                 simpleMap,
                 ep.vf.createIRI("http://example.org/node1"));
@@ -70,7 +70,6 @@ public class ElementsProcessorTest {
             }
         };
         
-        ElementsProcessor ep = new ElementsProcessor();
         Map.Entry<Value, Model> toTest = ep.processList(ep.vf.createIRI("http://example.org/data"), simpleList);
         Assert.assertNotNull(toTest);
         Assert.assertTrue(toTest.getValue().contains(null, RDF.FIRST, ep.vf.createLiteral("Ala"), null));
@@ -90,7 +89,6 @@ public class ElementsProcessorTest {
                 add("k".getBytes()[0]);
             }
         };
-        ElementsProcessor ep = new ElementsProcessor();
         
         simpleList.forEach((i) -> {
             Map.Entry<Value, Model> out = ep.asModel(ep.vf.createIRI("urn:test/"), i, null);