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 di...@apache.org on 2005/12/30 05:05:04 UTC
svn commit: r359980 - in /webservices/axis2/trunk/java/modules:
codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java
Author: dims
Date: Thu Dec 29 20:04:59 2005
New Revision: 359980
URL: http://svn.apache.org/viewcvs?rev=359980&view=rev
Log:
- set a higher default size for the array list default of 10 items is VERY low.
- tiny cleanup in OMStAXWrapper
- generate a good looking namespace prefix for ADB
Modified:
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl?rev=359980&r1=359979&r2=359980&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl Thu Dec 29 20:04:59 2005
@@ -200,7 +200,7 @@
<!-- First loop creates arrayLists for handling arrays -->
<xsl:for-each select="property">
<xsl:if test="@array">
- java.util.ArrayList list<xsl:value-of select="position()"></xsl:value-of> = new java.util.ArrayList();
+ java.util.ArrayList list<xsl:value-of select="position()"></xsl:value-of> = new java.util.ArrayList(5000);
</xsl:if>
</xsl:for-each>
while(!done){
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java?rev=359980&r1=359979&r2=359980&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java Thu Dec 29 20:04:59 2005
@@ -308,7 +308,7 @@
XSLTUtils.addAttribute(model, "originalName", originalName, rootElt);
XSLTUtils.addAttribute(model, "package", packageName, rootElt);
XSLTUtils.addAttribute(model, "nsuri", qName.getNamespaceURI(), rootElt);
- XSLTUtils.addAttribute(model, "nsprefix", qName.getPrefix(), rootElt);
+ XSLTUtils.addAttribute(model, "nsprefix", getPrefixForURI(qName.getNamespaceURI(), qName.getPrefix()), rootElt);
if (!wrapClasses) {
XSLTUtils.addAttribute(model, "unwrapped", "yes", rootElt);
@@ -490,5 +490,55 @@
outStream.close();
PrettyPrinter.prettify(outputFile);
+ }
+
+ /**
+ * Get a prefix for a namespace URI. This method will ALWAYS
+ * return a valid prefix - if the given URI is already mapped in this
+ * serialization, we return the previous prefix. If it is not mapped,
+ * we will add a new mapping and return a generated prefix of the form
+ * "ns<num>".
+ *
+ * @param uri is the namespace uri
+ * @return prefix
+ */
+ public String getPrefixForURI(String uri) {
+ return getPrefixForURI(uri, null);
+ }
+
+ /**
+ * Last used index suffix for "ns"
+ */
+ private int lastPrefixIndex = 1;
+
+ /**
+ * Map of namespaces URI to prefix(es)
+ */
+ HashMap mapURItoPrefix = new HashMap();
+ HashMap mapPrefixtoURI = new HashMap();
+
+ /**
+ * Get a prefix for the given namespace URI. If one has already been
+ * defined in this serialization, use that. Otherwise, map the passed
+ * default prefix to the URI, and return that. If a null default prefix
+ * is passed, use one of the form "ns<num>"
+ */
+ public String getPrefixForURI(String uri, String defaultPrefix) {
+ if ((uri == null) || (uri.length() == 0))
+ return null;
+ String prefix = (String) mapURItoPrefix.get(uri);
+ if (prefix == null) {
+ if (defaultPrefix == null || defaultPrefix.length() == 0) {
+ prefix = "ns" + lastPrefixIndex++;
+ while (mapPrefixtoURI.get(prefix) != null) {
+ prefix = "ns" + lastPrefixIndex++;
+ }
+ } else {
+ prefix = defaultPrefix;
+ }
+ mapPrefixtoURI.put(prefix, uri);
+ mapURItoPrefix.put(uri, prefix);
+ }
+ return prefix;
}
}
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java?rev=359980&r1=359979&r2=359980&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java Thu Dec 29 20:04:59 2005
@@ -817,21 +817,20 @@
* @see javax.xml.stream.XMLStreamReader#getElementText()
*/
public String getElementText() throws XMLStreamException {
- String returnText = "";
if (parser != null) {
try {
- returnText = parser.getElementText();
+ return parser.getElementText();
} catch (XMLStreamException e) {
throw new OMStreamingException(e);
}
} else {
if (currentNode.getType() == OMNode.ELEMENT_NODE) {
- returnText = ((OMElement)currentNode).getText();
+ return ((OMElement)currentNode).getText();
}else if (currentNode.getType() == OMNode.TEXT_NODE){
- returnText = ((OMText)currentNode).getText();
+ return ((OMText)currentNode).getText();
}
}
- return returnText;
+ return "";
}
/**