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 2013/05/11 13:48:00 UTC
svn commit: r1481304 - in /webservices/axiom/trunk/modules:
axiom-api/src/main/java/org/apache/axiom/om/impl/jaxp/
axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/
axiom-compat/src/main/java/org/apache/axiom/om/impl/jaxp/
axiom-compat/src/ma...
Author: veithen
Date: Sat May 11 11:48:00 2013
New Revision: 1481304
URL: http://svn.apache.org/r1481304
Log:
Deprecated OMSource and related classes and moved them to axiom-compat.
Added:
webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/jaxp/
webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/jaxp/OMSource.java
- copied, changed from r1481276, webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/jaxp/OMSource.java
webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/serialize/ContentHandlerWriter.java
- copied unchanged from r1481276, webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/ContentHandlerWriter.java
webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java
- copied, changed from r1481276, webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java
Removed:
webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/jaxp/OMSource.java
webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/ContentHandlerWriter.java
webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java
Modified:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetSAXSourceIdentityTransformOnFragment.java
Copied: webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/jaxp/OMSource.java (from r1481276, webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/jaxp/OMSource.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/jaxp/OMSource.java?p2=webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/jaxp/OMSource.java&p1=webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/jaxp/OMSource.java&r1=1481276&r2=1481304&rev=1481304&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/jaxp/OMSource.java (original)
+++ webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/jaxp/OMSource.java Sat May 11 11:48:00 2013
@@ -37,9 +37,9 @@ import org.xml.sax.ext.LexicalHandler;
* <p>
* Note that this class only supports {@link ContentHandler} and {@link LexicalHandler}.
* {@link DTDHandler} and {@link DeclHandler} are not supported.
- * <p>
- * <b>NOTE: As of version 1.2.13, application code should use
- * {@link OMContainer#getSAXSource(boolean)} instead of instantiating this class directly.</b>
+ *
+ * @deprecated As of version 1.2.13, application code should use
+ * {@link OMContainer#getSAXSource(boolean)} instead of this class.
*/
public class OMSource extends SAXSource {
public OMSource(OMElement element) {
Copied: webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java (from r1481276, webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java?p2=webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java&p1=webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java&r1=1481276&r2=1481304&rev=1481304&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java (original)
+++ webservices/axiom/trunk/modules/axiom-compat/src/main/java/org/apache/axiom/om/impl/serialize/OMXMLReader.java Sat May 11 11:48:00 2013
@@ -27,6 +27,7 @@ import java.util.List;
import java.util.Set;
import javax.activation.DataHandler;
+import javax.xml.transform.sax.SAXSource;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMComment;
@@ -39,6 +40,7 @@ import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMProcessingInstruction;
import org.apache.axiom.om.OMText;
+import org.apache.axiom.om.impl.jaxp.OMSource;
import org.apache.axiom.util.base64.Base64EncodingWriterOutputStream;
import org.apache.axiom.util.sax.AbstractXMLReader;
import org.xml.sax.Attributes;
@@ -69,6 +71,12 @@ import org.xml.sax.ext.LexicalHandler;
* In that case, to correctly interpret the attribute value, the SAX content handler must be
* aware of the namespace mapping for the <tt>ns</tt> prefix, even if the serialization starts
* only at the child element.
+ *
+ * @deprecated This class is used internally by {@link OMSource}. Starting with Axiom 1.2.13,
+ * application code should use {@link OMContainer#getSAXSource(boolean)} to serialize an OM tree to
+ * SAX. If there is a need to obtain an {@link XMLReader} instance, use
+ * {@link SAXSource#getXMLReader()} on the {@link SAXSource} returned by
+ * {@link OMContainer#getSAXSource(boolean)}.
*/
public class OMXMLReader extends AbstractXMLReader {
private final OMContainer root;
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetSAXSourceIdentityTransformOnFragment.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetSAXSourceIdentityTransformOnFragment.java?rev=1481304&r1=1481303&r2=1481304&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetSAXSourceIdentityTransformOnFragment.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetSAXSourceIdentityTransformOnFragment.java Sat May 11 11:48:00 2013
@@ -21,33 +21,38 @@ package org.apache.axiom.ts.om.element;
import java.io.InputStream;
import javax.xml.transform.Transformer;
+import javax.xml.transform.sax.SAXSource;
+import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLBuilderFactory;
import org.apache.axiom.om.impl.jaxp.OMResult;
-import org.apache.axiom.om.impl.jaxp.OMSource;
import org.apache.axiom.testutils.suite.XSLTImplementation;
import org.apache.axiom.ts.AxiomTestCase;
+import org.xml.sax.ContentHandler;
/**
- * Test that all namespace mappings in scope of the source element are available on the result.
+ * Tests that the {@link SAXSource} returned by {@link OMContainer#getSAXSource(boolean)} generates
+ * {@link ContentHandler#startPrefixMapping(String, String)} events for namespace mappings in scope
+ * on the source element.
* This checks for an issue that may arise under the following circumstances:
* <ol>
- * <li>The source element, i.e. the element passed as argument to
- * {@link OMSource#OMSource(OMElement)} is not the root element of the document.</li>
+ * <li>The element on which {@link OMContainer#getSAXSource(boolean)} is called is not the root
+ * element of the document.</li>
* <li>One of the ancestors declares a namespace mapping.</li>
* <li>The namespace mapping is not used in the name of the source element or any of its
* descendant elements or attributes (but may be used in the value of an attribute).</li>
* </ol>
* Example:
* <pre><root xmlns:ns="urn:ns"><element attr="ns:someThing"/><root></pre>
- * In that case, when constructing an {@link OMSource} from the child element, the namespace
+ * In that case, when constructing an {@link SAXSource} from the child element, the namespace
* mapping for the <tt>ns</tt> prefix should be visible to the consumer. Otherwise it would not
* be able to interpret the attribute value correctly. This is relevant e.g. when validating
- * a part of a document against an XML schema (see SYNAPSE-501).
+ * a part of a document against an XML schema (see
+ * <a href="https://issues.apache.org/jira/browse/SYNAPSE-501">SYNAPSE-501</a>).
*/
public class TestGetSAXSourceIdentityTransformOnFragment extends AxiomTestCase {
private final XSLTImplementation xsltImplementation;