Author: veithen
Date: Sat Oct 13 21:03:16 2012
New Revision: 1397947
URL: http://svn.apache.org/viewvc?rev=1397947&view=rev
Log:
Eliminated some dependencies of core runtime classes on classes in
org.apache.axis.wsdl.toJava.
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/client/Call.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/encoding/TypeMappingImpl.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/message/RPCElement.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/Utils.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/Emitter.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaFaultWriter.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaImplWriter.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaSkelWriter.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaStubWriter.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/Utils.java
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/client/Call.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/client/Call.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/client/Call.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/client/Call.java
Sat Oct 13 21:03:16 2012
@@ -59,7 +59,7 @@ import org.apache.axis.wsdl.symbolTable.
import org.apache.axis.wsdl.symbolTable.Parameters;
import org.apache.axis.wsdl.symbolTable.SymbolTable;
import org.apache.axis.wsdl.symbolTable.FaultInfo;
-import org.apache.axis.wsdl.toJava.Utils;
+import org.apache.axis.wsdl.symbolTable.Utils;
import org.apache.commons.logging.Log;
import javax.wsdl.Binding;
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/encoding/TypeMappingImpl.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/encoding/TypeMappingImpl.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/encoding/TypeMappingImpl.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/encoding/TypeMappingImpl.java
Sat Oct 13 21:03:16 2012
@@ -30,9 +30,9 @@ import org.apache.axis.utils.ArrayUtil;
import org.apache.axis.utils.Messages;
import org.apache.axis.utils.ClassUtils;
import org.apache.axis.utils.JavaUtils;
-import org.apache.axis.wsdl.toJava.Utils;
import org.apache.axis.wsdl.fromJava.Namespaces;
import org.apache.axis.wsdl.fromJava.Types;
+import org.apache.axis.wsdl.symbolTable.Utils;
import org.apache.commons.logging.Log;
import javax.xml.namespace.QName;
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/message/RPCElement.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/message/RPCElement.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/message/RPCElement.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/message/RPCElement.java
Sat Oct 13 21:03:16 2012
@@ -31,7 +31,6 @@ import org.apache.axis.handlers.soap.SOA
import org.apache.axis.soap.SOAPConstants;
import org.apache.axis.utils.JavaUtils;
import org.apache.axis.utils.Messages;
-import org.apache.axis.wsdl.toJava.Utils;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -112,7 +111,7 @@ public class RPCElement extends SOAPBody
ServiceDesc serviceDesc =
service.getInitializedServiceDesc(msgContext);
- String lc = Utils.xmlNameToJava(name);
+ String lc = JavaUtils.xmlNameToJava(name);
if (serviceDesc == null) {
throw AxisFault.makeFault(
new ClassNotFoundException(
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/Utils.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/Utils.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/Utils.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/symbolTable/Utils.java
Sat Oct 13 21:03:16 2012
@@ -16,10 +16,24 @@
package org.apache.axis.wsdl.symbolTable;
import org.apache.axis.Constants;
+import org.apache.axis.components.logger.LogFactory;
+import org.apache.axis.constants.Style;
+import org.apache.axis.constants.Use;
+import org.apache.axis.utils.Messages;
import org.apache.axis.utils.XMLUtils;
+import org.apache.commons.logging.Log;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
+import javax.wsdl.BindingInput;
+import javax.wsdl.BindingOperation;
+import javax.wsdl.Input;
+import javax.wsdl.Operation;
+import javax.wsdl.Part;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
+import javax.wsdl.extensions.mime.MIMEMultipartRelated;
+import javax.wsdl.extensions.soap.SOAPBody;
import javax.xml.namespace.QName;
import javax.xml.rpc.holders.BooleanHolder;
import java.util.*;
@@ -31,6 +45,7 @@ import java.util.*;
* @author Tom Jordahl ([email protected])
*/
public class Utils {
+ private static final Log log = LogFactory.getLog(Utils.class.getName());
/** cache of namespaces -> maps of localNames -> QNames */
static final Map nsmap = new HashMap();
@@ -773,4 +788,281 @@ public class Utils {
return localPart;
}
+
+ /**
+ * Get the QName that could be used in the xsi:type
+ * when serializing an object of the given type.
+ *
+ * @param te is the type entry
+ * @return the QName of the type's xsi type
+ */
+ public static QName getXSIType(TypeEntry te) {
+
+ QName xmlType = null;
+
+ // If the TypeEntry describes an Element, get
+ // the referenced Type.
+ if ((te != null) && (te instanceof Element)
+ && (te.getRefType() != null)) {
+ te = te.getRefType();
+ }
+
+ // If the TypeEntry is a CollectionTE, use
+ // the TypeEntry representing the component Type
+ // So for example a parameter that takes a
+ // collection type for
+ // <element name="A" type="xsd:string" maxOccurs="unbounded"/>
+ // will be
+ // new ParameterDesc(<QName of A>, IN,
+ // <QName of xsd:string>,
+ // String[])
+ if ((te != null) && (te instanceof CollectionTE)
+ && (te.getRefType() != null)) {
+ te = te.getRefType();
+ }
+
+ if (te != null) {
+ xmlType = te.getQName();
+ }
+
+ return xmlType;
+ }
+
+ /**
+ * Given a MIME type, return the AXIS-specific type QName.
+ *
+ * @param mimeName the MIME type name
+ * @return the AXIS-specific QName for the MIME type
+ */
+ public static QName getMIMETypeQName(String mimeName) {
+
+ if ("text/plain".equals(mimeName)) {
+ return Constants.MIME_PLAINTEXT;
+ } else if ("image/gif".equals(mimeName)
+ || "image/jpeg".equals(mimeName)) {
+ return Constants.MIME_IMAGE;
+ } else if ("text/xml".equals(mimeName)
+ || "applications/xml".equals(mimeName)) {
+ return Constants.MIME_SOURCE;
+ } else if ("application/octet-stream".equals(mimeName) ||
+ "application/octetstream".equals(mimeName)) {
+ return Constants.MIME_OCTETSTREAM;
+ } else if ((mimeName != null) && mimeName.startsWith("multipart/")) {
+ return Constants.MIME_MULTIPART;
+ } else {
+ return Constants.MIME_DATA_HANDLER;
+ }
+ } // getMIMEType
+
+ /**
+ * Get the QName that could be used in the xsi:type
+ * when serializing an object for this parameter/return
+ *
+ * @param param is a parameter
+ * @return the QName of the parameter's xsi type
+ */
+ public static QName getXSIType(Parameter param) {
+
+ if (param.getMIMEInfo() != null) {
+ return getMIMETypeQName(param.getMIMEInfo().getType());
+ }
+
+ return getXSIType(param.getType());
+ } // getXSIType
+
+ /**
+ * Are there any MIME parameters in the given binding?
+ *
+ * @param bEntry
+ * @return
+ */
+ public static boolean hasMIME(BindingEntry bEntry) {
+
+ List operations = bEntry.getBinding().getBindingOperations();
+
+ for (int i = 0; i < operations.size(); ++i) {
+ BindingOperation operation = (BindingOperation) operations.get(i);
+
+ if (hasMIME(bEntry, operation)) {
+ return true;
+ }
+ }
+
+ return false;
+ } // hasMIME
+
+ /**
+ * Are there any MIME parameters in the given binding's operation?
+ *
+ * @param bEntry
+ * @param operation
+ * @return
+ */
+ public static boolean hasMIME(BindingEntry bEntry,
+ BindingOperation operation) {
+
+ Parameters parameters = bEntry.getParameters(operation.getOperation());
+
+ if (parameters != null) {
+ for (int idx = 0; idx < parameters.list.size(); ++idx) {
+ Parameter p = (Parameter) parameters.list.get(idx);
+
+ if (p.getMIMEInfo() != null) {
+ return true;
+ }
+ }
+ }
+
+ return false;
+ } // hasMIME
+
+ /**
+ * Return the operation QName. The namespace is determined from
+ * the soap:body namespace, if it exists, otherwise it is "".
+ *
+ * @param bindingOper the operation
+ * @param bEntry the symbol table binding entry
+ * @param symbolTable SymbolTable
+ * @return the operation QName
+ */
+ public static QName getOperationQName(BindingOperation bindingOper,
+ BindingEntry bEntry,
+ SymbolTable symbolTable) {
+
+ Operation operation = bindingOper.getOperation();
+ String operationName = operation.getName();
+
+ // For the wrapped case, use the part element's name...which is
+ // is the same as the operation name, but may have a different
+ // namespace ?
+ // example:
+ // <part name="paramters" element="ns:myelem">
+ if ((bEntry.getBindingStyle() == Style.DOCUMENT)
+ && symbolTable.isWrapped()) {
+ Input input = operation.getInput();
+
+ if (input != null) {
+ Map parts = input.getMessage().getParts();
+
+ if ((parts != null) && !parts.isEmpty()) {
+ Iterator i = parts.values().iterator();
+ Part p = (Part) i.next();
+
+ return p.getElementName();
+ }
+ }
+ }
+
+ String ns = null;
+
+ // Get a namespace from the soap:body tag, if any
+ // example:
+ // <soap:body namespace="this_is_what_we_want" ..>
+ BindingInput bindInput = bindingOper.getBindingInput();
+
+ if (bindInput != null) {
+ Iterator it = bindInput.getExtensibilityElements().iterator();
+
+ while (it.hasNext()) {
+ ExtensibilityElement elem = (ExtensibilityElement) it.next();
+
+ if (elem instanceof SOAPBody) {
+ SOAPBody body = (SOAPBody) elem;
+
+ ns = body.getNamespaceURI();
+ if (bEntry.getInputBodyType(operation) == Use.ENCODED &&
(ns == null || ns.length() == 0)) {
+
log.warn(Messages.getMessage("badNamespaceForOperation00",
+ bEntry.getName(),
+ operation.getName()));
+
+ }
+ break;
+ } else if (elem instanceof MIMEMultipartRelated) {
+ Object part = null;
+ javax.wsdl.extensions.mime.MIMEMultipartRelated mpr =
+ (javax.wsdl.extensions.mime.MIMEMultipartRelated)
elem;
+ List l =
+ mpr.getMIMEParts();
+
+ for (int j = 0;
+ (l != null) && (j < l.size()) && (part == null);
+ j++) {
+ javax.wsdl.extensions.mime.MIMEPart mp =
+ (javax.wsdl.extensions.mime.MIMEPart) l.get(j);
+ List ll =
+ mp.getExtensibilityElements();
+
+ for (int k = 0; (ll != null) && (k < ll.size())
+ && (part == null); k++) {
+ part = ll.get(k);
+
+ if (part instanceof SOAPBody) {
+ SOAPBody body = (SOAPBody) part;
+
+ ns = body.getNamespaceURI();
+ if (bEntry.getInputBodyType(operation) ==
Use.ENCODED && (ns == null || ns.length() == 0)) {
+
log.warn(Messages.getMessage("badNamespaceForOperation00",
+ bEntry.getName(),
+ operation.getName()));
+
+ }
+ break;
+ } else {
+ part = null;
+ }
+ }
+ }
+ } else if (elem instanceof UnknownExtensibilityElement) {
+
+ // TODO: After WSDL4J supports soap12, change this code
+ UnknownExtensibilityElement unkElement =
+ (UnknownExtensibilityElement) elem;
+ QName name =
+ unkElement.getElementType();
+
+ if
(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP)
+ && name.getLocalPart().equals("body")) {
+ ns = unkElement.getElement().getAttribute("namespace");
+ }
+ }
+ }
+ }
+
+ // If we didn't get a namespace from the soap:body, then
+ // use "". We should probably use the targetNamespace,
+ // but the target namespace of what? binding? portType?
+ // Also, we don't have enough info for to get it.
+ if (ns == null) {
+ ns = "";
+ }
+
+ return new QName(ns, operationName);
+ }
+
+ /** A simple map of the primitive types and their holder objects */
+ protected static HashMap TYPES = new HashMap(7);
+
+ static {
+ TYPES.put("int", "java.lang.Integer");
+ TYPES.put("float", "java.lang.Float");
+ TYPES.put("boolean", "java.lang.Boolean");
+ TYPES.put("double", "java.lang.Double");
+ TYPES.put("byte", "java.lang.Byte");
+ TYPES.put("short", "java.lang.Short");
+ TYPES.put("long", "java.lang.Long");
+ }
+
+ /**
+ * Return a "wrapper" type for the given type name. In other words,
+ * if it's a primitive type ("int") return the java wrapper class
+ * ("java.lang.Integer"). Otherwise return the type name itself.
+ *
+ * @param type
+ * @return the name of a java wrapper class for the type, or the type's
+ * name if it's not primitive.
+ */
+ public static String getWrapperType(String type) {
+ String ret = (String)TYPES.get(type);
+ return (ret == null) ? type : ret;
+ }
}
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/Emitter.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/Emitter.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/Emitter.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/Emitter.java
Sat Oct 13 21:03:16 2012
@@ -22,6 +22,7 @@ import org.apache.axis.encoding.TypeMapp
import org.apache.axis.encoding.TypeMappingRegistryImpl;
import org.apache.axis.i18n.Messages;
import org.apache.axis.utils.ClassUtils;
+import org.apache.axis.utils.JavaUtils;
import org.apache.axis.wsdl.gen.GeneratorFactory;
import org.apache.axis.wsdl.gen.Parser;
import org.apache.axis.wsdl.symbolTable.SymTabEntry;
@@ -569,7 +570,7 @@ public class Emitter extends Parser {
String javaName = getJavaVariableNameHook(typeQName, xmlName,
isElement);
if (javaName == null) {
String elemName = Utils.getLastLocalPart(xmlName.getLocalPart());
- javaName = Utils.xmlNameToJava(elemName);
+ javaName = JavaUtils.xmlNameToJava(elemName);
}
return javaName;
}
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
Sat Oct 13 21:03:16 2012
@@ -380,7 +380,7 @@ public class JavaBeanWriter extends Java
if ((extendType != null) && extendType.getDimensions().equals("[]")) {
String typeName = extendType.getName();
String elemName = extendType.getQName().getLocalPart();
- String variableName = Utils.xmlNameToJava(elemName);
+ String variableName = JavaUtils.xmlNameToJava(elemName);
names.add(typeName);
names.add(variableName);
@@ -713,7 +713,7 @@ public class JavaBeanWriter extends Java
if (i > 0) {
mangle = "_"
- + Utils.xmlNameToJava(te.getQName().getLocalPart())
+ + JavaUtils.xmlNameToJava(te.getQName().getLocalPart())
+ "_";
}
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaFaultWriter.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaFaultWriter.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaFaultWriter.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaFaultWriter.java
Sat Oct 13 21:03:16 2012
@@ -16,6 +16,7 @@
package org.apache.axis.wsdl.toJava;
import org.apache.axis.constants.Use;
+import org.apache.axis.utils.JavaUtils;
import org.apache.axis.wsdl.symbolTable.FaultInfo;
import org.apache.axis.wsdl.symbolTable.Parameter;
import org.apache.axis.wsdl.symbolTable.SymbolTable;
@@ -92,7 +93,7 @@ public class JavaFaultWriter extends Jav
for (int i = 0; i < params.size(); i++) {
Parameter param = (Parameter) params.get(i);
String type = param.getType().getName();
- String variable = Utils.xmlNameToJava(param.getName());
+ String variable = JavaUtils.xmlNameToJava(param.getName());
pw.println(" public " + type + " " + variable + ";");
pw.println(" public " + type + " get"
@@ -128,7 +129,7 @@ public class JavaFaultWriter extends Jav
Parameter param = (Parameter) params.get(i);
String type = param.getType().getName();
- String variable = Utils.xmlNameToJava(param.getName());
+ String variable = JavaUtils.xmlNameToJava(param.getName());
pw.print(type + " " + variable);
}
@@ -137,7 +138,7 @@ public class JavaFaultWriter extends Jav
for (int i = 0; i < params.size(); i++) {
Parameter param = (Parameter) params.get(i);
- String variable = Utils.xmlNameToJava(param.getName());
+ String variable = JavaUtils.xmlNameToJava(param.getName());
pw.println(" this." + variable + " = " + variable +
";");
}
@@ -158,7 +159,7 @@ public class JavaFaultWriter extends Jav
for (int i = 0; i < params.size(); i++) {
Parameter param = (Parameter) params.get(i);
- String variable = Utils.xmlNameToJava(param.getName());
+ String variable = JavaUtils.xmlNameToJava(param.getName());
pw.println(" context.serialize(qname, null, "
+ Utils.wrapPrimitiveType(param.getType(), variable)
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java
Sat Oct 13 21:03:16 2012
@@ -1450,7 +1450,7 @@ public class JavaGeneratorFactory implem
*/
private String constructSignature(Parameters parms, String opName) {
- String name = Utils.xmlNameToJava(opName);
+ String name = JavaUtils.xmlNameToJava(opName);
String ret = "void";
if ((parms != null) && (parms.returnParam != null)) {
@@ -1469,7 +1469,7 @@ public class JavaGeneratorFactory implem
needComma = true;
}
- String javifiedName = Utils.xmlNameToJava(p.getName());
+ String javifiedName = JavaUtils.xmlNameToJava(p.getName());
if (p.getMode() == Parameter.IN) {
signature += Utils.getParameterTypeName(p) + " " +
javifiedName;
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaImplWriter.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaImplWriter.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaImplWriter.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaImplWriter.java
Sat Oct 13 21:03:16 2012
@@ -15,6 +15,7 @@
*/
package org.apache.axis.wsdl.toJava;
+import org.apache.axis.utils.JavaUtils;
import org.apache.axis.wsdl.symbolTable.BindingEntry;
import org.apache.axis.wsdl.symbolTable.Parameter;
import org.apache.axis.wsdl.symbolTable.Parameters;
@@ -137,7 +138,7 @@ public class JavaImplWriter extends Java
pw.println(" try {");
}
- pw.println(" " + Utils.xmlNameToJava(param.getName())
+ pw.println(" " +
JavaUtils.xmlNameToJava(param.getName())
+ ".value = " + constructorString + ";");
if (bThrow.value) {
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaSkelWriter.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaSkelWriter.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaSkelWriter.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaSkelWriter.java
Sat Oct 13 21:03:16 2012
@@ -16,6 +16,7 @@
package org.apache.axis.wsdl.toJava;
import org.apache.axis.Constants;
+import org.apache.axis.utils.JavaUtils;
import org.apache.axis.utils.Messages;
import org.apache.axis.wsdl.symbolTable.BindingEntry;
import org.apache.axis.wsdl.symbolTable.FaultInfo;
@@ -149,7 +150,7 @@ public class JavaSkelWriter extends Java
// The invoked java name of the bindingOper is stored.
String opName = bindingOper.getOperation().getName();
- String javaOpName = Utils.xmlNameToJava(opName);
+ String javaOpName = JavaUtils.xmlNameToJava(opName);
pw.println(
" _params = new
org.apache.axis.description.ParameterDesc [] {");
@@ -274,7 +275,7 @@ public class JavaSkelWriter extends Java
if (parameters == null) {
String opName =
bindingOper.getOperation().getName();
- String javaOpName = Utils.xmlNameToJava(opName);
+ String javaOpName = JavaUtils.xmlNameToJava(opName);
pw.println(
" _oper = "
@@ -492,7 +493,7 @@ public class JavaSkelWriter extends Java
+ " ret = ");
}
- String call = "impl." + Utils.xmlNameToJava(operation.getName())
+ String call = "impl." + JavaUtils.xmlNameToJava(operation.getName())
+ "(";
boolean needComma = false;
@@ -505,7 +506,7 @@ public class JavaSkelWriter extends Java
Parameter p = (Parameter) parms.list.get(i);
- call = call + Utils.xmlNameToJava(p.getName());
+ call = call + JavaUtils.xmlNameToJava(p.getName());
}
call = call + ")";
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaStubWriter.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaStubWriter.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaStubWriter.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaStubWriter.java
Sat Oct 13 21:03:16 2012
@@ -1195,7 +1195,7 @@ public class JavaStubWriter extends Java
needComma = true;
}
- String javifiedName = Utils.xmlNameToJava(p.getName());
+ String javifiedName = JavaUtils.xmlNameToJava(p.getName());
if (p.getMode() != Parameter.IN) {
javifiedName += ".value";
@@ -1243,7 +1243,7 @@ public class JavaStubWriter extends Java
p = (Parameter) parms.list.get(++i);
}
- String javifiedName = Utils.xmlNameToJava(p.getName());
+ String javifiedName = JavaUtils.xmlNameToJava(p.getName());
String qnameName =
Utils.getNewQNameWithLastLocalPart(p.getQName());
pw.println(" java.util.Map _output;");
@@ -1262,7 +1262,7 @@ public class JavaStubWriter extends Java
for (int i = 0; i < parms.list.size(); ++i) {
Parameter p = (Parameter) parms.list.get(i);
- String javifiedName = Utils.xmlNameToJava(p.getName());
+ String javifiedName = JavaUtils.xmlNameToJava(p.getName());
String qnameName =
Utils.getNewQNameWithLastLocalPart(p.getQName());
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java
Sat Oct 13 21:03:16 2012
@@ -224,7 +224,7 @@ public class JavaTestCaseWriter extends
}
pw.print("binding.");
- pw.print(Utils.xmlNameToJava(op.getName()));
+ pw.print(JavaUtils.xmlNameToJava(op.getName()));
pw.print("(");
Iterator iparam = params.list.iterator();
Modified:
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/Utils.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/Utils.java?rev=1397947&r1=1397946&r2=1397947&view=diff
==============================================================================
---
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/Utils.java
(original)
+++
axis/axis1/java/trunk/axis-rt-core/src/main/java/org/apache/axis/wsdl/toJava/Utils.java
Sat Oct 13 21:03:16 2012
@@ -17,25 +17,16 @@ package org.apache.axis.wsdl.toJava;
import org.apache.axis.Constants;
import org.apache.axis.components.logger.LogFactory;
-import org.apache.axis.constants.Style;
-import org.apache.axis.constants.Use;
import org.apache.axis.utils.JavaUtils;
-import org.apache.axis.utils.Messages;
import org.apache.axis.wsdl.symbolTable.*;
import org.apache.commons.logging.Log;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import javax.wsdl.BindingInput;
import javax.wsdl.BindingOperation;
-import javax.wsdl.Input;
import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.Part;
import javax.wsdl.extensions.ExtensibilityElement;
import javax.wsdl.extensions.UnknownExtensibilityElement;
-import javax.wsdl.extensions.mime.MIMEMultipartRelated;
-import javax.wsdl.extensions.soap.SOAPBody;
import javax.wsdl.extensions.soap.SOAPOperation;
import javax.xml.namespace.QName;
import javax.xml.rpc.holders.BooleanHolder;
@@ -46,7 +37,6 @@ import java.net.URL;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
import java.util.StringTokenizer;
import java.util.Vector;
@@ -466,17 +456,9 @@ public class Utils extends org.apache.ax
}
/**
- * Map an XML name to a valid Java identifier
- *
- * @param name
- * @return
+ * @deprecated Use {@link JavaUtils#xmlNameToJava(String)} instead.
*/
public static String xmlNameToJava(String name) {
-
- // NOTE: This method should really go away and all callers should call
- // JavaUtils.xmlNameToJava directly. But there are a lot of them and
I wanted
- // to keep the changes to a minimum. Besides, these are static
methods so the should
- // be inlined.
return JavaUtils.xmlNameToJava(name);
}
@@ -487,7 +469,7 @@ public class Utils extends org.apache.ax
* @return
*/
public static String xmlNameToJavaClass(String name) {
- return capitalizeFirstChar(xmlNameToJava(name));
+ return capitalizeFirstChar(JavaUtils.xmlNameToJava(name));
}
/**
@@ -643,19 +625,6 @@ public class Utils extends org.apache.ax
return new File(fullName).exists();
} // fileExists
- /** A simple map of the primitive types and their holder objects */
- private static HashMap TYPES = new HashMap(7);
-
- static {
- TYPES.put("int", "java.lang.Integer");
- TYPES.put("float", "java.lang.Float");
- TYPES.put("boolean", "java.lang.Boolean");
- TYPES.put("double", "java.lang.Double");
- TYPES.put("byte", "java.lang.Byte");
- TYPES.put("short", "java.lang.Short");
- TYPES.put("long", "java.lang.Long");
- }
-
/**
* Return a string with "var" wrapped as an Object type if needed
*
@@ -757,20 +726,6 @@ public class Utils extends org.apache.ax
} // isPrimitiveType
/**
- * Return a "wrapper" type for the given type name. In other words,
- * if it's a primitive type ("int") return the java wrapper class
- * ("java.lang.Integer"). Otherwise return the type name itself.
- *
- * @param type
- * @return the name of a java wrapper class for the type, or the type's
- * name if it's not primitive.
- */
- public static String getWrapperType(String type) {
- String ret = (String)TYPES.get(type);
- return (ret == null) ? type : ret;
- }
-
- /**
* Returns a "wrapper" type for the given TypeEntry.
*
* @param type
@@ -798,129 +753,6 @@ public class Utils extends org.apache.ax
}
/**
- * Return the operation QName. The namespace is determined from
- * the soap:body namespace, if it exists, otherwise it is "".
- *
- * @param bindingOper the operation
- * @param bEntry the symbol table binding entry
- * @param symbolTable SymbolTable
- * @return the operation QName
- */
- public static QName getOperationQName(BindingOperation bindingOper,
- BindingEntry bEntry,
- SymbolTable symbolTable) {
-
- Operation operation = bindingOper.getOperation();
- String operationName = operation.getName();
-
- // For the wrapped case, use the part element's name...which is
- // is the same as the operation name, but may have a different
- // namespace ?
- // example:
- // <part name="paramters" element="ns:myelem">
- if ((bEntry.getBindingStyle() == Style.DOCUMENT)
- && symbolTable.isWrapped()) {
- Input input = operation.getInput();
-
- if (input != null) {
- Map parts = input.getMessage().getParts();
-
- if ((parts != null) && !parts.isEmpty()) {
- Iterator i = parts.values().iterator();
- Part p = (Part) i.next();
-
- return p.getElementName();
- }
- }
- }
-
- String ns = null;
-
- // Get a namespace from the soap:body tag, if any
- // example:
- // <soap:body namespace="this_is_what_we_want" ..>
- BindingInput bindInput = bindingOper.getBindingInput();
-
- if (bindInput != null) {
- Iterator it = bindInput.getExtensibilityElements().iterator();
-
- while (it.hasNext()) {
- ExtensibilityElement elem = (ExtensibilityElement) it.next();
-
- if (elem instanceof SOAPBody) {
- SOAPBody body = (SOAPBody) elem;
-
- ns = body.getNamespaceURI();
- if (bEntry.getInputBodyType(operation) == Use.ENCODED &&
(ns == null || ns.length() == 0)) {
-
log.warn(Messages.getMessage("badNamespaceForOperation00",
- bEntry.getName(),
- operation.getName()));
-
- }
- break;
- } else if (elem instanceof MIMEMultipartRelated) {
- Object part = null;
- javax.wsdl.extensions.mime.MIMEMultipartRelated mpr =
- (javax.wsdl.extensions.mime.MIMEMultipartRelated)
elem;
- List l =
- mpr.getMIMEParts();
-
- for (int j = 0;
- (l != null) && (j < l.size()) && (part == null);
- j++) {
- javax.wsdl.extensions.mime.MIMEPart mp =
- (javax.wsdl.extensions.mime.MIMEPart) l.get(j);
- List ll =
- mp.getExtensibilityElements();
-
- for (int k = 0; (ll != null) && (k < ll.size())
- && (part == null); k++) {
- part = ll.get(k);
-
- if (part instanceof SOAPBody) {
- SOAPBody body = (SOAPBody) part;
-
- ns = body.getNamespaceURI();
- if (bEntry.getInputBodyType(operation) ==
Use.ENCODED && (ns == null || ns.length() == 0)) {
-
log.warn(Messages.getMessage("badNamespaceForOperation00",
- bEntry.getName(),
- operation.getName()));
-
- }
- break;
- } else {
- part = null;
- }
- }
- }
- } else if (elem instanceof UnknownExtensibilityElement) {
-
- // TODO: After WSDL4J supports soap12, change this code
- UnknownExtensibilityElement unkElement =
- (UnknownExtensibilityElement) elem;
- QName name =
- unkElement.getElementType();
-
- if
(name.getNamespaceURI().equals(Constants.URI_WSDL12_SOAP)
- && name.getLocalPart().equals("body")) {
- ns = unkElement.getElement().getAttribute("namespace");
- }
- }
- }
- }
-
- // If we didn't get a namespace from the soap:body, then
- // use "". We should probably use the targetNamespace,
- // but the target namespace of what? binding? portType?
- // Also, we don't have enough info for to get it.
- if (ns == null) {
- ns = "";
- }
-
- return new QName(ns, operationName);
- }
-
- /**
* Return the SOAPAction (if any) of this binding operation
*
* @param bindingOper the operation to look at
@@ -1017,133 +849,6 @@ public class Utils extends org.apache.ax
return ret;
} // getParameterTypeName
- /**
- * Get the QName that could be used in the xsi:type
- * when serializing an object for this parameter/return
- *
- * @param param is a parameter
- * @return the QName of the parameter's xsi type
- */
- public static QName getXSIType(Parameter param) {
-
- if (param.getMIMEInfo() != null) {
- return getMIMETypeQName(param.getMIMEInfo().getType());
- }
-
- return getXSIType(param.getType());
- } // getXSIType
-
- /**
- * Get the QName that could be used in the xsi:type
- * when serializing an object of the given type.
- *
- * @param te is the type entry
- * @return the QName of the type's xsi type
- */
- public static QName getXSIType(TypeEntry te) {
-
- QName xmlType = null;
-
- // If the TypeEntry describes an Element, get
- // the referenced Type.
- if ((te != null) && (te instanceof Element)
- && (te.getRefType() != null)) {
- te = te.getRefType();
- }
-
- // If the TypeEntry is a CollectionTE, use
- // the TypeEntry representing the component Type
- // So for example a parameter that takes a
- // collection type for
- // <element name="A" type="xsd:string" maxOccurs="unbounded"/>
- // will be
- // new ParameterDesc(<QName of A>, IN,
- // <QName of xsd:string>,
- // String[])
- if ((te != null) && (te instanceof CollectionTE)
- && (te.getRefType() != null)) {
- te = te.getRefType();
- }
-
- if (te != null) {
- xmlType = te.getQName();
- }
-
- return xmlType;
- }
-
- /**
- * Given a MIME type, return the AXIS-specific type QName.
- *
- * @param mimeName the MIME type name
- * @return the AXIS-specific QName for the MIME type
- */
- public static QName getMIMETypeQName(String mimeName) {
-
- if ("text/plain".equals(mimeName)) {
- return Constants.MIME_PLAINTEXT;
- } else if ("image/gif".equals(mimeName)
- || "image/jpeg".equals(mimeName)) {
- return Constants.MIME_IMAGE;
- } else if ("text/xml".equals(mimeName)
- || "applications/xml".equals(mimeName)) {
- return Constants.MIME_SOURCE;
- } else if ("application/octet-stream".equals(mimeName) ||
- "application/octetstream".equals(mimeName)) {
- return Constants.MIME_OCTETSTREAM;
- } else if ((mimeName != null) && mimeName.startsWith("multipart/")) {
- return Constants.MIME_MULTIPART;
- } else {
- return Constants.MIME_DATA_HANDLER;
- }
- } // getMIMEType
-
- /**
- * Are there any MIME parameters in the given binding?
- *
- * @param bEntry
- * @return
- */
- public static boolean hasMIME(BindingEntry bEntry) {
-
- List operations = bEntry.getBinding().getBindingOperations();
-
- for (int i = 0; i < operations.size(); ++i) {
- BindingOperation operation = (BindingOperation) operations.get(i);
-
- if (hasMIME(bEntry, operation)) {
- return true;
- }
- }
-
- return false;
- } // hasMIME
-
- /**
- * Are there any MIME parameters in the given binding's operation?
- *
- * @param bEntry
- * @param operation
- * @return
- */
- public static boolean hasMIME(BindingEntry bEntry,
- BindingOperation operation) {
-
- Parameters parameters = bEntry.getParameters(operation.getOperation());
-
- if (parameters != null) {
- for (int idx = 0; idx < parameters.list.size(); ++idx) {
- Parameter p = (Parameter) parameters.list.get(idx);
-
- if (p.getMIMEInfo() != null) {
- return true;
- }
- }
- }
-
- return false;
- } // hasMIME
-
/** Field constructorMap */
private static HashMap constructorMap = new HashMap(50);