Repository: any23
Updated Branches:
  refs/heads/master f23c25cc2 -> 9bab662c4


ANY23-407 allow microdata itemids from relative urls


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

Branch: refs/heads/master
Commit: 9bab662c46107350417f61e1f7cbd3058809edf1
Parents: f23c25c
Author: Hans <[email protected]>
Authored: Wed Oct 24 12:00:51 2018 -0500
Committer: Hans <[email protected]>
Committed: Wed Oct 24 12:00:51 2018 -0500

----------------------------------------------------------------------
 .../extractor/microdata/MicrodataExtractor.java     | 16 ++++++++++------
 .../any23/extractor/microdata/MicrodataParser.java  |  2 --
 2 files changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/any23/blob/9bab662c/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataExtractor.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataExtractor.java
 
b/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataExtractor.java
index d49f7ce..b60677d 100644
--- 
a/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataExtractor.java
+++ 
b/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataExtractor.java
@@ -33,8 +33,6 @@ import org.eclipse.rdf4j.model.Literal;
 import org.eclipse.rdf4j.model.Resource;
 import org.eclipse.rdf4j.model.IRI;
 import org.eclipse.rdf4j.model.Value;
-import org.eclipse.rdf4j.model.datatypes.XMLDatatypeUtil;
-import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
 import org.eclipse.rdf4j.model.vocabulary.RDF;
 import org.eclipse.rdf4j.model.vocabulary.XMLSchema;
 import org.w3c.dom.Document;
@@ -421,7 +419,7 @@ public class MicrodataExtractor implements 
Extractor.TagSoupDOMExtractor {
             IRI documentIRI, ExtractionResult out,
             Map<ItemScope, Resource> mappings, IRI defaultNamespace
     ) throws ExtractionException {
-        Resource subject = mappings.computeIfAbsent(itemScope, scope -> 
createSubjectForItemId(scope.getItemId()));
+        Resource subject = mappings.computeIfAbsent(itemScope, scope -> 
createSubjectForItemId(documentIRI, scope.getItemId()));
 
         IRI itemScopeType = getType(itemScope);
         if (itemScopeType != null) {
@@ -461,9 +459,15 @@ public class MicrodataExtractor implements 
Extractor.TagSoupDOMExtractor {
         return type == null ? null : RDFUtils.iri(type.toString());
     }
 
-    private static Resource createSubjectForItemId(String itemId) {
-        Optional<IRI> iri = toAbsoluteIRI(itemId);
-        return iri.isPresent() ? iri.get() : RDFUtils.bnode();
+    private static Resource createSubjectForItemId(IRI documentIRI, String 
itemId) {
+        if (itemId == null) {
+            return RDFUtils.bnode();
+        }
+        try {
+            return toAbsoluteIRI(documentIRI, itemId);
+        } catch (URISyntaxException e) {
+            return RDFUtils.bnode();
+        }
     }
 
     private void processProperty(

http://git-wip-us.apache.org/repos/asf/any23/blob/9bab662c/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataParser.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataParser.java 
b/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataParser.java
index 970c31b..dfb9de6 100644
--- 
a/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataParser.java
+++ 
b/core/src/main/java/org/apache/any23/extractor/microdata/MicrodataParser.java
@@ -32,11 +32,9 @@ import org.w3c.dom.traversal.TreeWalker;
 
 import java.io.PrintStream;
 import java.net.URL;
-import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashSet;

Reply via email to