mkwan       2003/02/25 11:14:51

  Modified:    java/src/org/apache/xalan/xsltc Tag: XSLTC_DTM DOM.java
               java/src/org/apache/xalan/xsltc/compiler Tag: XSLTC_DTM
                        Constants.java Message.java
               java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM
                        DOMAdapter.java DOMImpl.java MultiDOM.java
                        SAXImpl.java
  Log:
  Propagate the Message and getTreeString() changes
  from the head branch to XSLTC_DTM.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.9.10.11 +1 -2      xml-xalan/java/src/org/apache/xalan/xsltc/DOM.java
  
  Index: DOM.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/DOM.java,v
  retrieving revision 1.9.10.10
  retrieving revision 1.9.10.11
  diff -u -r1.9.10.10 -r1.9.10.11
  --- DOM.java  30 Jan 2003 18:41:35 -0000      1.9.10.10
  +++ DOM.java  25 Feb 2003 19:14:48 -0000      1.9.10.11
  @@ -84,7 +84,6 @@
       /** returns singleton iterator containg the document root */
       public DTMAxisIterator getIterator();
       public String getStringValue();
  -    public String getTreeString(); // this one includes PIs and comments...
        
       public DTMAxisIterator getChildren(final int node);
       public DTMAxisIterator getTypedChildren(final int type);
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.19.2.11 +9 -1      
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Constants.java
  
  Index: Constants.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Constants.java,v
  retrieving revision 1.19.2.10
  retrieving revision 1.19.2.11
  diff -u -r1.19.2.10 -r1.19.2.11
  --- Constants.java    27 Jan 2003 19:44:29 -0000      1.19.2.10
  +++ Constants.java    25 Feb 2003 19:14:48 -0000      1.19.2.11
  @@ -179,6 +179,10 @@
        = "org/apache/xalan/xsltc/TransletOutputHandler";
       public static final String OUTPUT_HANDLER_SIG
        = "Lorg/apache/xalan/xsltc/TransletOutputHandler;";
  +    public static final String OUTPUT_BASE
  +        = "org/apache/xalan/xsltc/runtime/output/OutputBase";
  +    public static final String STREAM_XML_OUTPUT
  +        = "org/apache/xalan/xsltc/runtime/output/StreamXMLOutput";
       public static final String FILTER_INTERFACE   
        = "org.apache.xalan.xsltc.dom.Filter";
       public static final String FILTER_INTERFACE_SIG   
  @@ -284,6 +288,10 @@
        = "java.lang.Boolean";
       public static final String STRING_BUFFER_CLASS
        = "java.lang.StringBuffer";
  +    public static final String STRING_WRITER
  +        = "java.io.StringWriter";
  +    public static final String WRITER_SIG
  +        = "Ljava/io/Writer;";
   
       public static final String TRANSLET_OUTPUT_BASE       
        = "org.apache.xalan.xsltc.TransletOutputBase";
  
  
  
  1.6.6.3   +66 -9     
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Message.java
  
  Index: Message.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Message.java,v
  retrieving revision 1.6.6.2
  retrieving revision 1.6.6.3
  diff -u -r1.6.6.2 -r1.6.6.3
  --- Message.java      30 Jan 2003 18:41:37 -0000      1.6.6.2
  +++ Message.java      25 Feb 2003 19:14:48 -0000      1.6.6.3
  @@ -99,13 +99,70 @@
        // Load the translet (for call to displayMessage() function)
        il.append(classGen.loadTranslet());
   
  -     // Get the contents of the message
  -     compileResultTree(classGen, methodGen);
  -     // Convert the 
  -     final int toStr = cpg.addInterfaceMethodref(DOM_INTF,
  -                                                 "getTreeString",
  -                                                 "()"+STRING_SIG);
  -     il.append(new INVOKEINTERFACE(toStr, 1));
  +        switch (elementCount()) {
  +            case 0:
  +                il.append(new PUSH(cpg, ""));
  +            break;
  +            case 1:
  +                SyntaxTreeNode child = (SyntaxTreeNode) elementAt(0);
  +                if (child instanceof Text) {
  +                    il.append(new PUSH(cpg, ((Text) child).getText()));
  +                    break;
  +                }
  +                // falls through
  +            default:
  +                // Push current output handler onto the stack
  +                il.append(methodGen.loadHandler());
  +
  +                // Replace the current output handler by a StreamXMLOutput
  +                il.append(new NEW(cpg.addClass(STREAM_XML_OUTPUT)));
  +                il.append(methodGen.storeHandler());
  +
  +                // Push a reference to a StringWriter
  +                il.append(new NEW(cpg.addClass(STRING_WRITER)));
  +                il.append(DUP);
  +                il.append(DUP);
  +                il.append(new INVOKESPECIAL(
  +                    cpg.addMethodref(STRING_WRITER, "<init>", "()V")));
  +
  +                // Load StreamXMLOutput
  +                il.append(methodGen.loadHandler());
  +                il.append(SWAP);
  +                il.append(new PUSH(cpg, "UTF-8"));   // other encodings?
  +                il.append(new INVOKESPECIAL(
  +                    cpg.addMethodref(STREAM_XML_OUTPUT, "<init>",
  +                    "(" + WRITER_SIG + STRING_SIG + ")V")));
  +
  +                // Invoke output.omitHeader(true)
  +                il.append(methodGen.loadHandler());
  +                il.append(ICONST_1);
  +                il.append(new INVOKEVIRTUAL(
  +                    cpg.addMethodref(OUTPUT_BASE, "omitHeader",
  +                                     "(Z)V")));
  +
  +                il.append(methodGen.loadHandler());
  +                il.append(new INVOKEVIRTUAL(
  +                    cpg.addMethodref(OUTPUT_BASE, "startDocument",
  +                                     "()V")));
  +
  +                // Inline translation of contents
  +                translateContents(classGen, methodGen);
  +
  +                il.append(methodGen.loadHandler());
  +                il.append(new INVOKEVIRTUAL(
  +                    cpg.addMethodref(OUTPUT_BASE, "endDocument",
  +                                     "()V")));
  +
  +                // Call toString() on StringWriter
  +                il.append(new INVOKEVIRTUAL(
  +                    cpg.addMethodref(STRING_WRITER, "toString",
  +                    "()" + STRING_SIG)));
  +
  +                // Restore old output handler
  +                il.append(SWAP);
  +                il.append(methodGen.storeHandler());
  +            break;
  +        }
   
        // Send the resulting string to the message handling method
        il.append(new INVOKEVIRTUAL(cpg.addMethodref(TRANSLET_CLASS,
  @@ -127,5 +184,5 @@
            il.append(ATHROW);
        }
       }
  -    
  +
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.11.10.14 +2 -7      
xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMAdapter.java
  
  Index: DOMAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMAdapter.java,v
  retrieving revision 1.11.10.13
  retrieving revision 1.11.10.14
  diff -u -r1.11.10.13 -r1.11.10.14
  --- DOMAdapter.java   17 Feb 2003 20:31:33 -0000      1.11.10.13
  +++ DOMAdapter.java   25 Feb 2003 19:14:49 -0000      1.11.10.14
  @@ -255,12 +255,7 @@
         */
         return iterator;
       }
  -    
  -
  -    public String getTreeString() {
  -     return _dom.getTreeString();
  -    }
  -    
  +        
       public int getMultiDOMMask() {
        return _multiDOMMask;
       }
  
  
  
  1.68.2.24 +1 -64     
xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMImpl.java
  
  Index: DOMImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMImpl.java,v
  retrieving revision 1.68.2.23
  retrieving revision 1.68.2.24
  diff -u -r1.68.2.23 -r1.68.2.24
  --- DOMImpl.java      30 Jan 2003 18:41:46 -0000      1.68.2.23
  +++ DOMImpl.java      25 Feb 2003 19:14:49 -0000      1.68.2.24
  @@ -1788,69 +1788,6 @@
   
       }
   
  -    public String getTreeString() {
  -     StringBuffer buf = new StringBuffer();
  -     buf = getElementString(buf, getDocument());
  -     return buf.toString();
  -    }
  -
  -    /**
  -     * Helper to getTreeString() above
  -     */
  -    private StringBuffer getElementString(StringBuffer buffer, int element) {
  -     String name = null;
  -
  -     if (isElement(element)) {
  -         if ((name = getNodeName(element)) != null) {
  -             buffer.append('<');
  -             buffer.append(name);
  -
  -             int attribute = getFirstAttribute(element);
  -             while (attribute != DTM.NULL) {
  -                 buffer.append(' ').append(getNodeName(attribute))
  -                       .append("=\"").append(getStringValueX(attribute))
  -                       .append('"');
  -                 attribute = getNextAttribute(attribute);
  -             }
  -
  -             if (getFirstChild(element) == DTM.NULL) {
  -                 buffer.append("/>");
  -                 return buffer;
  -             }
  -             buffer.append('>');
  -         }
  -     }
  -
  -     for (int child = getFirstChild(element);
  -          child != DTM.NULL;
  -          child = getNextSibling(child)) {
  -         switch (getNodeType(child)) {
  -         case DTM.COMMENT_NODE:
  -             buffer.append("<!--");
  -             buffer.append(buffer.append(getStringValue(child).toString()));
  -             buffer.append("-->");
  -             break;
  -         case DTM.TEXT_NODE:
  -             buffer.append(buffer.append(getStringValue(child).toString()));
  -             break;
  -         case DTM.PROCESSING_INSTRUCTION_NODE:
  -             buffer.append("<?");
  -             buffer.append(buffer.append(getStringValue(child).toString()));
  -             buffer.append("?>");
  -             break;
  -         default:
  -             getElementString(buffer, child);
  -         }
  -     }
  -
  -     if (isElement(element) && name != null) {
  -         buffer.append("</");
  -         buffer.append(name);
  -         buffer.append(">");
  -     }
  -     return buffer;
  -    }
  -
       /**
        * Returns a node' defined language for a node (if any)
        */
  
  
  
  1.16.10.13 +1 -5      
xml-xalan/java/src/org/apache/xalan/xsltc/dom/MultiDOM.java
  
  Index: MultiDOM.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/MultiDOM.java,v
  retrieving revision 1.16.10.12
  retrieving revision 1.16.10.13
  diff -u -r1.16.10.12 -r1.16.10.13
  --- MultiDOM.java     11 Feb 2003 21:39:35 -0000      1.16.10.12
  +++ MultiDOM.java     25 Feb 2003 19:14:50 -0000      1.16.10.13
  @@ -360,10 +360,6 @@
       public String getStringValue() {
           return _adapters[0].getStringValue();
       }
  -
  -    public String getTreeString() {
  -        return _adapters[0].getTreeString();
  -    }
       
       public DTMAxisIterator getChildren(final int node) {
           return _adapters[getDTMId(node)].getChildren(node);
  
  
  
  1.1.2.33  +1 -55     
xml-xalan/java/src/org/apache/xalan/xsltc/dom/Attic/SAXImpl.java
  
  Index: SAXImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/Attic/SAXImpl.java,v
  retrieving revision 1.1.2.32
  retrieving revision 1.1.2.33
  diff -u -r1.1.2.32 -r1.1.2.33
  --- SAXImpl.java      21 Feb 2003 22:20:27 -0000      1.1.2.32
  +++ SAXImpl.java      25 Feb 2003 19:14:50 -0000      1.1.2.33
  @@ -2015,60 +2015,6 @@
       }
       */
       
  -    public String getTreeString() {
  -     StringBuffer buf = new StringBuffer();
  -     buf = getElementString(buf, getDocument());
  -     return buf.toString();
  -    }
  -
  -    /**
  -     * Helper to getTreeString() above
  -     */
  -     private StringBuffer getElementString(StringBuffer buffer, int element) 
{
  -     String name = null;
  -
  -     if (isElement(element)) {
  -         if ((name = getNodeName(element)) != null) {
  -             buffer.append('<');
  -             buffer.append(name);
  -             if (getFirstChild(element) == DTM.NULL) {
  -                 buffer.append("/>");
  -                 return buffer;
  -             }
  -             buffer.append('>');
  -         }
  -     }
  -
  -     for (int child = getFirstChild(element);
  -          child != DTM.NULL;
  -          child = getNextSibling(child)) {
  -         switch (getNodeType(child)) {
  -         case DTM.COMMENT_NODE:
  -             buffer.append("<!--");
  -             buffer.append(buffer.append(getStringValueX(child)));
  -             buffer.append("-->");
  -             break;
  -         case DTM.TEXT_NODE:
  -             buffer.append(buffer.append(getStringValueX(child)));
  -             break;
  -         case DTM.PROCESSING_INSTRUCTION_NODE:
  -             buffer.append("<?");
  -             buffer.append(buffer.append(getStringValueX(child)));
  -             buffer.append("?>");
  -             break;
  -         default:
  -             getElementString(buffer, child);
  -         }
  -     }
  -
  -     if (isElement(element) && name != null) {
  -         buffer.append("</");
  -         buffer.append(name);
  -         buffer.append(">");
  -     }
  -     return buffer;
  -    }
  -
       /**
        * Returns a node' defined language for a node (if any)
        */
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to