You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by sc...@apache.org on 2007/04/13 21:33:05 UTC
svn commit: r528619 -
/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java
Author: scheu
Date: Fri Apr 13 12:33:04 2007
New Revision: 528619
URL: http://svn.apache.org/viewvc?view=rev&rev=528619
Log:
WSCOMMONS-192
Contributor:Rich Scheuerle
Java 2 Security change to STAXUtils.
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java?view=diff&rev=528619&r1=528618&r2=528619
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/util/StAXUtils.java Fri Apr 13 12:33:04 2007
@@ -12,6 +12,8 @@
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.List;
@@ -66,8 +68,22 @@
private static final Pool xmlInputFactoryPool = new Pool(new ObjectCreator[] {
new ObjectCreator() {
public Object newObject() {
- return XMLInputFactory.newInstance("javax.xml.stream.XMLInputFactory",
- StAXUtils.class.getClassLoader());
+ return AccessController.doPrivileged(
+ new PrivilegedAction() {
+ public Object run() {
+ Thread currentThread = Thread.currentThread();
+ ClassLoader savedClassLoader = currentThread.getContextClassLoader();
+ XMLInputFactory factory = null;
+ try {
+ currentThread.setContextClassLoader(StAXUtils.class.getClassLoader());
+ factory = XMLInputFactory.newInstance();
+ }
+ finally {
+ currentThread.setContextClassLoader(savedClassLoader);
+ }
+ return factory;
+ }
+ });
}
},
new ObjectCreator() {
@@ -80,8 +96,23 @@
private static final Pool xmlOutputFactoryPool = new Pool(new ObjectCreator[] {
new ObjectCreator() {
public Object newObject() {
- return XMLOutputFactory.newInstance("javax.xml.stream.XMLOutputFactory",
- StAXUtils.class.getClassLoader());
+ return AccessController.doPrivileged(
+ new PrivilegedAction() {
+ public Object run() {
+
+ Thread currentThread = Thread.currentThread();
+ ClassLoader savedClassLoader = currentThread.getContextClassLoader();
+ XMLOutputFactory factory = null;
+ try {
+ currentThread.setContextClassLoader(StAXUtils.class.getClassLoader());
+ factory = XMLOutputFactory.newInstance();
+ }
+ finally {
+ currentThread.setContextClassLoader(savedClassLoader);
+ }
+ return factory;
+ }
+ });
}
},
new ObjectCreator() {
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: commons-dev-help@ws.apache.org