[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