You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2012/12/22 23:47:05 UTC
svn commit: r1425363 - in
/webservices/commons/trunk/modules/axiom/modules/axiom-compat: pom.xml
src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderFactoryImpl.java
src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderImpl.java
Author: veithen
Date: Sat Dec 22 22:47:05 2012
New Revision: 1425363
URL: http://svn.apache.org/viewvc?rev=1425363&view=rev
Log:
Decouple axiom-compat from axiom-dom.
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-compat/pom.xml
webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderFactoryImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderImpl.java
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-compat/pom.xml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-compat/pom.xml?rev=1425363&r1=1425362&r2=1425363&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-compat/pom.xml (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-compat/pom.xml Sat Dec 22 22:47:05 2012
@@ -53,7 +53,7 @@
<groupId>${project.groupId}</groupId>
<artifactId>axiom-dom</artifactId>
<version>${project.version}</version>
- <optional>true</optional>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderFactoryImpl.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderFactoryImpl.java?rev=1425363&r1=1425362&r2=1425363&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderFactoryImpl.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderFactoryImpl.java Sat Dec 22 22:47:05 2012
@@ -24,6 +24,9 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.validation.Schema;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.dom.DOMMetaFactory;
+
/**
* @deprecated
* This class has static methods that allow to switch between DOOM and the default
@@ -47,6 +50,9 @@ public class DocumentBuilderFactoryImpl
private static String originalDocumentBuilderFactoryClassName = null;
private static ThreadLocal documentBuilderFactoryTracker = new ThreadLocal();
+ private static final DOMMetaFactory domMetaFactory =
+ (DOMMetaFactory)OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM);
+
protected Schema schema;
public static boolean isDOOMRequired() {
@@ -91,7 +97,7 @@ public class DocumentBuilderFactoryImpl
* Determine which DocumentBuilder implementation should be returned
*/
return isDOOMRequired()
- ? new DocumentBuilderImpl(this)
+ ? new DocumentBuilderImpl(this, domMetaFactory)
: originalDocumentBuilderFactory.newDocumentBuilder();
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderImpl.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderImpl.java?rev=1425363&r1=1425362&r2=1425363&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderImpl.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/dom/jaxp/DocumentBuilderImpl.java Sat Dec 22 22:47:05 2012
@@ -19,11 +19,10 @@
package org.apache.axiom.om.impl.dom.jaxp;
+import org.apache.axiom.om.OMDocument;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.dom.DOMMetaFactory;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.impl.dom.DocumentImpl;
-import org.apache.axiom.om.impl.dom.ElementImpl;
-import org.apache.axiom.om.impl.dom.factory.OMDOMFactory;
-import org.apache.axiom.om.impl.dom.factory.OMDOMMetaFactory;
import org.apache.axiom.om.util.StAXUtils;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
@@ -49,9 +48,12 @@ public class DocumentBuilderImpl extends
/** The DocumentBuilderFactory used to create this document builder */
private DocumentBuilderFactoryImpl factory;
- protected DocumentBuilderImpl(DocumentBuilderFactoryImpl fac) {
+ private final DOMMetaFactory domMetaFactory;
+
+ protected DocumentBuilderImpl(DocumentBuilderFactoryImpl fac, DOMMetaFactory domMetaFactory) {
super();
this.factory = fac;
+ this.domMetaFactory = domMetaFactory;
}
/**
@@ -75,7 +77,7 @@ public class DocumentBuilderImpl extends
}
public DOMImplementation getDOMImplementation() {
- return OMDOMMetaFactory.INSTANCE.getDOMImplementation();
+ return domMetaFactory.getDOMImplementation();
}
/**
@@ -84,10 +86,7 @@ public class DocumentBuilderImpl extends
* @see javax.xml.parsers.DocumentBuilder#newDocument()
*/
public Document newDocument() {
- OMDOMFactory factory = new OMDOMFactory();
- DocumentImpl documentImpl = new DocumentImpl(factory);
- documentImpl.setComplete(true);
- return documentImpl;
+ return (Document)domMetaFactory.getOMFactory().createOMDocument();
}
public void setEntityResolver(EntityResolver er) {
@@ -101,14 +100,14 @@ public class DocumentBuilderImpl extends
public Document parse(InputSource inputSource) throws SAXException,
IOException {
try {
- OMDOMFactory factory = new OMDOMFactory();
+ OMFactory factory = domMetaFactory.getOMFactory();
// Not really sure whether this will work :-?
XMLStreamReader reader = StAXUtils
.createXMLStreamReader(inputSource.getCharacterStream());
StAXOMBuilder builder = new StAXOMBuilder(factory, reader);
- DocumentImpl doc = (DocumentImpl) builder.getDocument();
- ((ElementImpl) doc.getDocumentElement()).build();
- return (DocumentImpl) builder.getDocument();
+ OMDocument doc = builder.getDocument();
+ doc.build();
+ return (Document)doc;
} catch (XMLStreamException e) {
throw new SAXException(e);
}
@@ -117,11 +116,11 @@ public class DocumentBuilderImpl extends
/** @see javax.xml.parsers.DocumentBuilder#parse(java.io.InputStream) */
public Document parse(InputStream is) throws SAXException, IOException {
try {
- OMDOMFactory factory = new OMDOMFactory();
+ OMFactory factory = domMetaFactory.getOMFactory();
XMLStreamReader reader = StAXUtils
.createXMLStreamReader(is);
StAXOMBuilder builder = new StAXOMBuilder(factory, reader);
- return (DocumentImpl) builder.getDocument();
+ return (Document) builder.getDocument();
} catch (XMLStreamException e) {
throw new SAXException(e);
}
@@ -130,11 +129,11 @@ public class DocumentBuilderImpl extends
/** @see javax.xml.parsers.DocumentBuilder#parse(java.io.File) */
public Document parse(File file) throws SAXException, IOException {
try {
- OMDOMFactory factory = new OMDOMFactory();
+ OMFactory factory = domMetaFactory.getOMFactory();
XMLStreamReader reader = StAXUtils
.createXMLStreamReader(new FileInputStream(file));
StAXOMBuilder builder = new StAXOMBuilder(factory, reader);
- return (DocumentImpl) builder.getDocument();
+ return (Document) builder.getDocument();
} catch (XMLStreamException e) {
throw new SAXException(e);
}