You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2012/02/04 12:05:45 UTC
svn commit: r1240487 - in
/axis/axis2/java/rampart/trunk/modules/rampart-trust: pom.xml
src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
src/main/java/org/apache/rahas/impl/util/SAML2Utils.java
Author: veithen
Date: Sat Feb 4 11:05:45 2012
New Revision: 1240487
URL: http://svn.apache.org/viewvc?rev=1240487&view=rev
Log:
Get rid of the remaining direct references to DOOM. In particular, removed the DocumentBuilderFactory hacks. Since Amila ported the AxiomParserPool to OpenSAML 2, these hacks are no longer necessary.
Modified:
axis/axis2/java/rampart/trunk/modules/rampart-trust/pom.xml
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAML2Utils.java
Modified: axis/axis2/java/rampart/trunk/modules/rampart-trust/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-trust/pom.xml?rev=1240487&r1=1240486&r2=1240487&view=diff
==============================================================================
--- axis/axis2/java/rampart/trunk/modules/rampart-trust/pom.xml (original)
+++ axis/axis2/java/rampart/trunk/modules/rampart-trust/pom.xml Sat Feb 4 11:05:45 2012
@@ -79,6 +79,7 @@
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-dom</artifactId>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
Modified: axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java?rev=1240487&r1=1240486&r2=1240487&view=diff
==============================================================================
--- axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java (original)
+++ axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java Sat Feb 4 11:05:45 2012
@@ -16,9 +16,10 @@
package org.apache.rahas.impl;
+import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.impl.dom.jaxp.DocumentBuilderFactoryImpl;
+import org.apache.axiom.om.dom.DOMMetaFactory;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.description.Parameter;
@@ -43,7 +44,6 @@ import org.apache.xml.security.signature
import org.apache.xml.security.utils.EncryptionConstants;
import org.joda.time.DateTime;
import org.opensaml.Configuration;
-import org.opensaml.DefaultBootstrap;
import org.opensaml.common.SAMLException;
import org.opensaml.common.SAMLObjectBuilder;
import org.opensaml.common.SAMLVersion;
@@ -53,7 +53,6 @@ import org.opensaml.saml2.core.impl.Asse
import org.opensaml.saml2.core.impl.ConditionsBuilder;
import org.opensaml.saml2.core.impl.IssuerBuilder;
import org.opensaml.saml2.core.impl.NameIDBuilder;
-import org.opensaml.xml.ConfigurationException;
import org.opensaml.xml.XMLObject;
import org.opensaml.xml.XMLObjectBuilder;
import org.opensaml.xml.XMLObjectBuilderFactory;
@@ -98,22 +97,6 @@ public class SAML2TokenIssuer implements
private static Log log = LogFactory.getLog(SAML2TokenIssuer.class);
- static {
- try {
- // Set the "javax.xml.parsers.DocumentBuilderFactory" system property
- // to the endorsed JAXP impl.
- System.setProperty("javax.xml.parsers.DocumentBuilderFactory",
- "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
- DefaultBootstrap.bootstrap();
- } catch (ConfigurationException e) {
- log.error("SAML2TokenIssuerBootstrapError", e);
- throw new RuntimeException(e);
- } finally {
- // Unset the DOM impl to default
- DocumentBuilderFactoryImpl.setDOOMRequired(false);
- }
- }
-
public SOAPEnvelope issue(RahasData data) throws TrustException {
MessageContext inMsgCtx = data.getInMessageContext();
@@ -300,10 +283,8 @@ public class SAML2TokenIssuer implements
writer.write(element, output);
String elementString = byteArrayOutputStrm.toString();
- DocumentBuilderFactoryImpl.setDOOMRequired(true);
-
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- documentBuilderFactory.setNamespaceAware(true);
+ DocumentBuilderFactory documentBuilderFactory = ((DOMMetaFactory)OMAbstractFactory.getMetaFactory(
+ OMAbstractFactory.FEATURE_DOM)).newDocumentBuilderFactory();
DocumentBuilder docBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = docBuilder.parse(new ByteArrayInputStream(elementString.trim().getBytes()));
Element assertionElement = document.getDocumentElement();
@@ -334,11 +315,6 @@ public class SAML2TokenIssuer implements
} catch (Exception e) {
e.printStackTrace();
}
- finally {
- // Unset the DOM impl to default
- DocumentBuilderFactoryImpl.setDOOMRequired(false);
- }
-
return null;
}
Modified: axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAML2Utils.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAML2Utils.java?rev=1240487&r1=1240486&r2=1240487&view=diff
==============================================================================
--- axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAML2Utils.java (original)
+++ axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAML2Utils.java Sat Feb 4 11:05:45 2012
@@ -17,7 +17,8 @@
package org.apache.rahas.impl.util;
-import org.apache.axiom.om.impl.dom.jaxp.DocumentBuilderFactoryImpl;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.dom.DOMMetaFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.rahas.RahasConstants;
@@ -64,20 +65,10 @@ public class SAML2Utils {
public static Element getElementFromAssertion(XMLObject xmlObj) throws TrustException {
try {
- String jaxpProperty = System.getProperty("javax.xml.parsers.DocumentBuilderFactory");
- //System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
-
MarshallerFactory marshallerFactory = org.opensaml.xml.Configuration.getMarshallerFactory();
Marshaller marshaller = marshallerFactory.getMarshaller(xmlObj);
Element element = marshaller.marshall(xmlObj);
- // Reset the sys. property to its previous value.
- if (jaxpProperty == null) {
- System.getProperties().remove("javax.xml.parsers.DocumentBuilderFactory");
- } else {
- System.setProperty("javax.xml.parsers.DocumentBuilderFactory", jaxpProperty);
- }
-
ByteArrayOutputStream byteArrayOutputStrm = new ByteArrayOutputStream();
DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
@@ -91,14 +82,11 @@ public class SAML2Utils {
writer.write(element, output);
String elementString = byteArrayOutputStrm.toString();
- DocumentBuilderFactoryImpl.setDOOMRequired(true);
-
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- documentBuilderFactory.setNamespaceAware(true);
+ DocumentBuilderFactory documentBuilderFactory = ((DOMMetaFactory)OMAbstractFactory.getMetaFactory(
+ OMAbstractFactory.FEATURE_DOM)).newDocumentBuilderFactory();
DocumentBuilder docBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = docBuilder.parse(new ByteArrayInputStream(elementString.trim().getBytes()));
Element assertionElement = document.getDocumentElement();
- DocumentBuilderFactoryImpl.setDOOMRequired(false);
log.debug("DOM element is created successfully from the OpenSAML2 XMLObject");
return assertionElement;