ANY23-318 ExtractionException handling in BaseRDFExtractor.java kills entire 
extraction


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

Branch: refs/heads/master
Commit: 15571d45f89e8c63b8da6a699b345131d4433ad9
Parents: 8556992
Author: Lewis John McGibbney <[email protected]>
Authored: Sat Dec 30 17:08:41 2017 +0000
Committer: Lewis John McGibbney <[email protected]>
Committed: Sat Dec 30 17:08:41 2017 +0000

----------------------------------------------------------------------
 .../org/apache/any23/validator/DefaultValidator.java   | 13 ++++++++++---
 .../rule/MissingItemscopeAttributeValueFix.java        |  6 +-----
 .../apache/any23/validator/DefaultValidatorTest.java   |  4 ++--
 3 files changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/any23/blob/15571d45/core/src/main/java/org/apache/any23/validator/DefaultValidator.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/any23/validator/DefaultValidator.java 
b/core/src/main/java/org/apache/any23/validator/DefaultValidator.java
index 6ad2509..097a346 100644
--- a/core/src/main/java/org/apache/any23/validator/DefaultValidator.java
+++ b/core/src/main/java/org/apache/any23/validator/DefaultValidator.java
@@ -46,11 +46,12 @@ public class DefaultValidator implements Validator {
     private List<Class<? extends Rule>> rulesOrder;
 
     public DefaultValidator() {
-        rulesToFixes = new HashMap<Class<? extends Rule>, List<Class<? extends 
Fix>>>();
-        rulesOrder   = new ArrayList<Class<? extends Rule>>();
+        rulesToFixes = new HashMap<>();
+        rulesOrder   = new ArrayList<>();
         loadDefaultRules();
     }
 
+    @Override
     public ValidationReport validate(DOMDocument document, boolean applyFix)
     throws ValidatorException {
         final ValidationReportBuilder validationReportBuilder = new 
DefaultValidationReportBuilder();
@@ -81,15 +82,17 @@ public class DefaultValidator implements Validator {
         return validationReportBuilder.getReport();
     }
 
+    @Override
     public ValidationReport validate(URI documentIRI, Document document, 
boolean applyFix)
     throws ValidatorException {
         return validate( new DefaultDOMDocument(documentIRI, document), 
applyFix );
     }
 
+    @Override
     public synchronized void addRule(Class<? extends Rule> rule, Class<? 
extends Fix> fix) {
         List<Class<? extends Fix>> fixes = rulesToFixes.get(rule);
         if(fixes == null) {
-            fixes = new ArrayList<Class<? extends Fix>>();
+            fixes = new ArrayList<>();
         }
         rulesOrder.add(rule);
         rulesToFixes.put(rule, fixes);
@@ -98,19 +101,23 @@ public class DefaultValidator implements Validator {
         }
     }
 
+    @Override
     public void addRule(Class<? extends Rule> rule) {
         addRule(rule, null);
     }
 
+    @Override
     public synchronized void removeRule(Class<? extends Rule> rule) {
         rulesOrder.remove(rule);
         rulesToFixes.remove(rule);
     }
 
+    @Override
     public List<Class<? extends Rule>> getAllRules() {
         return Collections.unmodifiableList(rulesOrder);
     }
 
+    @Override
     public List<Class<? extends Fix>> getFixes(Class<? extends Rule> rule) {
         List<Class<? extends Fix>> fixes = rulesToFixes.get(rule);
         return  fixes == null

http://git-wip-us.apache.org/repos/asf/any23/blob/15571d45/core/src/main/java/org/apache/any23/validator/rule/MissingItemscopeAttributeValueFix.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/any23/validator/rule/MissingItemscopeAttributeValueFix.java
 
b/core/src/main/java/org/apache/any23/validator/rule/MissingItemscopeAttributeValueFix.java
index 58e4f11..45fa210 100644
--- 
a/core/src/main/java/org/apache/any23/validator/rule/MissingItemscopeAttributeValueFix.java
+++ 
b/core/src/main/java/org/apache/any23/validator/rule/MissingItemscopeAttributeValueFix.java
@@ -31,7 +31,7 @@ import org.w3c.dom.Node;
  */
 public class MissingItemscopeAttributeValueFix implements Fix {
 
-  private static final String EMPTY_ITEMSCOPE_VALUE = "";
+  private static final String EMPTY_ITEMSCOPE_VALUE = "itemscope";
   
   private static final String ITEMSCOPE = "itemscope";
 
@@ -57,10 +57,6 @@ public class MissingItemscopeAttributeValueFix implements 
Fix {
       if (itemScopeNode.getTextContent() == null || 
itemScopeNode.getTextContent() == "") {
         String node = DomUtils.getXPathForNode(itemScopeContainerElement);
         document.addAttribute(node, ITEMSCOPE, EMPTY_ITEMSCOPE_VALUE);
-        
//newItemScopeContainerElement.getAttributes().removeNamedItem(ITEMSCOPE);
-        //Attr newItemScopeNode = 
document.getOriginalDocument().createAttribute(ITEMSCOPE);
-        //newItemScopeNode.setNodeValue(EMPTY_ITEMSCOPE_VALUE);
-        
//newItemScopeContainerElement.getAttributes().setNamedItem(newItemScopeNode);
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/any23/blob/15571d45/core/src/test/java/org/apache/any23/validator/DefaultValidatorTest.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/any23/validator/DefaultValidatorTest.java 
b/core/src/test/java/org/apache/any23/validator/DefaultValidatorTest.java
index 7917670..13f393b 100644
--- a/core/src/test/java/org/apache/any23/validator/DefaultValidatorTest.java
+++ b/core/src/test/java/org/apache/any23/validator/DefaultValidatorTest.java
@@ -88,9 +88,9 @@ public class DefaultValidatorTest {
       ValidationReport validationReport = validator.validate(document, true);
       List<Node> fixedItemScopeNodes = 
document.getNodesWithAttribute("itemscope");
       for (Node node : fixedItemScopeNodes) {
-        // all nodes with itemscope now have a default value of "" e.g. empty 
string
+        // all nodes with itemscope now have a default value of "itemscope"
         
Assert.assertNotNull(node.getAttributes().getNamedItem("itemscope").getNodeValue()
 );
-        Assert.assertEquals("", 
node.getAttributes().getNamedItem("itemscope").getNodeValue() );
+        Assert.assertEquals("itemscope", 
node.getAttributes().getNamedItem("itemscope").getNodeValue() );
       }
       if(logger.isDebugEnabled()) {
           logger.debug( validationReport.toString() );

Reply via email to