[jboss-cvs] JBossAS SVN: r111111 - in projects/specs/trunk/jboss-jstl-api_1.2_spec: src/main/java/org/apache/taglibs/standard/tag/common/xml and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Apr 6 16:40:02 EDT 2011
Author: jason.greene at jboss.com
Date: 2011-04-06 16:40:01 -0400 (Wed, 06 Apr 2011)
New Revision: 111111
Modified:
projects/specs/trunk/jboss-jstl-api_1.2_spec/pom.xml
projects/specs/trunk/jboss-jstl-api_1.2_spec/src/main/java/org/apache/taglibs/standard/tag/common/xml/JSTLXPathFactory.java
projects/specs/trunk/jboss-jstl-api_1.2_spec/src/main/java/org/apache/taglibs/standard/tag/common/xml/JSTLXPathImpl.java
Log:
Switch from JDK intenerl deps to a dep on xalan's xpath impl.
Modified: projects/specs/trunk/jboss-jstl-api_1.2_spec/pom.xml
===================================================================
--- projects/specs/trunk/jboss-jstl-api_1.2_spec/pom.xml 2011-04-06 18:35:20 UTC (rev 111110)
+++ projects/specs/trunk/jboss-jstl-api_1.2_spec/pom.xml 2011-04-06 20:40:01 UTC (rev 111111)
@@ -46,6 +46,11 @@
<artifactId>jboss-jsp-api_2.2_spec</artifactId>
<version>1.0.0.Final</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.xalan</groupId>
+ <artifactId>xalan</artifactId>
+ <version>2.7.1-1.jbossorg</version>
+ </dependency>
</dependencies>
</project>
Modified: projects/specs/trunk/jboss-jstl-api_1.2_spec/src/main/java/org/apache/taglibs/standard/tag/common/xml/JSTLXPathFactory.java
===================================================================
--- projects/specs/trunk/jboss-jstl-api_1.2_spec/src/main/java/org/apache/taglibs/standard/tag/common/xml/JSTLXPathFactory.java 2011-04-06 18:35:20 UTC (rev 111110)
+++ projects/specs/trunk/jboss-jstl-api_1.2_spec/src/main/java/org/apache/taglibs/standard/tag/common/xml/JSTLXPathFactory.java 2011-04-06 20:40:01 UTC (rev 111111)
@@ -58,12 +58,7 @@
package org.apache.taglibs.standard.tag.common.xml;
-import javax.xml.xpath.XPathFactory;
-import javax.xml.xpath.XPathFactoryConfigurationException;
-import javax.xml.xpath.XPathFunctionResolver;
-import javax.xml.xpath.XPathVariableResolver;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
+import org.apache.xpath.jaxp.XPathFactoryImpl;
/**
* This factory class is added to provide access to our own implementation
@@ -72,74 +67,9 @@
*
* @author dhirup
*/
-public class JSTLXPathFactory extends XPathFactory {
-
- private XPathFactory actual;
-
- public JSTLXPathFactory() {
-
- ClassLoader old = getContextClassLoader();
- try {
- // Use the defining class loader
- setContextClassLoader(JSTLXPathFactory.class.getClassLoader());
- actual = XPathFactory.newInstance();
- } finally {
- setContextClassLoader(old);
- }
-
- if (actual == null)
- throw new IllegalStateException("Could not load default XPathFactory");
- }
-
- private static ClassLoader getContextClassLoader() {
- return (ClassLoader)
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
- ClassLoader cl = null;
- try {
- cl = Thread.currentThread().getContextClassLoader();
- } catch (SecurityException eat) {
- }
- return cl;
- }
- });
- }
-
- private static void setContextClassLoader(ClassLoader cl) {
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
- ClassLoader cl = null;
- try {
- Thread.currentThread().setContextClassLoader(cl);
- } catch (SecurityException eat) {
- }
-
- return null;
- }
- });
- }
-
+public class JSTLXPathFactory extends XPathFactoryImpl {
+
public javax.xml.xpath.XPath newXPath() {
return new org.apache.taglibs.standard.tag.common.xml.JSTLXPathImpl(null, null);
- }
-
- public boolean isObjectModelSupported(String objectModel) {
- return actual.isObjectModelSupported(objectModel);
- }
-
- public void setFeature(String name, boolean value) throws XPathFactoryConfigurationException {
- actual.setFeature(name, value);
- }
-
- public boolean getFeature(String name) throws XPathFactoryConfigurationException {
- return actual.getFeature(name);
- }
-
- public void setXPathVariableResolver(XPathVariableResolver resolver) {
- actual.setXPathVariableResolver(resolver);
- }
-
- public void setXPathFunctionResolver(XPathFunctionResolver resolver) {
- actual.setXPathFunctionResolver(resolver);
- }
+ }
}
Modified: projects/specs/trunk/jboss-jstl-api_1.2_spec/src/main/java/org/apache/taglibs/standard/tag/common/xml/JSTLXPathImpl.java
===================================================================
--- projects/specs/trunk/jboss-jstl-api_1.2_spec/src/main/java/org/apache/taglibs/standard/tag/common/xml/JSTLXPathImpl.java 2011-04-06 18:35:20 UTC (rev 111110)
+++ projects/specs/trunk/jboss-jstl-api_1.2_spec/src/main/java/org/apache/taglibs/standard/tag/common/xml/JSTLXPathImpl.java 2011-04-06 20:40:01 UTC (rev 111111)
@@ -67,12 +67,12 @@
import javax.xml.xpath.XPathVariableResolver;
import javax.xml.xpath.XPathExpression;
-import com.sun.org.apache.xml.internal.dtm.DTM;
-import com.sun.org.apache.xpath.internal.*;
-import com.sun.org.apache.xpath.internal.objects.XObject;
-import com.sun.org.apache.xpath.internal.res.XPATHErrorResources;
-import com.sun.org.apache.xalan.internal.res.XSLMessages;
-
+import org.apache.xalan.res.XSLMessages;
+import org.apache.xml.dtm.DTM;
+import org.apache.xpath.jaxp.JAXPVariableStack;
+import org.apache.xpath.objects.XNodeSet;
+import org.apache.xpath.objects.XObject;
+import org.apache.xpath.res.XPATHErrorResources;
import org.w3c.dom.Node;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
@@ -95,7 +95,7 @@
* method.
*
* Most of the implementation is exactly similar to what is already provided in
- * com.sun.org.apache.xpath.internal.jaxp.XPathImpl.java
+ * org.apache.xpath.jaxp.XPathImpl.java
*/
public class JSTLXPathImpl implements javax.xml.xpath.XPath {
@@ -105,7 +105,7 @@
private XPathVariableResolver origVariableResolver;
private XPathFunctionResolver origFunctionResolver;
private NamespaceContext namespaceContext=null;
- private com.sun.org.apache.xpath.internal.jaxp.JAXPPrefixResolver prefixResolver;
+ private org.apache.xpath.jaxp.JAXPPrefixResolver prefixResolver;
// By default Extension Functions are allowed in XPath Expressions. If
// Secure Processing Feature is set on XPathFactory then the invocation of
// extensions function need to throw XPathFunctionException
@@ -130,9 +130,9 @@
*/
public void setXPathVariableResolver(XPathVariableResolver resolver) {
if ( resolver == null ) {
- String fmsg = XSLMessages.createXPATHMessage(
+ String fmsg = XSLMessages.createXPATHMessage(
XPATHErrorResources.ER_ARG_CANNOT_BE_NULL,
- new Object[] {"XPathVariableResolver"} );
+ new Object[]{"XPathVariableResolver"});
throw new NullPointerException( fmsg );
}
this.variableResolver = resolver;
@@ -184,7 +184,7 @@
throw new NullPointerException( fmsg );
}
this.namespaceContext = nsContext;
- this.prefixResolver = new com.sun.org.apache.xpath.internal.jaxp.JAXPPrefixResolver ( nsContext );
+ this.prefixResolver = new org.apache.xpath.jaxp.JAXPPrefixResolver ( nsContext );
}
/**
@@ -235,21 +235,21 @@
private XObject eval(String expression, Object contextItem)
throws javax.xml.transform.TransformerException {
- com.sun.org.apache.xpath.internal.XPath xpath = new com.sun.org.apache.xpath.internal.XPath( expression,
- null, prefixResolver, com.sun.org.apache.xpath.internal.XPath.SELECT );
- com.sun.org.apache.xpath.internal.XPathContext xpathSupport = null;
+ org.apache.xpath.XPath xpath = new org.apache.xpath.XPath( expression,
+ null, prefixResolver, org.apache.xpath.XPath.SELECT );
+ org.apache.xpath.XPathContext xpathSupport = null;
if ( functionResolver != null ) {
- com.sun.org.apache.xpath.internal.jaxp.JAXPExtensionsProvider jep =
- new com.sun.org.apache.xpath.internal.jaxp.JAXPExtensionsProvider(
+ org.apache.xpath.jaxp.JAXPExtensionsProvider jep =
+ new org.apache.xpath.jaxp.JAXPExtensionsProvider(
functionResolver, featureSecureProcessing );
- xpathSupport = new com.sun.org.apache.xpath.internal.XPathContext( jep );
+ xpathSupport = new org.apache.xpath.XPathContext( jep );
} else {
- xpathSupport = new com.sun.org.apache.xpath.internal.XPathContext();
+ xpathSupport = new org.apache.xpath.XPathContext();
}
XObject xobj = null;
- xpathSupport.setVarStack(new com.sun.org.apache.xpath.internal.jaxp.JAXPVariableStack(variableResolver));
+ xpathSupport.setVarStack(new JAXPVariableStack(variableResolver));
// If item is null, then we will create a a Dummy contextNode
if ( contextItem instanceof Node ) {
@@ -377,7 +377,7 @@
}
// JSTLXPathConstants.OBJECT
if ( returnType.equals( JSTLXPathConstants.OBJECT ) ) {
- if (resultObject instanceof com.sun.org.apache.xpath.internal.objects.XNodeSet)
+ if (resultObject instanceof XNodeSet)
return resultObject.nodelist();
else
return resultObject.object();
@@ -422,7 +422,7 @@
/**
* <p>Compile an XPath expression for later evaluation.</p>
*
- * <p>If <code>expression</code> contains any {@link XPathFunction}s,
+ * <p>If <code>expression</code> contains any {@link javax.xml.xpath.XPathFunction}s,
* they must be available via the {@link XPathFunctionResolver}.
* An {@link XPathExpressionException} will be thrown if the <code>XPathFunction</code>
* cannot be resovled with the <code>XPathFunctionResolver</code>.</p>
@@ -448,11 +448,11 @@
return null;
/*
try {
- com.sun.org.apache.xpath.internal.XPath xpath = new XPath (expression, null,
- prefixResolver, com.sun.org.apache.xpath.internal.XPath.SELECT );
+ org.apache.xpath.XPath xpath = new XPath (expression, null,
+ prefixResolver, org.apache.xpath.XPath.SELECT );
// Can have errorListener
- com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl ximpl =
- new com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl (xpath,
+ org.apache.xpath.jaxp.XPathExpressionImpl ximpl =
+ new org.apache.xpath.jaxp.XPathExpressionImpl (xpath,
prefixResolver, functionResolver, variableResolver,
featureSecureProcessing );
return ximpl;
@@ -578,7 +578,7 @@
* <p>Reset this <code>XPath</code> to its original configuration.</p>
*
* <p><code>XPath</code> is reset to the same state as when it was created with
- * {@link XPathFactory#newXPath()}.
+ * {@link javax.xml.xpath.XPathFactory#newXPath()}.
* <code>reset()</code> is designed to allow the reuse of existing <code>XPath</code>s
* thus saving resources associated with the creation of new <code>XPath</code>s.</p>
*
More information about the jboss-cvs-commits
mailing list