You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ch...@apache.org on 2005/12/29 08:12:04 UTC
svn commit: r359748 - in /webservices/axis2/trunk/java/modules:
core/src/org/apache/axis2/description/
integration/test/org/apache/axis2/engine/util/profiling/
saaj/src/org/apache/axis2/om/impl/dom/factory/ xml/src/org/apache/axis2/om/
xml/src/org/apac...
Author: chinthaka
Date: Wed Dec 28 23:11:30 2005
New Revision: 359748
URL: http://svn.apache.org/viewcvs?rev=359748&view=rev
Log:
- removing unnecessary call to OMText to set the type. Now this will be passed thru the constructor itself.
- adding namespace table in to factory. Now there won't be two namespace objects with the same URI and prefix.
Modified:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java
webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/util/profiling/ContextMemoryHandlingUtil.java
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMFactory.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMNode.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXBuilder.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/factory/OMLinkedListImplFactory.java
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java?rev=359748&r1=359747&r2=359748&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java Wed Dec 28 23:11:30 2005
@@ -42,7 +42,11 @@
import java.io.IOException;
import java.io.OutputStream;
import java.io.Writer;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
/**
* Class AxisService
@@ -350,7 +354,7 @@
WSDLDescription desc = axisService2WOM.generateWOM();
// populate it with policy information ..
- //PolicyUtil.populatePolicy(desc, this);
+ PolicyUtil.populatePolicy(desc, this);
WOMWriter womWriter = WOMWriterFactory.createWriter(org.apache.wsdl.WSDLConstants.WSDL_1_1);
womWriter.setdefaultWSDLPrefix("wsdl");
Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/util/profiling/ContextMemoryHandlingUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/util/profiling/ContextMemoryHandlingUtil.java?rev=359748&r1=359747&r2=359748&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/util/profiling/ContextMemoryHandlingUtil.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/util/profiling/ContextMemoryHandlingUtil.java Wed Dec 28 23:11:30 2005
@@ -1,6 +1,11 @@
package org.apache.axis2.engine.util.profiling;
-import org.apache.axis2.engine.EchoRawXMLTest;
+import org.apache.axis2.Constants;
+import org.apache.axis2.client.Call;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.engine.util.TestConstants;
+import org.apache.axis2.integration.TestingUtils;
+import org.apache.axis2.om.OMElement;
/*
* Copyright 2001-2004 The Apache Software Foundation.
@@ -18,23 +23,34 @@
* limitations under the License.
*/
-public class ContextMemoryHandlingUtil extends EchoRawXMLTest {
+public class ContextMemoryHandlingUtil implements TestConstants {
- public ContextMemoryHandlingUtil() {
- }
+// public static final EndpointReference targetEPR = new EndpointReference(
+// "http://192.168.1.219:" + 8080
+// + "/axis2/services/echo/echoOMElement");
+//
+// public static final QName serviceName = new QName("echo");
+// public static final QName operationName = new QName("echoOMElement");
- public void startup() throws Exception {
- super.setUp();
+ public ContextMemoryHandlingUtil() {
}
public void runOnce() throws Exception {
- super.testEchoXMLSync();
- }
-
- public void shutdown() throws Exception {
- super.tearDown();
+ OMElement payload = TestingUtils.createDummyOMElement();
+ Call call =
+ new Call("target/test-resources/integrationRepo");
+ Options options = new Options();
+ call.setClientOptions(options);
+ options.setTo(targetEPR);
+ options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
+
+ OMElement result =
+ call.invokeBlocking(operationName.getLocalPart(),
+ payload);
+ TestingUtils.campareWithCreatedOMElement(result);
+ call.close();
}
public static void main(String[] args) throws Exception {
@@ -46,15 +62,12 @@
int numberOfTimes = 0;
while (true) {
-
System.out.println("Iterations # = " + ++numberOfTimes);
contextMemoryHandlingTest.runOnce();
System.out.println("Memory Usage = " + (initialMemory - Runtime.getRuntime().freeMemory()));
-
}
} catch (Exception e) {
e.printStackTrace();
- contextMemoryHandlingTest.shutdown();
System.exit(-1);
}
}
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java?rev=359748&r1=359747&r2=359748&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java Wed Dec 28 23:11:30 2005
@@ -15,27 +15,9 @@
*/
package org.apache.axis2.om.impl.dom.factory;
-import org.apache.axis2.om.OMAttribute;
-import org.apache.axis2.om.OMComment;
-import org.apache.axis2.om.OMContainer;
-import org.apache.axis2.om.OMDocType;
-import org.apache.axis2.om.OMDocument;
-import org.apache.axis2.om.OMElement;
-import org.apache.axis2.om.OMException;
-import org.apache.axis2.om.OMFactory;
-import org.apache.axis2.om.OMNamespace;
-import org.apache.axis2.om.OMProcessingInstruction;
-import org.apache.axis2.om.OMText;
-import org.apache.axis2.om.OMXMLParserWrapper;
-import org.apache.axis2.om.impl.dom.AttrImpl;
-import org.apache.axis2.om.impl.dom.CommentImpl;
-import org.apache.axis2.om.impl.dom.DocumentFragmentimpl;
-import org.apache.axis2.om.impl.dom.DocumentImpl;
-import org.apache.axis2.om.impl.dom.ElementImpl;
-import org.apache.axis2.om.impl.dom.NamespaceImpl;
-import org.apache.axis2.om.impl.dom.OMDOMException;
-import org.apache.axis2.om.impl.dom.ParentNode;
-import org.apache.axis2.om.impl.dom.TextImpl;
+import org.apache.axis2.om.*;
+import org.apache.axis2.om.impl.OMNodeEx;
+import org.apache.axis2.om.impl.dom.*;
import org.w3c.dom.Node;
import javax.xml.namespace.QName;
@@ -165,14 +147,20 @@
return txt;
}
- /**
- * Create a OMDOM Text node carrying the given value
- *
- * @see org.apache.axis2.om.OMFactory#createText(java.lang.String)
- */
- public OMText createText(String s) {
- return new TextImpl(s);
- }
+ public OMText createText(OMElement parent, String text, int type) {
+ OMText textNode = createText(parent, text);
+ ((OMNodeEx) textNode).setType(type);
+ return textNode;
+ }
+
+ /**
+ * Create a OMDOM Text node carrying the given value
+ *
+ * @see org.apache.axis2.om.OMFactory#createText(java.lang.String)
+ */
+ public OMText createText(String s) {
+ return new TextImpl(s);
+ }
/**
* Create a Character node of the given type
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMFactory.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMFactory.java?rev=359748&r1=359747&r2=359748&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMFactory.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMFactory.java Wed Dec 28 23:11:30 2005
@@ -90,6 +90,16 @@
public OMText createText(OMElement parent, String text);
/**
+ *
+ * @param parent
+ * @param text
+ * @param type - this should be either of XMLStreamConstants.CHARACTERS, XMLStreamConstants.CDATA,
+ * XMLStreamConstants.SPACE, XMLStreamConstants.ENTITY_REFERENCE
+ * @return
+ */
+ public OMText createText(OMElement parent, String text, int type);
+
+ /**
* @param s
* @return
*/
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMNode.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMNode.java?rev=359748&r1=359747&r2=359748&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMNode.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/OMNode.java Wed Dec 28 23:11:30 2005
@@ -123,6 +123,9 @@
* <p>Removes a node from its parent. Partially complete nodes will be completed before
* they are detached from the model. A node cannot be detached until its next sibling
* has been identified, so that the next sibling and parent can be updated appropriately.
+ * Please note that this will not handle the namespaces. For example, if there you have used a
+ * namespace within the detaching node and which is defined outside the detaching node, user has
+ * to handle it manually.
* </p>
*
* @throws OMException If a node is not complete, the detach can trigger further
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java?rev=359748&r1=359747&r2=359748&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java Wed Dec 28 23:11:30 2005
@@ -29,11 +29,10 @@
import org.apache.axis2.util.Base64;
import org.apache.axis2.util.UUIDGenerator;
-import java.io.IOException;
-import java.io.InputStream;
-
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import java.io.IOException;
+import java.io.InputStream;
public class OMTextImpl extends OMNodeImpl implements OMText, OMConstants {
protected String value = null;
@@ -104,6 +103,13 @@
this.value = text;
done = true;
this.nodeType = TEXT_NODE;
+ }
+
+ public OMTextImpl(OMElement parent, String text, int nodeType) {
+ super(parent);
+ this.value = text;
+ done = true;
+ this.nodeType = nodeType;
}
/**
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXBuilder.java?rev=359748&r1=359747&r2=359748&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXBuilder.java Wed Dec 28 23:11:30 2005
@@ -16,20 +16,12 @@
package org.apache.axis2.om.impl.llom.builder;
+import org.apache.axis2.om.*;
+import org.apache.axis2.om.impl.OMNodeEx;
+
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamReader;
-import org.apache.axis2.om.OMAbstractFactory;
-import org.apache.axis2.om.OMConstants;
-import org.apache.axis2.om.OMDocument;
-import org.apache.axis2.om.OMElement;
-import org.apache.axis2.om.OMException;
-import org.apache.axis2.om.OMFactory;
-import org.apache.axis2.om.OMNamespace;
-import org.apache.axis2.om.OMNode;
-import org.apache.axis2.om.OMXMLParserWrapper;
-import org.apache.axis2.om.impl.OMNodeEx;
-
/**
* OM should be able to built from any data source. And the model it builds may be a SOAP specific one
* or just an XML model. This class will give some common functionality of OM Building from StAX.
@@ -149,11 +141,9 @@
if (lastNode == null) {
return null;
} else if (!lastNode.isComplete()) {
- node = omfactory.createText((OMElement) lastNode, parser.getText());
- ((OMNodeEx)node).setType(textType);
+ node = omfactory.createText((OMElement) lastNode, parser.getText(), textType);
} else if (!(lastNode.getParent() instanceof OMDocument)) {
- node = omfactory.createText((OMElement)lastNode.getParent(), parser.getText());
- ((OMNodeEx)node).setType(textType);
+ node = omfactory.createText((OMElement)lastNode.getParent(), parser.getText(), textType);
}
return node;
}
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java?rev=359748&r1=359747&r2=359748&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/builder/StAXOMBuilder.java Wed Dec 28 23:11:30 2005
@@ -26,7 +26,6 @@
import org.apache.axis2.om.OMText;
import org.apache.axis2.om.impl.OMContainerEx;
import org.apache.axis2.om.impl.OMNodeEx;
-import org.apache.axis2.om.impl.llom.OMDocumentImpl;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/factory/OMLinkedListImplFactory.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/factory/OMLinkedListImplFactory.java?rev=359748&r1=359747&r2=359748&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/factory/OMLinkedListImplFactory.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/factory/OMLinkedListImplFactory.java Wed Dec 28 23:11:30 2005
@@ -27,15 +27,20 @@
import org.apache.axis2.om.impl.llom.OMTextImpl;
import javax.xml.namespace.QName;
+import java.util.HashMap;
+import java.util.Map;
/**
* Class OMLinkedListImplFactory
*/
public class OMLinkedListImplFactory implements OMFactory {
+
+ private static final String uriAndPrefixSeparator = ";";
/**
- * Field MAX_TO_POOL
+ * This is a map of namespaces with the namespace URI as the key and
+ * Namespace object itself as the value
*/
- public static final int MAX_TO_POOL = 100;
+ protected Map namespaceTable = new HashMap(5);
/**
* Method createOMElement
@@ -104,7 +109,13 @@
* @return namespace
*/
public OMNamespace createOMNamespace(String uri, String prefix) {
- return new OMNamespaceImpl(uri, prefix);
+ String key = uri + uriAndPrefixSeparator + prefix;
+ OMNamespace existingNamespaceObject = (OMNamespace) namespaceTable.get(key);
+ if (existingNamespaceObject == null) {
+ existingNamespaceObject = new OMNamespaceImpl(uri, prefix);
+ namespaceTable.put(key, existingNamespaceObject);
+ }
+ return existingNamespaceObject;
}
/**
@@ -118,6 +129,10 @@
return new OMTextImpl(parent, text);
}
+ public OMText createText(OMElement parent, String text, int type) {
+ return new OMTextImpl(parent, text, type);
+ }
+
/**
* Method createText
*
@@ -134,6 +149,7 @@
/**
* create Text
+ *
* @param s
* @param mimeType
* @param optimize
@@ -145,6 +161,7 @@
/**
* create text
+ *
* @param dataHandler
* @param optimize
* @return text
@@ -152,14 +169,15 @@
public OMText createText(Object dataHandler, boolean optimize) {
return new OMTextImpl(dataHandler, optimize);
}
-
+
public OMText createText(String contentID, OMElement parent,
- OMXMLParserWrapper builder) {
- return new OMTextImpl(contentID, parent,builder);
+ OMXMLParserWrapper builder) {
+ return new OMTextImpl(contentID, parent, builder);
}
/**
* create text
+ *
* @param parent
* @param s
* @param mimeType
@@ -175,6 +193,7 @@
/**
* create attribute
+ *
* @param localName
* @param ns
* @param value
@@ -188,6 +207,7 @@
/**
* create DocType/DTD
+ *
* @param parent
* @param content
* @return doctype
@@ -198,6 +218,7 @@
/**
* create a PI
+ *
* @param parent
* @param piTarget
* @param piData
@@ -209,6 +230,7 @@
/**
* create a comment
+ *
* @param parent
* @param content
* @return comment
@@ -220,14 +242,14 @@
/* (non-Javadoc)
* @see org.apache.axis2.om.OMFactory#createOMDocument()
*/
- public OMDocument createOMDocument() {
- return new OMDocumentImpl();
- }
-
- /* (non-Javadoc)
- * @see org.apache.axis2.om.OMFactory#createOMDocument(org.apache.axis2.om.OMXMLParserWrapper)
- */
- public OMDocument createOMDocument(OMXMLParserWrapper builder) {
- return new OMDocumentImpl(builder);
- }
+ public OMDocument createOMDocument() {
+ return new OMDocumentImpl();
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.axis2.om.OMFactory#createOMDocument(org.apache.axis2.om.OMXMLParserWrapper)
+ */
+ public OMDocument createOMDocument(OMXMLParserWrapper builder) {
+ return new OMDocumentImpl(builder);
+ }
}