[java-opensaml COMMIT] in /trunk/opensaml-saml-impl/src: main/java/org/opensaml/saml/metadata/resolver/impl/AbstractD...

noreply at shibboleth.net noreply at shibboleth.net
Tue Oct 11 18:11:46 EDT 2016


Author: putmanb
Date: Tue Oct 11 18:11:45 2016
New Revision: 4528

URL: http://svn.shibboleth.net/view/java-opensaml?rev=4528&view=rev
Log:
OSJ-178: AbstractDynamicMetadataResolver does not drop DOM of resolved metadata

Modified:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/FunctionDrivenDynamicHTTPMetadataResolverTest.java

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java?rev=4528&r1=4527&r2=4528&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java	(original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolver.java	Tue Oct 11 18:11:45 2016
@@ -504,6 +504,7 @@
         
         if (filteredMetadata == null) {
             log.info("Metadata filtering process produced a null document, resulting in an empty data set");
+            releaseMetadataDOM(root);
             return;
         }
         
@@ -539,6 +540,9 @@
         } else {
             log.warn("Document root was not an EntityDescriptor: {}", root.getClass().getName());
         }
+        
+        releaseMetadataDOM(filteredMetadata);
+        releaseMetadataDOM(root);
     
     }
     //CheckStyle: ReturnCount ON

Modified: trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java?rev=4528&r1=4527&r2=4528&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java	(original)
+++ trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/metadata/resolver/impl/AbstractDynamicMetadataResolverTest.java	Tue Oct 11 18:11:45 2016
@@ -17,6 +17,7 @@
 
 package org.opensaml.saml.metadata.resolver.impl;
 
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
@@ -26,19 +27,21 @@
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.XMLObjectBaseTestCase;
 import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
+import org.opensaml.core.xml.io.MarshallingException;
 import org.opensaml.core.xml.persist.MapLoadSaveManager;
 import org.opensaml.core.xml.persist.XMLObjectLoadSaveManager;
+import org.opensaml.core.xml.util.XMLObjectSupport;
 import org.opensaml.saml.metadata.resolver.impl.AbstractDynamicMetadataResolver.DynamicEntityBackingStore;
 import org.opensaml.saml.saml2.metadata.EntityDescriptor;
 import org.testng.Assert;
 import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import com.google.common.base.Function;
 import com.google.common.base.Objects;
 import com.google.common.base.Predicate;
+import com.google.common.collect.Lists;
 
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
@@ -57,19 +60,36 @@
     private String id1, id2, id3;
     private EntityDescriptor ed1, ed2, ed3;
     
-    @BeforeClass
-    protected void setUpEntityData() {
+    @BeforeMethod
+    protected void setUpEntityData() throws MarshallingException, IOException {
+        ByteArrayOutputStream baos = null;
+        
         id1 = "urn:test:entity:1";
         ed1 = buildXMLObject(EntityDescriptor.DEFAULT_ELEMENT_NAME);
         ed1.setEntityID(id1);
+        baos = new ByteArrayOutputStream();
+        XMLObjectSupport.marshallToOutputStream(ed1, baos);
+        baos.flush();
+        baos.close();
+        Assert.assertNotNull(ed1.getDOM());
         
         id2 = "urn:test:entity:2";
         ed2 = buildXMLObject(EntityDescriptor.DEFAULT_ELEMENT_NAME);
         ed2.setEntityID(id2);
+        baos = new ByteArrayOutputStream();
+        XMLObjectSupport.marshallToOutputStream(ed2, baos);
+        baos.flush();
+        baos.close();
+        Assert.assertNotNull(ed2.getDOM());
         
         id3 = "urn:test:entity:3";
         ed3 = buildXMLObject(EntityDescriptor.DEFAULT_ELEMENT_NAME);
         ed3.setEntityID(id3);
+        baos = new ByteArrayOutputStream();
+        XMLObjectSupport.marshallToOutputStream(ed3, baos);
+        baos.flush();

[... 127 lines stripped ...]


More information about the commits mailing list