[java-opensaml COMMIT] in /trunk/opensaml-core/src: main/java/org/opensaml/core/xml/AbstractXMLObject.java main/java/...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Oct 11 19:41:23 EDT 2016
Author: putmanb
Date: Tue Oct 11 19:41:23 2016
New Revision: 4530
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4530&view=rev
Log:
In support of OSJ-168, add supporting code to track source byte[] of an object.
Also update AbstractXMLObject impl so that this object metadata is cleared on the
same conditions as DOM release (which is typically on object mutation).
Added:
trunk/opensaml-core/src/main/java/org/opensaml/core/xml/persist/AbstractXMLObjectTest.java (with props)
trunk/opensaml-core/src/main/java/org/opensaml/core/xml/util/XMLObjectSource.java (with props)
trunk/opensaml-core/src/test/java/org/opensaml/core/xml/util/XMLObjectSourceTest.java (with props)
Modified:
trunk/opensaml-core/src/main/java/org/opensaml/core/xml/AbstractXMLObject.java
Modified: trunk/opensaml-core/src/main/java/org/opensaml/core/xml/AbstractXMLObject.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-core/src/main/java/org/opensaml/core/xml/AbstractXMLObject.java?rev=4530&r1=4529&r2=4530&view=diff
==============================================================================
--- trunk/opensaml-core/src/main/java/org/opensaml/core/xml/AbstractXMLObject.java (original)
+++ trunk/opensaml-core/src/main/java/org/opensaml/core/xml/AbstractXMLObject.java Tue Oct 11 19:41:23 2016
@@ -25,18 +25,19 @@
import javax.annotation.Nullable;
import javax.xml.namespace.QName;
+import org.opensaml.core.xml.schema.XSBooleanValue;
+import org.opensaml.core.xml.util.IDIndex;
+import org.opensaml.core.xml.util.XMLObjectSource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Element;
+
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.collection.LockableClassToInstanceMultiMap;
import net.shibboleth.utilities.java.support.logic.Constraint;
import net.shibboleth.utilities.java.support.primitive.StringSupport;
import net.shibboleth.utilities.java.support.xml.QNameSupport;
import net.shibboleth.utilities.java.support.xml.XMLConstants;
-
-import org.opensaml.core.xml.schema.XSBooleanValue;
-import org.opensaml.core.xml.util.IDIndex;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.w3c.dom.Element;
/**
* An abstract implementation of XMLObject.
@@ -408,6 +409,10 @@
public void releaseDOM() {
log.trace("Releasing cached DOM reprsentation for {}", getElementQName());
setDOM(null);
+ if (getObjectMetadata().containsKey(XMLObjectSource.class)) {
+ log.trace("Releasing cached XMLObjectSource for {}", getElementQName());
+ getObjectMetadata().remove(XMLObjectSource.class);
+ }
}
/** {@inheritDoc} */
More information about the commits
mailing list