You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ews-dev@ws.apache.org by di...@apache.org on 2005/02/10 18:09:12 UTC
svn commit: r153276 - in webservices/ews/trunk/src/org/apache/geronimo/ews:
jaxrpcmapping/ ws4j2ee/toWs/ws/
Author: dims
Date: Thu Feb 10 09:09:09 2005
New Revision: 153276
URL: http://svn.apache.org/viewcvs?view=rev&rev=153276
Log:
fixes from jonas team
Modified:
webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeBindingWriter.java
webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeEmitter.java
webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeFaultWriter.java
webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeGeneratorFactory.java
webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeStubWriter.java
webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/JaxRpcMapper.java
webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/WsdlToJ2ee.java
webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/XMLBeansJaxRpcMapper.java
webservices/ews/trunk/src/org/apache/geronimo/ews/ws4j2ee/toWs/ws/J2eeDeployWriter.java
Modified: webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeBindingWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeBindingWriter.java?view=diff&r1=153275&r2=153276
==============================================================================
--- webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeBindingWriter.java (original)
+++ webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeBindingWriter.java Thu Feb 10 09:09:09 2005
@@ -15,16 +15,16 @@
*/
package org.apache.geronimo.ews.jaxrpcmapping;
+import java.io.IOException;
+import javax.wsdl.Binding;
import org.apache.axis.utils.Messages;
import org.apache.axis.wsdl.gen.Generator;
import org.apache.axis.wsdl.symbolTable.BindingEntry;
import org.apache.axis.wsdl.symbolTable.PortTypeEntry;
import org.apache.axis.wsdl.symbolTable.SymbolTable;
+import org.apache.axis.wsdl.toJava.JavaStubWriter;
import org.apache.axis.wsdl.toJava.Utils;
-import javax.wsdl.Binding;
-import java.io.IOException;
-
/**
* This is Wsdl2java's Binding Writer. It writes the following files, as appropriate:
* <bindingName>Stub.java, <bindingName>Skeleton.java, <bindingName>Impl.java.
@@ -80,7 +80,7 @@
protected Generator getJavaStubWriter(J2eeEmitter emitter,
BindingEntry bEntry,
SymbolTable st) {
- return new J2eeStubWriter(emitter, bEntry, st);
+ return new JavaStubWriter(emitter, bEntry, st);
}
/**
@@ -103,7 +103,7 @@
// }else{
// return new J2eeImplWriter(emitter, bEntry, st);
// }
- return new J2eeImplWriter(emitter, bEntry, st);
+ return null;//new J2eeImplWriter(emitter, bEntry, st);
}
/**
Modified: webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeEmitter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeEmitter.java?view=diff&r1=153275&r2=153276
==============================================================================
--- webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeEmitter.java (original)
+++ webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeEmitter.java Thu Feb 10 09:09:09 2005
@@ -97,6 +97,7 @@
} else {
jaxRpcMapper.loadMappingFromDir(mappingFilePath);
}
+ setNowrap(!jaxRpcMapper.hasWrappedElement());
int length = jaxRpcMapper.getPackageMappingCount();
Map namespaceMap = getNamespaceMap();
for (int i = 0; i < length; i++) {
Modified: webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeFaultWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeFaultWriter.java?view=diff&r1=153275&r2=153276
==============================================================================
--- webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeFaultWriter.java (original)
+++ webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeFaultWriter.java Thu Feb 10 09:09:09 2005
@@ -16,7 +16,7 @@
package org.apache.geronimo.ews.jaxrpcmapping;
-import org.apache.axis.enum.Use;
+import org.apache.axis.constants.Use;
import org.apache.axis.wsdl.symbolTable.FaultInfo;
import org.apache.axis.wsdl.symbolTable.Parameter;
import org.apache.axis.wsdl.symbolTable.SymbolTable;
Modified: webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeGeneratorFactory.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeGeneratorFactory.java?view=diff&r1=153275&r2=153276
==============================================================================
--- webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeGeneratorFactory.java (original)
+++ webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeGeneratorFactory.java Thu Feb 10 09:09:09 2005
@@ -21,8 +21,27 @@
*
*/
-import org.apache.axis.encoding.DefaultTypeMappingImpl;
-import org.apache.axis.encoding.TypeMapping;
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Vector;
+
+import javax.wsdl.Binding;
+import javax.wsdl.Definition;
+import javax.wsdl.Fault;
+import javax.wsdl.Message;
+import javax.wsdl.Operation;
+import javax.wsdl.OperationType;
+import javax.wsdl.Port;
+import javax.wsdl.PortType;
+import javax.wsdl.Service;
+import javax.xml.namespace.QName;
+import javax.xml.rpc.holders.BooleanHolder;
+
import org.apache.axis.utils.JavaUtils;
import org.apache.axis.utils.Messages;
import org.apache.axis.wsdl.gen.Generator;
@@ -54,26 +73,6 @@
import org.apache.axis.wsdl.toJava.JavaUndeployWriter;
import org.apache.axis.wsdl.toJava.Utils;
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Fault;
-import javax.wsdl.Message;
-import javax.wsdl.Operation;
-import javax.wsdl.OperationType;
-import javax.wsdl.Port;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.xml.namespace.QName;
-import javax.xml.rpc.holders.BooleanHolder;
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
/**
* This is WsdlToJ2ee's implementation of the GeneratorFactory
*
@@ -215,7 +214,7 @@
/**
* Return Wsdl2java's JavaTypeWriter object.
*/
- private Writers typeWriters = new Writers();
+ protected Writers typeWriters = new Writers();
public Generator getGenerator(TypeEntry type, SymbolTable symbolTable) {
Generator writer = new JavaTypeWriter(emitter, type, symbolTable);
@@ -336,7 +335,7 @@
* Refactored to call recursively for JAX-RPC 1.1 spec 4.2.5.
*/
protected int javifyTypeEntryName(SymbolTable symbolTable, TypeEntry entry, HashMap anonQNames, int uniqueNum) {
- TypeEntry tEntry = (TypeEntry) entry;
+ TypeEntry tEntry = entry;
String dims = tEntry.getDimensions();
TypeEntry refType = tEntry.getRefType();
while (refType != null) {
@@ -388,8 +387,12 @@
// In case of <xsd:list itemType="...">,
// set typeQName to the value of the itemType attribute.
QName itemType = SchemaUtils.getListItemType(tEntry.getNode());
+ boolean isArray = false;
if (itemType != null) {
typeQName = itemType;
+ // OW Guillaume Change
+ // found a list
+ isArray = true;
}
if (typeQName.getLocalPart().
indexOf(SymbolTable.ANON_TOKEN) >= 0) {
@@ -398,13 +401,7 @@
// unique qnames for anonymous types.
// Only consider the localName after the last '>'
// when generating the java name
- // String localName = typeQName.getLocalPart();
- // localName =
- // localName.substring(
- // localName.lastIndexOf(
- // SymbolTable.ANON_TOKEN)+1);
- // typeQName = new QName(typeQName.getNamespaceURI(),
- // localName);
+
String localName = typeQName.getLocalPart();
// Check to see if this is an anonymous type,
@@ -412,6 +409,10 @@
// an underscore to make sure we don't run
// into name collisions with similarly named
// non-anonymous types
+
+ // OW Guillaume Change
+ // no replace > into _ (otherwise info from mapping file is not read)
+ /*
StringBuffer sb = new StringBuffer(localName);
int aidx = -1;
while ((aidx = sb.toString().indexOf(SymbolTable.ANON_TOKEN)) > -1) {
@@ -420,9 +421,8 @@
"_");
}
localName = sb.toString();
- typeQName = new QName(typeQName.getNamespaceURI(),
- localName);
-
+ typeQName = new QName(typeQName.getNamespaceURI(), localName);
+*/
// If there is already an existing type,
// there will be a collision.
// If there is an existing anon type,
@@ -440,10 +440,13 @@
// Now set the name with the constructed qname
String javaType = mapper.getJavaType(typeQName);
if (javaType == null) {
- tEntry.setName(emitter.getJavaName(typeQName));
- } else {
- tEntry.setName(javaType);
+ javaType = emitter.getJavaName(typeQName);
+ }
+ if (isArray) {
+ javaType += "[]";
}
+ tEntry.setName(javaType);
+
Vector elements = tEntry.getContainedElements();
if (elements != null) {
for (int i = 0; i < elements.size(); i++) {
@@ -910,6 +913,10 @@
if (name == null) {
name = operation.getName();
}
+ // OW Change Jerome
+ // operation name must be set otherwise problem during matching beetween WSDD operation and java method
+ operation.setName(name);
+ // end
Parameters parameters = bEntry.getParameters(operation);
if (type == OperationType.SOLICIT_RESPONSE) {
parameters.signature = " // " + Messages.getMessage("invalidSolResp00", name);
@@ -919,9 +926,10 @@
System.err.println(Messages.getMessage("invalidNotif00", name));
} else { // ONE_WAY or REQUEST_RESPONSE
if (parameters != null) {
- String returnType =
- mapper.getJavaMethodReturnType(bEntry, operation);
- if (returnType != null) {
+ String returnType = mapper.getJavaMethodReturnType(bEntry, operation);
+ // OW Change Guillaume
+ // parameters.returnParam may be null (no return value for the given operation)
+ if (returnType != null && parameters.returnParam != null) {
parameters.returnParam.getType().setName(returnType);
}
for (int j = 0; j < parameters.list.size(); ++j) {
@@ -1053,13 +1061,13 @@
public BaseTypeMapping getBaseTypeMapping() {
if (btm == null) {
btm = new BaseTypeMapping() {
- TypeMapping defaultTM = DefaultTypeMappingImpl.getSingleton();
+
+ //TypeMapping defaultTM = DefaultTypeMappingImpl.getSingleton();
public String getBaseName(QName qNameIn) {
- javax.xml.namespace.QName qName =
- new javax.xml.namespace.QName(qNameIn.getNamespaceURI(),
- qNameIn.getLocalPart());
- Class cls = defaultTM.getClassForQName(qName);
+ javax.xml.namespace.QName qName = new javax.xml.namespace.QName(qNameIn.getNamespaceURI(), qNameIn
+ .getLocalPart());
+ Class cls = emitter.getDefaultTypeMapping().getClassForQName(qName);
if (cls == null)
return null;
else
Modified: webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeStubWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeStubWriter.java?view=diff&r1=153275&r2=153276
==============================================================================
--- webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeStubWriter.java (original)
+++ webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/J2eeStubWriter.java Thu Feb 10 09:09:09 2005
@@ -16,8 +16,8 @@
package org.apache.geronimo.ews.jaxrpcmapping;
import org.apache.axis.Constants;
-import org.apache.axis.enum.Style;
-import org.apache.axis.enum.Use;
+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.BindingEntry;
@@ -75,12 +75,12 @@
static HashMap uses = new HashMap();
static {
- styles.put(Style.DOCUMENT, "org.apache.axis.enum.Style.DOCUMENT");
- styles.put(Style.RPC, "org.apache.axis.enum.Style.RPC");
- styles.put(Style.MESSAGE, "org.apache.axis.enum.Style.MESSAGE");
- styles.put(Style.WRAPPED, "org.apache.axis.enum.Style.WRAPPED");
- uses.put(Use.ENCODED, "org.apache.axis.enum.Use.ENCODED");
- uses.put(Use.LITERAL, "org.apache.axis.enum.Use.LITERAL");
+ styles.put(Style.DOCUMENT, "org.apache.axis.constants.Style.DOCUMENT");
+ styles.put(Style.RPC, "org.apache.axis.constants.Style.RPC");
+ styles.put(Style.MESSAGE, "org.apache.axis.constants.Style.MESSAGE");
+ styles.put(Style.WRAPPED, "org.apache.axis.constants.Style.WRAPPED");
+ uses.put(Use.ENCODED, "org.apache.axis.constants.Use.ENCODED");
+ uses.put(Use.LITERAL, "org.apache.axis.constants.Use.LITERAL");
}
static int OPERDESC_PER_BLOCK = 10;
@@ -144,7 +144,10 @@
pw.println(" } else {");
pw.println(" super.service = service;");
pw.println(" }");
-
+ pw
+ .println(" ((org.apache.axis.client.Service)super.service).setTypeMappingVersion(\""
+ + emitter.getTypeMappingVersion() + "\");");
+ List deferredBindings = new ArrayList();
// keep track of how many type mappings we write out
int typeMappingCount = 0;
if (types.size() > 0) {
@@ -152,19 +155,7 @@
while (it.hasNext()) {
TypeEntry type = (TypeEntry) it.next();
// Note this same check is repeated in JavaDeployWriter.
-
- // 1) Don't register types that are base (primitive) types.
- // If the baseType != null && getRefType() != null this
- // is a simpleType that must be registered.
- // 2) Don't register the special types for collections
- // (indexed properties) or elements
- // 3) Don't register types that are not referenced
- // or only referenced in a literal context.
- if ((type.getBaseType() != null && type.getRefType() == null) ||
- type instanceof CollectionTE ||
- type instanceof Element ||
- !type.isReferenced() ||
- type.isOnlyLiteralReferenced()) {
+ if (!Utils.shouldEmit(type)) {
continue;
}
@@ -752,6 +743,7 @@
if (oneway) {
pw.print(" _call.invokeOneWay(");
} else {
+ pw.print(" try {");
pw.print(" java.lang.Object _resp = _call.invoke(");
}
pw.print("new java.lang.Object[] {");
@@ -836,6 +828,35 @@
} else {
pw.println(" extractAttachments(_call);");
}
+ // End catch
+ // Get faults
+ Map faults = parms.faults;
+ // Get fauls of signature
+ String[] throwsSig = parms.signature.split("throws");
+ List exceptionsThrowsList = new ArrayList();
+ if (throwsSig != null && throwsSig.length > 1) {
+ String[] thrExcep = throwsSig[1].split(",");
+ for (int i = 0; i < thrExcep.length; i++) {
+ exceptionsThrowsList.add(thrExcep[i]);
+ }
+ }
+ pw
+ .println(" } catch (org.apache.axis.AxisFault axisFaultException) {");
+ if (faults != null && faults.size() > 0) {
+ pw.println(" if (axisFaultException.detail != null) {");
+ for (Iterator faultIt = exceptionsThrowsList.iterator(); faultIt
+ .hasNext();) {
+ String exceptionFullName = (String) faultIt.next();
+ pw.println(" if (axisFaultException.detail instanceof "
+ + exceptionFullName + ") {");
+ pw.println(" throw (" + exceptionFullName
+ + ") axisFaultException.detail;");
+ pw.println(" }");
+ }
+ pw.println(" }");
+ }
+ pw.println(" throw axisFaultException;");
+ pw.println("}");
} // writeResponseHandling
/**
Modified: webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/JaxRpcMapper.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/JaxRpcMapper.java?view=diff&r1=153275&r2=153276
==============================================================================
--- webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/JaxRpcMapper.java (original)
+++ webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/JaxRpcMapper.java Thu Feb 10 09:09:09 2005
@@ -78,4 +78,6 @@
*/
public abstract String getJavaMethodName(BindingEntry bEntry,
Operation operation);
+
+ public abstract boolean hasWrappedElement();
}
Modified: webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/WsdlToJ2ee.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/WsdlToJ2ee.java?view=diff&r1=153275&r2=153276
==============================================================================
--- webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/WsdlToJ2ee.java (original)
+++ webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/WsdlToJ2ee.java Thu Feb 10 09:09:09 2005
@@ -15,7 +15,7 @@
*/
package org.apache.geronimo.ews.jaxrpcmapping;
-import org.apache.axis.enum.Scope;
+import org.apache.axis.constants.Scope;
import org.apache.axis.utils.CLArgsParser;
import org.apache.axis.utils.CLOption;
import org.apache.axis.utils.CLOptionDescriptor;
Modified: webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/XMLBeansJaxRpcMapper.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/XMLBeansJaxRpcMapper.java?view=diff&r1=153275&r2=153276
==============================================================================
--- webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/XMLBeansJaxRpcMapper.java (original)
+++ webservices/ews/trunk/src/org/apache/geronimo/ews/jaxrpcmapping/XMLBeansJaxRpcMapper.java Thu Feb 10 09:09:09 2005
@@ -49,6 +49,8 @@
public class XMLBeansJaxRpcMapper implements JaxRpcMapper {
private JavaWsdlMappingType mapping;
+
+ private boolean wrappedElement = false;
public void loadMappingFromInputStream(InputStream is) throws GenerationFault {
try {
@@ -61,6 +63,7 @@
e.printStackTrace();
throw GenerationFault.createGenerationFault(e);
}
+ wrappedElement = checkWrappedElemente();
}
public void loadMappingFromDir(String path) throws GenerationFault {
@@ -78,6 +81,7 @@
e2.printStackTrace();
throw GenerationFault.createGenerationFault(e2);
}
+ wrappedElement = checkWrappedElemente();
}
public int getPackageMappingCount() {
@@ -242,6 +246,23 @@
return null;
}
+ public boolean checkWrappedElemente() {
+ if (mapping == null) {
+ return false;
+ }
+ ServiceEndpointInterfaceMappingType[] serviceList = mapping.getServiceEndpointInterfaceMappingArray();
+ for (int i = 0; i < serviceList.length; i++) {
+ ServiceEndpointMethodMappingType[] methodList = serviceList[i].getServiceEndpointMethodMappingArray();
+ for (int k = 0; k < methodList.length; k++) {
+ ServiceEndpointMethodMappingType methodMapping = methodList[k];
+ if (methodMapping.getWrappedElement() != null) {
+ // do use wrapped style
+ return true;
+ }
+ }
+ }
+ return false;
+ }
/**
* @param entry
* @param operation
@@ -309,5 +330,12 @@
}
}
return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.geronimo.ews.jaxrpcmapping.JaxRpcMapper#hasWrappedElement()
+ */
+ public boolean hasWrappedElement() {
+ return wrappedElement;
}
}
Modified: webservices/ews/trunk/src/org/apache/geronimo/ews/ws4j2ee/toWs/ws/J2eeDeployWriter.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/src/org/apache/geronimo/ews/ws4j2ee/toWs/ws/J2eeDeployWriter.java?view=diff&r1=153275&r2=153276
==============================================================================
--- webservices/ews/trunk/src/org/apache/geronimo/ews/ws4j2ee/toWs/ws/J2eeDeployWriter.java (original)
+++ webservices/ews/trunk/src/org/apache/geronimo/ews/ws4j2ee/toWs/ws/J2eeDeployWriter.java Thu Feb 10 09:09:09 2005
@@ -17,9 +17,9 @@
import org.apache.axis.Constants;
import org.apache.axis.deployment.wsdd.WSDDConstants;
-import org.apache.axis.enum.Scope;
-import org.apache.axis.enum.Style;
-import org.apache.axis.enum.Use;
+import org.apache.axis.constants.Scope;
+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.BindingEntry;
---------------------------------------------------------------------
To unsubscribe, e-mail: ews-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: ews-dev-help@ws.apache.org