You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by du...@apache.org on 2001/03/02 21:05:03 UTC

cvs commit: xml-axis/java/src/org/apache/axis/utils Admin.java

dug         01/03/02 12:04:59

  Modified:    java/samples/stock ComInfoService.java
                        StockQuoteService.java StockQuoteService.jws
               java/src/org/apache/axis AxisFault.java Message.java
               java/src/org/apache/axis/client HTTPCall.java
                        HTTPMessage.java
               java/src/org/apache/axis/handlers DebugHandler.java
                        MsgDispatchHandler.java RPCDispatchHandler.java
               java/src/org/apache/axis/message RPCArg.java RPCBody.java
                        SOAPBody.java SOAPEnvelope.java SOAPHeader.java
               java/src/org/apache/axis/transport/http
                        HTTPDispatchHandler.java
               java/src/org/apache/axis/utils Admin.java
  Log:
  Use JDOM instead of DOM/Xerces
  Everything still seems to work - samples still run so hopefully I
  got everything  8-)
  
  Revision  Changes    Path
  1.4       +1 -4      xml-axis/java/samples/stock/ComInfoService.java
  
  Index: ComInfoService.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/samples/stock/ComInfoService.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ComInfoService.java	2001/02/10 04:39:52	1.3
  +++ ComInfoService.java	2001/03/02 20:02:18	1.4
  @@ -58,10 +58,7 @@
   import java.io.*;
   import java.net.URL;
   
  -import org.w3c.dom.*;
  -import org.xml.sax.InputSource ;
  -import org.apache.xerces.parsers.* ;
  -import org.apache.xerces.framework.* ;
  +import org.jdom.* ;
   
   /**
    *
  
  
  
  1.6       +9 -12     xml-axis/java/samples/stock/StockQuoteService.java
  
  Index: StockQuoteService.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/samples/stock/StockQuoteService.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- StockQuoteService.java	2001/02/10 04:39:52	1.5
  +++ StockQuoteService.java	2001/03/02 20:02:22	1.6
  @@ -56,12 +56,11 @@
   package samples.stock ;
   
   import java.io.*;
  +import java.util.* ;
   import java.net.URL;
   
  -import org.w3c.dom.*;
  -import org.xml.sax.InputSource ;
  -import org.apache.xerces.parsers.* ;
  -import org.apache.xerces.framework.* ;
  +import org.jdom.* ;
  +import org.jdom.input.SAXBuilder ;
   
   /**
    * See \samples\stock\readme for info.
  @@ -80,17 +79,15 @@
       URL          url = new URL( "http://www.xmltoday.com/examples/" +
                                   "stockquote/getxmlquote.vep?s="+symbol );
   
  -    DOMParser    parser = new DOMParser();
  -    InputSource  inp    = new InputSource( url.openStream() );
  +    SAXBuilder   parser = new SAXBuilder();
   
  -    parser.parse( inp );
  +    Document doc = parser.build( url );
   
  -    Document     doc  = parser.getDocument();
  -    Element      elem = doc.getDocumentElement ();
  -    NodeList     list = elem.getElementsByTagName( "price" );
  +    Element      elem = doc.getRootElement ();
  +    List         list = elem.getChildren( "price" );
   
  -    elem = (Element) list.item( 0 );
  -    String quoteStr = elem.getAttribute ("value");
  +    elem = (Element) list.get( 0 );
  +    String quoteStr = elem.getAttributeValue("value");
       try {
         return Float.valueOf(quoteStr).floatValue();
       } catch (NumberFormatException e1) {
  
  
  
  1.2       +9 -12     xml-axis/java/samples/stock/StockQuoteService.jws
  
  Index: StockQuoteService.jws
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/samples/stock/StockQuoteService.jws,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StockQuoteService.jws	2001/02/20 14:24:42	1.1
  +++ StockQuoteService.jws	2001/03/02 20:02:25	1.2
  @@ -54,12 +54,11 @@
    */
   
   import java.io.*;
  +import java.util.* ;
   import java.net.URL;
   
  -import org.w3c.dom.*;
  -import org.xml.sax.InputSource ;
  -import org.apache.xerces.parsers.* ;
  -import org.apache.xerces.framework.* ;
  +import org.jdom.* ;
  +import org.jdom.input.SAXBuilder ;
   
   /**
    * See \samples\stock\readme for info.
  @@ -78,17 +77,15 @@
       URL          url = new URL( "http://www.xmltoday.com/examples/" +
                                   "stockquote/getxmlquote.vep?s="+symbol );
   
  -    DOMParser    parser = new DOMParser();
  -    InputSource  inp    = new InputSource( url.openStream() );
  +    SAXBuilder   parser = new SAXBuilder();
   
  -    parser.parse( inp );
  +    Document doc = parser.build( url );
   
  -    Document     doc  = parser.getDocument();
  -    Element      elem = doc.getDocumentElement ();
  -    NodeList     list = elem.getElementsByTagName( "price" );
  +    Element      elem = doc.getRootElement ();
  +    List         list = elem.getChildren( "price" );
   
  -    elem = (Element) list.item( 0 );
  -    String quoteStr = elem.getAttribute ("value");
  +    elem = (Element) list.get( 0 );
  +    String quoteStr = elem.getAttributeValue("value");
       try {
         return Float.valueOf(quoteStr).floatValue();
       } catch (NumberFormatException e1) {
  
  
  
  1.10      +14 -22    xml-axis/java/src/org/apache/axis/AxisFault.java
  
  Index: AxisFault.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/AxisFault.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- AxisFault.java	2001/02/17 16:44:01	1.9
  +++ AxisFault.java	2001/03/02 20:02:48	1.10
  @@ -57,9 +57,9 @@
   
   import java.io.* ;
   import java.util.* ;
  -import org.w3c.dom.* ;
  -import org.xml.sax.InputSource ;
  -import org.apache.xerces.dom.DocumentImpl ;
  +
  +import org.jdom.* ;
  +
   import org.apache.axis.utils.* ;
   
   /** 
  @@ -132,36 +132,28 @@
       return( (Element[]) faultDetails.toArray() );
     }
   
  -  public Element getAsDOM() {
  -    Document doc = null ;
  +  public Element getAsXML() {
       Element  elem, root ;
       int      i ;
  -
  -    doc = new DocumentImpl();
   
  -    root = doc.createElementNS(Constants.URI_SOAP_ENV,
  -                               Constants.NSPREFIX_SOAP_ENV + ":" +
  -                               Constants.ELEM_FAULT);
  -    doc.appendChild( root );
  +    root = new Element( Constants.ELEM_FAULT, Constants.NSPREFIX_SOAP_ENV,
  +                        Constants.URI_SOAP_ENV );
  +    root.addContent( elem = new Element( Constants.ELEM_FAULT_CODE ) );
  +    elem.addContent( faultCode );
   
  -    root.appendChild( elem = doc.createElement(Constants.ELEM_FAULT_CODE) );
  -    elem.appendChild( doc.createTextNode( faultCode ) );
  +    root.addContent( elem = new Element(Constants.ELEM_FAULT_STRING) );
  +    elem.addContent( faultString );
   
  -    root.appendChild( elem = doc.createElement(Constants.ELEM_FAULT_STRING) );
  -    elem.appendChild( doc.createTextNode( faultString ) );
  -
       if ( faultActor != null && !faultActor.equals("") ) {
  -      root.appendChild( elem = doc.createElement(Constants.ELEM_FAULT_ACTOR) );
  -      elem.appendChild( doc.createTextNode( faultActor ) );
  +      root.addContent( elem = new Element(Constants.ELEM_FAULT_ACTOR) );
  +      elem.addContent( faultActor );
       }
   
       if ( faultDetails != null && faultDetails.size() > 0 ) {
  -      root.appendChild( elem = doc.createElement(Constants.ELEM_FAULT_DETAIL) );
  +      root.addContent( elem = new Element(Constants.ELEM_FAULT_DETAIL) );
         for ( i = 0 ;i < faultDetails.size() ; i++ )
  -        elem.appendChild( (Element) faultDetails.get(i) );
  +        elem.addContent( (Element) faultDetails.get(i) );
       }
  -
  -    root.appendChild( elem );
   
       return( root );
     }
  
  
  
  1.11      +42 -18    xml-axis/java/src/org/apache/axis/Message.java
  
  Index: Message.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/Message.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Message.java	2001/02/21 19:18:28	1.10
  +++ Message.java	2001/03/02 20:02:52	1.11
  @@ -58,12 +58,13 @@
   import java.io.* ;
   import javax.servlet.* ;
   import javax.servlet.http.* ;
  -import org.w3c.dom.* ;
  -import org.xml.sax.InputSource ;
  -import org.apache.xerces.parsers.DOMParser ;
  -import org.apache.xml.serialize.OutputFormat ;
  -import org.apache.xml.serialize.XMLSerializer ;
  +
  +import org.jdom.* ;
  +import org.jdom.input.SAXBuilder ;
  +import org.jdom.output.XMLOutputter ;
  +
   import org.apache.axis.message.* ;
  +import org.apache.axis.utils.Debug ;
   
   /**
    *
  @@ -83,6 +84,7 @@
      * Just something to us working...
      */
     public Message(Object origMsg, String form) {
  +    Debug.Print( 1, "Enter Message ctor, form: " + form );
       originalMessage = origMsg ;
       currentMessage = origMsg ;
       currentForm = form ;
  @@ -101,6 +103,7 @@
     }
   
     public void setCurrentMessage(Object currMsg, String form) {
  +    Debug.Print( 1, "Setting current message form to: " + form );
       currentMessage = currMsg ;
       currentForm = form ;
     }
  @@ -109,6 +112,8 @@
     // now I need something quick...
   
     public Object getAs( String desiredType ) {
  +    Debug.Print( 1, "Enter: Message::getAs(" +desiredType+ ")" );
  +    Debug.Print( 1, " current form: " + currentForm );
       if ( currentForm.equals( desiredType ) ) return( currentMessage );
   
       if ( desiredType.equals( "Bytes" )) return( getAsBytes() );
  @@ -121,7 +126,11 @@
     }
   
     private byte[] getAsBytes() {
  -    if ( currentForm.equals("Bytes") ) return( (byte[]) currentMessage );
  +    Debug.Print( 1, "Enter: Message::getAsByes" );
  +    if ( currentForm.equals("Bytes") ) {
  +      Debug.Print( 1, "Exit: Message::getAsByes" );
  +      return( (byte[]) currentMessage );
  +    }
   
       if ( currentForm.equals("InputStream") ) {
         // Assumes we don't need a content length
  @@ -130,11 +139,13 @@
           byte[]  buf = new byte[ inp.available() ];
           inp.read( buf );
           setCurrentMessage( buf, "Bytes" );
  +        Debug.Print( 1, "Exit: Message::getAsByes" );
           return( (byte[]) currentMessage );
         }
         catch( Exception e ) {
           e.printStackTrace( System.err );
         }
  +      Debug.Print( 1, "Exit: Message::getAsByes" );
         return( null );
       }
   
  @@ -144,6 +155,7 @@
           byte[] buf = new byte[req.getContentLength()];
           req.getInputStream().read( buf );
           setCurrentMessage( buf, "Bytes" );
  +        Debug.Print( 1, "Exit: Message::getAsBytes" );
           return( (byte[]) currentMessage );
         }
         catch( Exception e ) {
  @@ -158,16 +170,21 @@
   
       if ( currentForm.equals("String") ) {
         setCurrentMessage( ((String)currentMessage).getBytes(), "Bytes" );
  +      Debug.Print( 1, "Exit: Message::getAsBytes" );
         return( (byte[]) currentMessage );
       }
   
  -
       System.err.println("Can't convert " + currentForm + " to Bytes" );
  +    Debug.Print( 1, "Exit: Message::getAsBytes" );
       return( null );
     }
   
     private String getAsString() {
  -    if ( currentForm.equals("String") ) return( (String) currentMessage );
  +    Debug.Print( 1, "Enter: Message::getAsString" );
  +    if ( currentForm.equals("String") ) {
  +      Debug.Print( 1, "Exit: Message::getAsString" );
  +      return( (String) currentMessage );
  +    }
   
       if ( currentForm.equals("InputStream") || 
            currentForm.equals("ServletRequest")) {
  @@ -177,6 +194,7 @@
   
       if ( currentForm.equals("Bytes") ) {
         setCurrentMessage( new String((byte[]) currentMessage), "String" );
  +      Debug.Print( 1, "Exit: Message::getAsString" );
         return( (String) currentMessage );
       }
   
  @@ -187,11 +205,9 @@
       if ( currentForm.equals("Document") ) { 
         try {
           ByteArrayOutputStream  baos = new ByteArrayOutputStream();
  -        XMLSerializer  xs = new XMLSerializer( baos, new OutputFormat() );
  -        xs.serialize( (Document) currentMessage );
  -        baos.close();
  +        XMLOutputter   xo = new XMLOutputter();
           currentForm = "String" ;
  -        currentMessage = baos.toString();
  +        currentMessage = xo.outputString( (Document) currentMessage );
           return( (String) currentMessage );
         }
         catch( Exception e ) {
  @@ -200,13 +216,15 @@
       }
   
       System.err.println("Can't convert " + currentForm + " to String" );
  +    Debug.Print( 1, "Exit: Message::getAsString" );
       return( null );
     }
   
     private Document getAsDocument() {
  +    Debug.Print( 1, "Enter: Message::getAsDocument" );
       if ( currentForm.equals("Document") ) return( (Document) currentMessage );
   
  -    DOMParser  parser = new DOMParser();
  +    SAXBuilder parser = new SAXBuilder();
       Reader     reader = null ;
   
       try {
  @@ -236,39 +254,45 @@
         else if ( currentForm.equals("AxisFault") ) {
           AxisFault     fault = (AxisFault) currentMessage ;
           SOAPEnvelope  env   = new SOAPEnvelope();
  -        SOAPBody      body  = new SOAPBody( fault.getAsDOM() );
  +        SOAPBody      body  = new SOAPBody( fault.getAsXML() );
   
           env.addBody( body );
   
  -        setCurrentMessage( env.getAsDOM(), "Document" );
  +        setCurrentMessage( env.getAsXML(), "Document" );
  +        Debug.Print( 1, "Exit: Message::getAsDocument" );
           return( (Document) currentMessage );
         }
         else if ( currentForm.equals("SOAPEnvelope") ) {
           SOAPEnvelope  env = (SOAPEnvelope) currentMessage ;
  -        setCurrentMessage( env.getAsDOM(), "Document" );
  +        setCurrentMessage( env.getAsXML(), "Document" );
  +        Debug.Print( 1, "Exit: Message::getAsDocument" );
           return( (Document) currentMessage );
         }
         else {
           System.err.println("Can't convert " + currentForm + " to Document" );
  +        Debug.Print( 1, "Exit: Message::getAsDocument" );
           return( null );
         }
     
  -      parser.parse( new InputSource( reader ) );
  -      setCurrentMessage( parser.getDocument(), "Document" );
  +      setCurrentMessage( parser.build( reader ), "Document" );
  +      Debug.Print( 1, "Exit: Message::getAsDocument" );
         return( (Document) currentMessage );
       }
       catch( Exception e ) {
         e.printStackTrace( System.err );
       }
  +    Debug.Print( 1, "Exit: Message::getAsDocument" );
       return( null );
     }
   
     private SOAPEnvelope getAsSOAPEnvelope() {
  +    Debug.Print( 1, "Enter: Message::getAsSOAPEnvelope" );
       if ( currentForm.equals("SOAPEnvelope") ) 
         return( (SOAPEnvelope) currentMessage );
       getAsDocument();
       setCurrentMessage( new SOAPEnvelope( (Document) currentMessage ),
                          "SOAPEnvelope" );
  +    Debug.Print( 1, "Exit: Message::getAsSOAPEnvelope" );
       return( (SOAPEnvelope) currentMessage );
     }
   
  
  
  
  1.13      +2 -2      xml-axis/java/src/org/apache/axis/client/HTTPCall.java
  
  Index: HTTPCall.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/HTTPCall.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- HTTPCall.java	2001/02/21 01:07:21	1.12
  +++ HTTPCall.java	2001/03/02 20:03:07	1.13
  @@ -56,7 +56,7 @@
   package org.apache.axis.client ;
   
   import java.util.* ;
  -import org.w3c.dom.* ;
  +import org.jdom.* ;
   import org.apache.axis.* ;
   import org.apache.axis.message.* ;
   import org.apache.axis.handlers.* ;
  @@ -166,7 +166,7 @@
   
       resMsg = msgContext.getResponseMessage();
       Document doc = (Document) resMsg.getAs("Document");
  -    body = new RPCBody( doc.getDocumentElement() );
  +    body = new RPCBody( doc.getRootElement() );
       resArgs = body.getArgs();
       arg = (RPCArg) resArgs.get(0);
       Debug.Print( 1, "Exit: HTTPCall.invoke" );
  
  
  
  1.11      +2 -5      xml-axis/java/src/org/apache/axis/client/HTTPMessage.java
  
  Index: HTTPMessage.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/HTTPMessage.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- HTTPMessage.java	2001/02/21 01:07:21	1.10
  +++ HTTPMessage.java	2001/03/02 20:03:12	1.11
  @@ -56,8 +56,7 @@
   package org.apache.axis.client ;
   
   import java.util.* ;
  -import org.w3c.dom.* ;
  -import org.apache.xerces.dom.DocumentImpl ;
  +import org.jdom.* ;
   
   import org.apache.axis.* ;
   import org.apache.axis.message.* ;
  @@ -163,9 +162,7 @@
         header.setName("Debug");
         header.setNamespaceURI( Constants.URI_DEBUG );
         header.setActor( Constants.URI_NEXT_ACTOR );
  -      Document doc = new DocumentImpl();
  -      Node node = doc.createTextNode( "" + Debug.getDebugLevel() );
  -      header.addDataNode( node );
  +      header.addDataNode( "" + Debug.getDebugLevel() );
   
         reqEnv.addHeader( header );
       }
  
  
  
  1.6       +3 -5      xml-axis/java/src/org/apache/axis/handlers/DebugHandler.java
  
  Index: DebugHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/DebugHandler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DebugHandler.java	2001/02/21 01:07:21	1.5
  +++ DebugHandler.java	2001/03/02 20:03:25	1.6
  @@ -56,8 +56,7 @@
   package org.apache.axis.handlers ;
   
   import java.util.* ;
  -import org.w3c.dom.* ;
  -import org.xml.sax.InputSource ;
  +import org.jdom.* ;
   
   import org.apache.axis.* ;
   import org.apache.axis.utils.* ;
  @@ -80,9 +79,8 @@
   
               for ( int i = 0 ; headers != null && i < headers.size() ; i ++ ) {
                   SOAPHeader  header = (SOAPHeader) headers.get(i);
  -                Node        node = header.getDataAtIndex( 0 );
  -                if ( node != null ) {
  -                    String  value    = node.getNodeValue();
  +                String      value = (String) header.getDataAtIndex( 0 );
  +                if ( value != null ) {
                       int     debugVal = Integer.parseInt( value );
                       Debug.Print( 1, "Setting debug level to: " + debugVal );
                       Debug.setDebugLevel( debugVal );
  
  
  
  1.7       +2 -3      xml-axis/java/src/org/apache/axis/handlers/MsgDispatchHandler.java
  
  Index: MsgDispatchHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/MsgDispatchHandler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MsgDispatchHandler.java	2001/02/21 01:07:21	1.6
  +++ MsgDispatchHandler.java	2001/03/02 20:03:31	1.7
  @@ -58,8 +58,7 @@
   import java.io.* ;
   import java.util.* ;
   import java.lang.reflect.* ;
  -import org.w3c.dom.* ;
  -import org.apache.xerces.dom.DocumentImpl ;
  +import org.jdom.* ;
   import org.apache.axis.* ;
   import org.apache.axis.utils.* ;
   import org.apache.axis.message.* ;
  @@ -102,7 +101,7 @@
         SOAPBody      reqBody = reqEnv.getFirstBody();
     
         argClasses[0] = cl.loadClass("org.apache.axis.MessageContext");
  -      argClasses[1] = cl.loadClass("org.w3c.dom.Document");
  +      argClasses[1] = cl.loadClass("org.jdom.Document");
         argObjects[0] = (Object) msgContext ;
         argObjects[1] = (Object) reqBody.getAsDocument();
   
  
  
  
  1.15      +1 -1      xml-axis/java/src/org/apache/axis/handlers/RPCDispatchHandler.java
  
  Index: RPCDispatchHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/handlers/RPCDispatchHandler.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- RPCDispatchHandler.java	2001/02/21 01:07:22	1.14
  +++ RPCDispatchHandler.java	2001/03/02 20:03:37	1.15
  @@ -57,7 +57,7 @@
   
   import java.util.* ;
   import java.lang.reflect.* ;
  -import org.w3c.dom.* ;
  +import org.jdom.* ;
   import org.apache.axis.* ;
   import org.apache.axis.utils.* ;
   import org.apache.axis.message.* ;
  
  
  
  1.8       +10 -15    xml-axis/java/src/org/apache/axis/message/RPCArg.java
  
  Index: RPCArg.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/RPCArg.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- RPCArg.java	2001/02/10 04:39:56	1.7
  +++ RPCArg.java	2001/03/02 20:03:54	1.8
  @@ -58,9 +58,7 @@
   // !!!!***** Just a placeholder until we get the real stuff ***!!!!!
   
   import java.util.* ;
  -import org.w3c.dom.* ;
  -import org.xml.sax.InputSource ;
  -import org.apache.axis.message.* ;
  +import org.jdom.* ;
   
   /**
    *
  @@ -75,10 +73,10 @@
     public RPCArg() {} 
   
     public RPCArg(Element elem) {
  -    prefix = elem.getPrefix();
  +    prefix = elem.getNamespacePrefix();
       namespaceURI = elem.getNamespaceURI();
  -    name = elem.getLocalName();
  -    value = elem.getFirstChild().getNodeValue();
  +    name = elem.getName();
  +    value = elem.getText();
     }
   
     public RPCArg(String name) {
  @@ -103,17 +101,14 @@
     public String getValue() { return( value ); }
     public void   setValue(String val) { value = val ; }
   
  -  public Element getAsXML(Document doc) {
  +  public Element getAsXML() {
       Element   root ;
   
  -    if ( prefix != null ) {
  -      root = doc.createElementNS(prefix, prefix + ":" + name );
  -      root.setAttribute( "xmlns:" + prefix, namespaceURI );
  -    }
  -    else {
  -      root = doc.createElement( name );
  -    }
  -    root.appendChild( doc.createTextNode( value ) );
  +    if ( prefix != null )
  +      root = new Element( name, prefix, namespaceURI );
  +    else 
  +      root = new Element( name );
  +    root.addContent( value );
       return( root );
     }
   };
  
  
  
  1.10      +13 -19    xml-axis/java/src/org/apache/axis/message/RPCBody.java
  
  Index: RPCBody.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/RPCBody.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- RPCBody.java	2001/02/17 16:44:02	1.9
  +++ RPCBody.java	2001/03/02 20:03:58	1.10
  @@ -58,9 +58,7 @@
   // !!!!***** Just a placeholder until we get the real stuff ***!!!!!
   
   import java.util.* ;
  -import org.w3c.dom.* ;
  -import org.apache.xerces.dom.DocumentImpl ;
  -import org.xml.sax.InputSource ;
  +import org.jdom.* ;
   import org.apache.axis.message.* ;
   
   /**
  @@ -84,10 +82,10 @@
     }
   
     public void setBody( Element root ) {
  -    setMethodName( root.getLocalName() );
  -    setPrefix( root.getPrefix() );
  +    setMethodName( root.getName() );
  +    setPrefix( root.getNamespacePrefix() );
       setNamespaceURI( root.getNamespaceURI() );
  -    parseArgs( root.getChildNodes() );
  +    parseArgs( root.getChildren() );
     }
   
     public RPCBody(String methodName, Object[] args) {
  @@ -122,34 +120,30 @@
       args.add( arg ); 
     }
     
  -  public void      parseArgs(NodeList list) {
  -    for ( int i = 0 ; list != null && i < list.getLength() ; i++ ) {
  -      Node  n = list.item(i);
  -      if ( n.getNodeType() != Node.ELEMENT_NODE ) continue ;
  +  public void      parseArgs(List list) {
  +    for ( int i = 0 ; list != null && i < list.size() ; i++ ) {
  +      Object  n = list.get(i);
         if ( args == null ) args = new ArrayList();
         args.add( new RPCArg( (Element) n ) );
       }
     }
   
  -  public Element getAsXML(Document doc) {
  +  public Element getAsXML() {
       Element   root ;
      
  -    if ( prefix != null ) {
  -      root = doc.createElementNS(prefix, prefix + ":" + methodName );
  -      root.setAttribute( "xmlns:" + prefix, namespaceURI );
  -    }
  +    if ( prefix != null ) 
  +      root = new Element( methodName, prefix, namespaceURI );
       else 
  -      root = doc.createElement( methodName );
  +      root = new Element( methodName );
       for ( int i = 0 ; args != null && i < args.size() ; i++ ) {
         RPCArg  arg = (RPCArg) args.get(i) ;
  -      root.appendChild( arg.getAsXML(doc) );
  +      root.addContent( arg.getAsXML() );
       }
       return( root );
     }
   
     public SOAPBody getAsSOAPBody() {
  -    Document doc = new DocumentImpl();
  -    return( new SOAPBody( getAsXML(doc) ) );
  +    return( new SOAPBody( getAsXML() ) );
     }
   
   };
  
  
  
  1.9       +5 -10     xml-axis/java/src/org/apache/axis/message/SOAPBody.java
  
  Index: SOAPBody.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPBody.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- SOAPBody.java	2001/02/10 04:39:56	1.8
  +++ SOAPBody.java	2001/03/02 20:04:01	1.9
  @@ -58,9 +58,7 @@
   // !!!!***** Just a placeholder until we get the real stuff ***!!!!!
   
   import java.util.* ;
  -import org.w3c.dom.* ;
  -import org.apache.xerces.dom.DocumentImpl ;
  -import org.xml.sax.InputSource ;
  +import org.jdom.* ;
   import org.apache.axis.message.* ;
   
   /**
  @@ -75,7 +73,7 @@
     }
   
     public SOAPBody(Document doc) {
  -    root = doc.getDocumentElement() ;
  +    root = doc.getRootElement() ;
     }
   
     public SOAPBody(Element elem) {
  @@ -90,15 +88,12 @@
       this.root = r ;
     }
   
  -  public Element getAsXML(Document doc) {
  -    if ( doc == null ) return( root );
  -    return( (Element) doc.importNode( (Node) root, true ) );
  +  public Element getAsXML() {
  +    return( root );
     }
   
     public Document getAsDocument() {
  -    Document doc = new DocumentImpl();
  -    doc.appendChild( doc.importNode( (Node) root, true ) );
  -    return( doc );
  +    return( new Document(root) );
     }
   
   };
  
  
  
  1.11      +34 -43    xml-axis/java/src/org/apache/axis/message/SOAPEnvelope.java
  
  Index: SOAPEnvelope.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPEnvelope.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- SOAPEnvelope.java	2001/02/10 04:39:57	1.10
  +++ SOAPEnvelope.java	2001/03/02 20:04:04	1.11
  @@ -58,9 +58,7 @@
   package org.apache.axis.message ;
   
   import java.util.* ;
  -import org.w3c.dom.* ;
  -import org.xml.sax.InputSource ;
  -import org.apache.xerces.dom.DocumentImpl ;
  +import org.jdom.* ;
   import org.apache.axis.message.* ;
   import org.apache.axis.* ;
   
  @@ -78,7 +76,7 @@
     }
   
     public SOAPEnvelope(Document doc) {
  -    setEnvelope( doc.getDocumentElement() );
  +    setEnvelope( doc.getRootElement() );
     }
   
     public SOAPEnvelope(SOAPBody bod) {
  @@ -86,7 +84,7 @@
     }
   
     public void setEnvelope(Element elem) {
  -    NodeList  list ;
  +    List  list ;
       int       i ;
   
       if ( elem == null ) {
  @@ -95,30 +93,25 @@
         body = null ;
         return ;
       }
  -    list = elem.getElementsByTagNameNS( Constants.URI_SOAP_ENV, 
  -                                        Constants.ELEM_HEADER );
  -    if ( list != null && list.getLength() > 0 ) { 
  -      Element h = (Element) list.item(0);
  -      // list = h.getElementsByTagName("*");
  -      list = h.getChildNodes();
  -      for ( i = 0 ; i < list.getLength() ; i++ ) {
  -        Node n = list.item(i);
  -        if ( n.getNodeType() != Node.ELEMENT_NODE ) continue ;
  -        h = (Element) list.item(i);
  +    list = elem.getChildren( Constants.ELEM_HEADER, elem.getNamespace());
  +    if ( list != null && list.size() > 0 ) { 
  +      Element h = (Element) list.get(0);
  +      // list = h.getChildren();
  +      list = h.getChildren();
  +      for ( i = 0 ; i < list.size() ; i++ ) {
  +        h = (Element) list.get(i);
           if ( headers == null ) headers = new Vector();
           headers.add( new SOAPHeader( h ) );
         }
       }
   
  -    list = elem.getElementsByTagNameNS( Constants.URI_SOAP_ENV, 
  -                                        Constants.ELEM_BODY );
  -    if ( list != null && list.getLength() > 0 ) { 
  -      Element h = (Element) list.item(0);
  -      list = h.getChildNodes();
  +    list = elem.getChildren( Constants.ELEM_BODY, elem.getNamespace() );
  +    if ( list != null && list.size() > 0 ) { 
  +      Element h = (Element) list.get(0);
  +      list = h.getChildren();
         if ( list != null ) {
  -        for ( i = 0 ; i < list.getLength() ; i++ ) {
  -          Node n = list.item(i);
  -          if ( n.getNodeType() != Node.ELEMENT_NODE ) continue ;
  +        for ( i = 0 ; i < list.size() ; i++ ) {
  +          Object n = list.get(i);
             if ( body == null ) body = new Vector();
             body.add( new SOAPBody( (Element) n ) );
           }
  @@ -182,37 +175,35 @@
       return( body );
     }
   
  -  public Document getAsDOM() {
  +  public Document getAsXML() {
       Document doc = null ;
       Element  elem ;
       int      i ;
   
  -    doc = new DocumentImpl();
  -    elem = doc.createElementNS(Constants.NSPREFIX_SOAP_ENV, 
  -                               Constants.NSPREFIX_SOAP_ENV + ":" +
  -                               Constants.ELEM_ENVELOPE);
  -    elem.setAttribute( "xmlns:" + Constants.NSPREFIX_SOAP_ENV, 
  -                       Constants.URI_SOAP_ENV );
  +    elem = new Element( Constants.ELEM_ENVELOPE, Constants.NSPREFIX_SOAP_ENV,
  +                        Constants.URI_SOAP_ENV );
  +    doc = new Document( elem );
   
  -    doc.appendChild( elem );
       if ( headers != null && headers.size() > 0 ) {
  -      Element root = doc.createElementNS(Constants.URI_SOAP_ENV,
  -                                         Constants.NSPREFIX_SOAP_ENV + ":" +
  -                                         Constants.ELEM_HEADER);
  -      elem.appendChild( root );
  +      Element root = new Element( Constants.ELEM_HEADER, 
  +                                  Constants.NSPREFIX_SOAP_ENV,
  +                                  Constants.URI_SOAP_ENV );
  +      elem.addContent( root );
         for ( i = 0 ; i < headers.size() ; i++ ) {
           SOAPHeader h = (SOAPHeader) headers.get(i);
  -        root.appendChild( h.getAsXML(doc) );
  +        root.addContent( h.getAsXML() );
         }
       } 
       if ( body != null ) {
  -      Element root = doc.createElementNS(Constants.URI_SOAP_ENV,
  -                                         Constants.NSPREFIX_SOAP_ENV + ":" + 
  -                                         Constants.ELEM_BODY);
  -      elem.appendChild( root );
  -      for ( i = 0 ; i < body.size() ; i++ )
  -        root.appendChild( ((SOAPBody)body.get(i)).getAsXML(doc) );
  -        // root.appendChild(doc.importNode( (Node) body.get(i), true ));
  +      Element root = new Element( Constants.ELEM_BODY, 
  +                                  Constants.NSPREFIX_SOAP_ENV,
  +                                  Constants.URI_SOAP_ENV );
  +      elem.addContent( root );
  +      for ( i = 0 ; i < body.size() ; i++ ) {
  +        Element  bod = ((SOAPBody)body.get(i)).getAsXML();
  +        bod = (Element) bod.clone();
  +        root.addContent( bod );
  +      }
       }
       return( doc );
     }
  
  
  
  1.10      +29 -27    xml-axis/java/src/org/apache/axis/message/SOAPHeader.java
  
  Index: SOAPHeader.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/SOAPHeader.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- SOAPHeader.java	2001/02/10 04:39:57	1.9
  +++ SOAPHeader.java	2001/03/02 20:04:08	1.10
  @@ -58,8 +58,7 @@
   // !!!!***** Just a placeholder until we get the real stuff ***!!!!!
   
   import java.util.* ;
  -import org.w3c.dom.* ;
  -import org.xml.sax.InputSource ;
  +import org.jdom.* ;
   import org.apache.axis.message.* ;
   import org.apache.axis.* ;
   
  @@ -82,15 +81,14 @@
   
     public SOAPHeader(Element elem) {
       String  value ;
  -    prefix = elem.getPrefix();
  +    prefix = elem.getNamespacePrefix();
       namespaceURI = elem.getNamespaceURI();
  -    name = elem.getLocalName();
  -    value = elem.getAttributeNS( Constants.URI_SOAP_ENV,
  -                                     Constants.ATTR_MUST_UNDERSTAND );
  +    name = elem.getName();
  +    value = elem.getAttributeValue( Constants.ATTR_MUST_UNDERSTAND,
  +                                    elem.getNamespace() );
       if ( "1".equals(value) ) mustUnderstand = true ;
  -    actor = elem.getAttributeNS( Constants.URI_SOAP_ENV,
  -                                Constants.ATTR_ACTOR );
  -    setData( elem.getChildNodes() );
  +    actor = elem.getAttributeValue( Constants.ATTR_ACTOR, elem.getNamespace() );
  +    setData( elem.getMixedContent() );
       processed = false ;
     }
   
  @@ -111,36 +109,40 @@
   
     public Vector getData() { return( data ); }
   
  -  public Node getDataAtIndex(int i) {
  +  public Object getDataAtIndex(int i) {
       if ( data == null || i >= data.size() ) return( null );
  -    return( (Node) data.get(i) );
  +    return( (Object) data.get(i) );
     }
   
  -  public void addDataNode(Node n) { 
  +  public void addDataNode(Object n) { 
       if ( data == null ) data = new Vector();
       data.add(n); 
     };
   
  -  public void setData(NodeList nl) { 
  +  public void setData(List nl) { 
       data = null ;
  -    if ( nl != null && nl.getLength() != 0 ) data = new Vector();
  -    for ( int i = 0 ; i < nl.getLength() ; i++ )
  -      data.add( nl.item(i) );
  +    if ( nl != null && nl.size() != 0 ) data = new Vector();
  +    for ( int i = 0 ; i < nl.size() ; i++ )
  +      data.add( nl.get(i) );
     }
   
  -  public Element getAsXML(Document doc) {
  -    Element   root = doc.createElementNS(prefix, prefix + ":" + name );
  -    root.setAttribute( "xmlns:" + prefix, namespaceURI );
  +  public Element getAsXML() {
  +    Element  root = new Element( name, prefix, namespaceURI );
       if ( mustUnderstand )
  -      root.setAttributeNS( Constants.URI_SOAP_ENV,
  -                           Constants.ATTR_MUST_UNDERSTAND,
  -                           "1" );
  +      root.addAttribute( Constants.ATTR_MUST_UNDERSTAND, "1" );
       if ( actor != null )
  -      root.setAttributeNS( Constants.URI_SOAP_ENV,
  -                           Constants.ATTR_ACTOR,
  -                           actor );
  -    for ( int i = 0 ; data != null && i < data.size() ; i++ )
  -      root.appendChild(doc.importNode( (Node) data.get(i), true ));
  +      root.addAttribute( Constants.ATTR_ACTOR, actor );
  +    for ( int i = 0 ; data != null && i < data.size() ; i++ ) {
  +      Object o = data.get(i);
  +      if ( o instanceof String )
  +        root.addContent( (String) o );
  +      else if ( o instanceof CDATA )
  +        root.addContent( (CDATA) o );
  +      else if ( o instanceof Element )
  +        root.addContent( (Element) o );
  +      else
  +        System.err.println( "Unknown type: " + o.getClass() );
  +    }
       return( root );
     }
   
  
  
  
  1.4       +7 -9      xml-axis/java/src/org/apache/axis/transport/http/HTTPDispatchHandler.java
  
  Index: HTTPDispatchHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/transport/http/HTTPDispatchHandler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- HTTPDispatchHandler.java	2001/02/21 01:07:22	1.3
  +++ HTTPDispatchHandler.java	2001/03/02 20:04:33	1.4
  @@ -58,9 +58,9 @@
   import java.io.* ;
   import java.net.* ;
   import java.util.* ;
  -import org.w3c.dom.* ;
  -import org.xml.sax.InputSource ;
  -import org.apache.xerces.parsers.DOMParser ;
  +import org.jdom.* ;
  +import org.jdom.input.SAXBuilder ;
  +import org.jdom.output.XMLOutputter ;
   import org.apache.axis.* ;
   import org.apache.axis.utils.* ;
   import org.apache.axis.message.* ;
  @@ -172,15 +172,13 @@
           }
         }
         if ( b != -1 ) {
  -        DOMParser  parser = new DOMParser();
  -        parser.parse( new InputSource( inp ) );
  -  
  -        outMsg = new Message( parser.getDocument(), "Document" );
  +        SAXBuilder parser = new SAXBuilder();
  +        Document doc = parser.build(inp);
  +        outMsg = new Message( doc, "Document" );
           msgContext.setResponseMessage( outMsg );
           if ( Debug.DebugOn(2) ) {
             Debug.Print( 2, "XML received:" );
  -          Message m = new Message( parser.getDocument(), "Document" );
  -          Debug.Print( 2, (String) m.getAs( "String" ) );
  +          Debug.Print( 2, (new XMLOutputter()).outputString(doc) );
           }
         }
   
  
  
  
  1.14      +27 -34    xml-axis/java/src/org/apache/axis/utils/Admin.java
  
  Index: Admin.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/Admin.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Admin.java	2001/02/20 22:51:30	1.13
  +++ Admin.java	2001/03/02 20:04:49	1.14
  @@ -57,10 +57,8 @@
   
   import java.io.* ;
   import java.util.* ;
  -import org.w3c.dom.* ;
  -import org.apache.xerces.dom.DocumentImpl ;
  -import org.apache.xerces.parsers.DOMParser ;
  -import org.xml.sax.InputSource ;
  +import org.jdom.* ;
  +import org.jdom.input.SAXBuilder ;
   import org.apache.axis.registries.* ;
   import org.apache.axis.handlers.* ;
   import org.apache.axis.utils.* ;
  @@ -90,12 +88,12 @@
     }
   
     private void getOptions(Element root, Handler handler) {
  -    NodeList  list = root.getElementsByTagName( "option" );
  +    List  list = root.getChildren( "option" );
   
  -    for ( int i = 0 ; list != null && i < list.getLength() ; i++ ) {
  -      Element elem  = (Element) list.item(i);
  -      String  name  = elem.getAttribute( "name" );
  -      String  value = elem.getAttribute( "value" );
  +    for ( int i = 0 ; list != null && i < list.size() ; i++ ) {
  +      Element elem  = (Element) list.get(i);
  +      String  name  = elem.getAttributeValue( "name" );
  +      String  value = elem.getAttributeValue( "value" );
   
         if ( name != null && value != null )
           handler.addOption( name, value );
  @@ -107,35 +105,33 @@
       hr = (HandlerRegistry)msgContext.getProperty(Constants.HANDLER_REGISTRY);
       sr = (HandlerRegistry)msgContext.getProperty(Constants.SERVICE_REGISTRY);
       process( xml );
  -    Document doc = new DocumentImpl();
  -    Element  root = doc.createElement( "Admin" );
  -    doc.appendChild( root );
  -    root.appendChild( doc.createTextNode( "Done processing" ) );
  +    Element  root = new Element( "Admin" );
  +    Document doc  = new Document(root);
  +    root.addContent( "Done processing" );
       Debug.Print( 1, "Exit: Admin:AdminService" );
       return( doc );
     }
   
     public void process(Document doc) {
  -    process( doc.getDocumentElement() );
  +    process( doc.getRootElement() );
     }
   
     public void process(Element root) {
       try {
         init();
         ClassLoader   cl     = new AxisClassLoader();
  -      String        action = root.getTagName();
  +      String        action = root.getName();
   
         if ( !action.equals("deploy") && !action.equals("undeploy") ) 
           Error( "Root element must be 'deploy' or 'undeploy'" );
     
  -      NodeList list = root.getChildNodes();
  -      for ( int loop = 0 ; loop < list.getLength() ; loop++ ) {
  -        Node node = list.item(loop);
  -        if ( node.getNodeType() != Node.ELEMENT_NODE ) continue ;
  +      List list = root.getChildren();
  +      for ( int loop = 0 ; loop < list.size() ; loop++ ) {
  +        Object node = list.get(loop);
           Element  elem    = (Element) node ;
           // if ( elem.getNodeType != ELEMENT_NODE ) continue ;
  -        String   type    = elem.getTagName();
  -        String   name    = elem.getAttribute( "name" );
  +        String   type    = elem.getName();
  +        String   name    = elem.getAttributeValue( "name" );
     
           if ( action.equals( "undeploy" ) ) {
             if ( type.equals("service") ) {
  @@ -154,11 +150,11 @@
           Handler  h       = null ;
     
           if ( type.equals( "handler" ) ) {
  -          String   cls   = elem.getAttribute( "class" );
  +          String   cls   = elem.getAttributeValue( "class" );
             System.out.println( "Deploying handler: " + name );
             
             if (hr instanceof SupplierRegistry) {
  -            String lifeCycle = elem.getAttribute("lifecycle");
  +            String lifeCycle = elem.getAttributeValue("lifecycle");
               Supplier supplier;
   
               if ("factory".equals(lifeCycle)) {
  @@ -179,10 +175,10 @@
             }
           }
           else if ( type.equals( "chain" ) ) {
  -          String   flow    = elem.getAttribute( "flow" );
  -          String   input   = elem.getAttribute( "input" );
  -          String   pivot   = elem.getAttribute( "pivot" );
  -          String   output  = elem.getAttribute( "output" );
  +          String   flow    = elem.getAttributeValue( "flow" );
  +          String   input   = elem.getAttributeValue( "input" );
  +          String   pivot   = elem.getAttributeValue( "pivot" );
  +          String   output  = elem.getAttributeValue( "output" );
    
             String   hName ;
             Handler  tmpH ;
  @@ -244,7 +240,7 @@
             }
           }
           else if ( type.equals( "service" ) ) {
  -          String   handler = elem.getAttribute( "handler" );
  +          String   handler = elem.getAttributeValue( "handler" );
             System.out.println( "Deploying service: " + name );
             Handler  hand  = hr.find(handler);
             if( hand == null )
  @@ -296,15 +292,12 @@
   
       try {
         for ( i = 0 ; i < args.length ; i++ ) {
  -        DOMParser    parser  = new DOMParser();
  -        InputSource  inp     = null ;
  -        Document     doc     = null ;
  +        SAXBuilder       parser  = new SAXBuilder();
  +        Document         doc     = null ;
   
           System.out.println( "Processing '" + args[i] + "'" );
    
  -        inp = new InputSource( new FileInputStream(args[i]));
  -        parser.parse( inp );
  -        doc = parser.getDocument();
  +        doc = parser.build( new FileInputStream(args[i]) );
   
           admin.process( doc );
         }