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 2016/02/07 11:58:55 UTC

svn commit: r1728946 - in /webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common: ./ builder/ factory/

Author: veithen
Date: Sun Feb  7 10:58:55 2016
New Revision: 1728946

URL: http://svn.apache.org/viewvc?rev=1728946&view=rev
Log:
Make BuilderHandler implement the Handler interface.

Modified:
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/Handler.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/SAXResultContentHandler.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/Handler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/Handler.java?rev=1728946&r1=1728945&r2=1728946&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/Handler.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/Handler.java Sun Feb  7 10:58:55 2016
@@ -18,7 +18,6 @@
  */
 package org.apache.axiom.om.impl.common;
 
-// TODO: transitional interface that should eventually converge with BuilderHandler
 public interface Handler {
     void startDocument(String inputEncoding, String xmlVersion, String xmlEncoding, boolean standalone);
     
@@ -37,11 +36,13 @@ public interface Handler {
     
     void attributesCompleted();
     
-    void createOMText(String text, int type);
+    void processCharacterData(Object data, boolean ignorable);
     
     void createProcessingInstruction(String piTarget, String piData);
     
     void createComment(String content);
     
+    void createCDATASection(String content);
+    
     void createEntityReference(String name, String replacementText);
 }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java?rev=1728946&r1=1728945&r2=1728946&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java Sun Feb  7 10:58:55 2016
@@ -31,6 +31,8 @@ import org.xml.sax.ext.LexicalHandler;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.xml.stream.XMLStreamConstants;
+
 public final class OMContentHandler implements ContentHandler, LexicalHandler, DeclHandler, DTDHandler {
     private final Handler handler;
     private final boolean expandEntityReferences;
@@ -291,7 +293,20 @@ public final class OMContentHandler impl
     private void characterData(char[] ch, int start, int length, int nodeType)
             throws SAXException {
         if (!inEntityReference) {
-            handler.createOMText(new String(ch, start, length), nodeType);
+            String text = new String(ch, start, length);
+            switch (nodeType) {
+                case XMLStreamConstants.CHARACTERS:
+                    handler.processCharacterData(text, false);
+                    break;
+                case XMLStreamConstants.SPACE:
+                    handler.processCharacterData(text, true);
+                    break;
+                case XMLStreamConstants.CDATA:
+                    handler.createCDATASection(text);
+                    break;
+                default:
+                    throw new IllegalArgumentException();
+            }
         }
     }
 

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/SAXResultContentHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/SAXResultContentHandler.java?rev=1728946&r1=1728945&r2=1728946&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/SAXResultContentHandler.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/SAXResultContentHandler.java Sun Feb  7 10:58:55 2016
@@ -90,8 +90,14 @@ public final  class SAXResultContentHand
     public void attributesCompleted() {
     }
 
-    public void createOMText(String text, int type) {
-        factory.createOMText(target, text, type);
+    @Override
+    public void processCharacterData(Object data, boolean ignorable) {
+        factory.createOMText(target, data.toString(), ignorable ? OMNode.SPACE_NODE : OMNode.TEXT_NODE);
+    }
+
+    @Override
+    public void createCDATASection(String content) {
+        factory.createOMText(target, content, OMNode.CDATA_SECTION_NODE);
     }
 
     public void createProcessingInstruction(String piTarget, String piData) {

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java?rev=1728946&r1=1728945&r2=1728946&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java Sun Feb  7 10:58:55 2016
@@ -32,6 +32,7 @@ import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMSerializable;
 import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.om.impl.common.AxiomSemantics;
+import org.apache.axiom.om.impl.common.Handler;
 import org.apache.axiom.om.impl.common.OMNamespaceImpl;
 import org.apache.axiom.om.impl.intf.AxiomAttribute;
 import org.apache.axiom.om.impl.intf.AxiomCDATASection;
@@ -50,7 +51,7 @@ import org.apache.axiom.util.namespace.S
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-public final class BuilderHandler {
+public final class BuilderHandler implements Handler {
     private static final Log log = LogFactory.getLog(BuilderHandler.class);
     
     private static final OMNamespace DEFAULT_NS = new OMNamespaceImpl("", "");
@@ -160,7 +161,7 @@ public final class BuilderHandler {
         }
     }
     
-    public AxiomElement startElement(String namespaceURI, String localName, String prefix) {
+    public void startElement(String namespaceURI, String localName, String prefix) {
         elementLevel++;
         AxiomElement element;
         OMNamespace ns = nsCache.getOMNamespace(namespaceURI, prefix);
@@ -181,7 +182,6 @@ public final class BuilderHandler {
             nsContext.startScope();
             ensureNamespaceDeclared(ns);
         }
-        return element;
     }
     
     public void endElement() {

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java?rev=1728946&r1=1728945&r2=1728946&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java Sun Feb  7 10:58:55 2016
@@ -587,7 +587,7 @@ public class StAXOMBuilder extends Abstr
             }
         }
         if (newElement == null) {
-            newElement = handler.startElement(namespaceURI, localName, prefix);
+            handler.startElement(namespaceURI, localName, prefix);
             for (int i = 0, count = parser.getNamespaceCount(); i < count; i++) {
                 handler.createNamespaceDeclaration(
                         normalize(parser.getNamespacePrefix(i)),

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java?rev=1728946&r1=1728945&r2=1728946&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java Sun Feb  7 10:58:55 2016
@@ -21,7 +21,6 @@ package org.apache.axiom.om.impl.common.
 
 import org.apache.axiom.core.NodeFactory;
 import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.impl.common.Handler;
 import org.apache.axiom.om.impl.common.OMContentHandler;
 import org.apache.axiom.om.impl.common.builder.AbstractPushBuilder;
 import org.apache.axiom.om.impl.common.builder.Model;
@@ -30,10 +29,9 @@ import org.xml.sax.XMLReader;
 
 import java.io.IOException;
 
-import javax.xml.stream.XMLStreamConstants;
 import javax.xml.transform.sax.SAXSource;
 
-public final class SAXOMBuilder extends AbstractPushBuilder implements Handler {
+public final class SAXOMBuilder extends AbstractPushBuilder {
     private final boolean expandEntityReferences;
     private final SAXSource source;
     
@@ -53,7 +51,7 @@ public final class SAXOMBuilder extends
 
     public int next() {
         XMLReader reader = source.getXMLReader();
-        OMContentHandler contentHandler = new OMContentHandler(this, expandEntityReferences);
+        OMContentHandler contentHandler = new OMContentHandler(handler, expandEntityReferences);
         reader.setContentHandler(contentHandler);
         reader.setDTDHandler(contentHandler);
         try {
@@ -75,57 +73,4 @@ public final class SAXOMBuilder extends
         }
         return -1;
     }
-
-    public void createDocumentTypeDeclaration(String rootName, String publicId,
-            String systemId, String internalSubset) {
-        handler.createDocumentTypeDeclaration(rootName, publicId, systemId, internalSubset);
-    }
-
-    public void startElement(String namespaceURI, String localName, String prefix) {
-        handler.startElement(namespaceURI, localName, prefix);
-    }
-
-    public void endElement() {
-        handler.endElement();
-    }
-
-    public void createOMText(String text, int type) {
-        switch (type) {
-            case XMLStreamConstants.CHARACTERS:
-                handler.processCharacterData(text, false);
-                break;
-            case XMLStreamConstants.SPACE:
-                handler.processCharacterData(text, true);
-                break;
-            case XMLStreamConstants.CDATA:
-                handler.createCDATASection(text);
-                break;
-            default:
-                throw new IllegalArgumentException();
-        }
-    }
-
-    public void createProcessingInstruction(String piTarget, String piData) {
-        handler.createProcessingInstruction(piTarget, piData);
-    }
-
-    public void createComment(String content) {
-        handler.createComment(content);
-    }
-
-    public void createEntityReference(String name, String replacementText) {
-        handler.createEntityReference(name, replacementText);
-    }
-
-    public void createAttribute(String namespaceURI, String localName, String prefix, String value, String type, boolean specified) {
-        handler.createAttribute(namespaceURI, localName, prefix, value, type, specified);
-    }
-
-    public void createNamespaceDeclaration(String prefix, String namespaceURI) {
-        handler.createNamespaceDeclaration(prefix, namespaceURI);
-    }
-
-    public void attributesCompleted() {
-        handler.attributesCompleted();
-    }
 }