[java-metadata-aggregator COMMIT] in /trunk/aggregator-pipeline: pom.xml src/main/java/net/shibboleth/metadata/dom/DO...

noreply at shibboleth.net noreply at shibboleth.net
Tue Mar 11 12:24:11 EDT 2014


Author: iay
Date: Tue Mar 11 12:24:11 2014
New Revision: 354

URL: http://svn.shibboleth.net/view/java-metadata-aggregator?rev=354&view=rev
Log:
MDA-130: NPE in DOMResourceStage if resource reading fails

Modified:
    trunk/aggregator-pipeline/pom.xml
    trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/DOMResourceSourceStage.java
    trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceTest.java

Modified: trunk/aggregator-pipeline/pom.xml
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/pom.xml?rev=354&r1=353&r2=354&view=diff
==============================================================================
--- trunk/aggregator-pipeline/pom.xml (original)
+++ trunk/aggregator-pipeline/pom.xml Tue Mar 11 12:24:11 2014
@@ -51,6 +51,11 @@
             <groupId>org.bouncycastle</groupId>
             <artifactId>bcprov-jdk15</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-all</artifactId>
+            <scope>test</scope>
+        </dependency>
         
     </dependencies>
 

Modified: trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/DOMResourceSourceStage.java
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/DOMResourceSourceStage.java?rev=354&r1=353&r2=354&view=diff
==============================================================================
--- trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/DOMResourceSourceStage.java (original)
+++ trunk/aggregator-pipeline/src/main/java/net/shibboleth/metadata/dom/DOMResourceSourceStage.java Tue Mar 11 12:24:11 2014
@@ -134,20 +134,11 @@
     /** {@inheritDoc} */
     @Override protected void doExecute(@Nonnull @NonnullElements final Collection<Item<Element>> itemCollection)
             throws StageProcessingException {
-        InputStream ins = null;
-
-        try {
-            log.debug("Attempting to fetch XML document from '{}'", domResource.getDescription());
-
-            ins = domResource.getInputStream();
-            if (ins == null) {
-                log.debug("Resource at location '{}' did not produce any data to parse, nothing left to do",
-                        domResource.getDescription());
-            } else {
-                log.debug("DOM Element from '{}' unchanged since last request, using cached copy",
-                        domResource.getDescription());
-                populateItemCollection(itemCollection, ins);
-            }
+
+        log.debug("Attempting to fetch XML document from '{}'", domResource.getDescription());
+
+        try (InputStream ins = domResource.getInputStream()) {
+            populateItemCollection(itemCollection, ins);
         } catch (IOException e) {
             if (errorCausesSourceFailure) {
                 throw new StageProcessingException("Error retrieving XML document from " +
@@ -155,12 +146,6 @@
             } else {
                 log.warn("stage {}: unable to read in XML file");
                 log.debug("stage {}: HTTP resource exception", getId(), e);
-            }
-        } finally {
-            try {
-                ins.close();
-            } catch (IOException e) {
-                throw new StageProcessingException("Error closing resource", e);
             }
         }
     }

Modified: trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceTest.java
URL: http://svn.shibboleth.net/view/java-metadata-aggregator/trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceTest.java?rev=354&r1=353&r2=354&view=diff
==============================================================================
--- trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceTest.java (original)
+++ trunk/aggregator-pipeline/src/test/java/net/shibboleth/metadata/dom/DOMResourceSourceTest.java Tue Mar 11 12:24:11 2014
@@ -17,6 +17,10 @@
 
 package net.shibboleth.metadata.dom;
 
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
 import java.util.ArrayList;
 
 import net.shibboleth.metadata.Item;
@@ -28,16 +32,21 @@
 import org.springframework.core.io.Resource;
 import org.springframework.core.io.UrlResource;
 import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 import org.w3c.dom.Element;
 
 public class DOMResourceSourceTest {
 
+    BasicParserPool parserPool;
+    
+    @BeforeClass void initialize() throws Exception {
+        parserPool = new BasicParserPool();
+        parserPool.initialize();
+    }
+    
     @Test public void testSuccessfulFetchAndParse() throws Exception {
-        Resource mdResource = buildHttpResource("https://issues.shibboleth.net/jira/Shibboleth.sso/Metadata");
-
-        BasicParserPool parserPool = new BasicParserPool();
-        parserPool.initialize();

[... 64 lines stripped ...]


More information about the commits mailing list