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>&lt;root xmlns:ns="urn:ns">&lt;element attr="ns:someThing"/>&lt;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;