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);