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 );
}