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 Tom Jordahl <to...@macromedia.com> on 2002/05/15 15:51:39 UTC
RE: cvs commit: xml-axis/java/test/wsdl/multibinding VerifyFilesT
estCase.java
INTERFACE_NAME: +1
Silly JAX-RPC using cryptic TLA's, they should be MIA IMHO.
--
Tom
-----Original Message-----
From: Russell Butek [mailto:butek@us.ibm.com]
Sent: Tuesday, May 14, 2002 4:49 PM
To: axis-dev@xml.apache.org
Subject: RE: cvs commit: xml-axis/java/test/wsdl/multibinding
VerifyFilesT estCase.java
SEI is Service Endpoint Interface. It's from JAX-RPC. It USED to be SDI -
Service Definition Interface - but they changed it recently (probably
because the Service object now has it's own interface). I'm certainly not
attached to this name. What would you prefer? INTERFACE_NAME?
Russell Butek
butek@us.ibm.com
Tom Jordahl <to...@macromedia.com> on 05/14/2002 02:48:44 PM
Please respond to axis-dev@xml.apache.org
To: "'axis-dev@xml.apache.org'" <ax...@xml.apache.org>
cc:
Subject: RE: cvs commit: xml-axis/java/test/wsdl/multibinding
VerifyFilesT estCase.java
Russell,
+1!
Can we change the name to something other that SEI_NAME?
I don't even know what "SEI" is, much less someone who doesn't live in the
space. :-)
--
Tom Jordahl
Macromedia
-----Original Message-----
From: butek@apache.org [mailto:butek@apache.org]
Sent: Tuesday, May 14, 2002 2:59 PM
To: xml-axis-cvs@apache.org
Subject: cvs commit: xml-axis/java/test/wsdl/multibinding
VerifyFilesTestCase.java
butek 02/05/14 11:59:25
Modified: java/src/org/apache/axis/wsdl/toJava JavaBindingWriter.java
JavaGeneratorFactory.java JavaImplWriter.java
JavaInterfaceWriter.java
JavaServiceIfaceWriter.java
JavaServiceImplWriter.java JavaSkelWriter.java
JavaStubWriter.java JavaTestCaseWriter.java
java/test/wsdl/multibinding VerifyFilesTestCase.java
Log:
The SEI can be named either after the portType or the binding. We had
code all over the place in the writers that essentially said, "if
literal, name
is binding, else name is portType". If we ever want to change that check
(like NOW - I now want the check to be "if literal and wrapped") then we
have to change it in all these places. So instead, I'm now using
binding.set/getDynamicVar(JavaBindingWriter.SEI_NAME), I'm
determining it ONCE in JavaGeneratorFactory.generatorPass, and using
this dynamic var everywhere that we used to have that check.
This has the added goodness that WSDL2Java makes itself very easy to
extend for someone like Thomas Sandholm who doesn't ever want to do
that check.
Revision Changes Path
1.7 +6 -0
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBindingWriter.java
Index: JavaBindingWriter.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBindingWriter.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- JavaBindingWriter.java 10 May 2002 13:30:35 -0000 1.6
+++ JavaBindingWriter.java 14 May 2002 18:59:24 -0000 1.7
@@ -79,6 +79,12 @@
Generator implWriter = null;
Generator interfaceWriter = null;
+ // This is the dynamic var key for the SEI name. This name
+ // could either be derived from the portType or the binding.
+ // The generatorPass fills this dynamic var in and it is
+ // used in the writers that need the SEI name.
+ public static String SEI_NAME = "SEI name";
+
/**
* Constructor.
*/
1.3 +32 -6
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java
Index: JavaGeneratorFactory.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaGeneratorFactory.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JavaGeneratorFactory.java 10 May 2002 13:30:35 -0000 1.2
+++ JavaGeneratorFactory.java 14 May 2002 18:59:24 -0000 1.3
@@ -172,6 +172,7 @@
this.symbolTable = symbolTable;
javifyNames(symbolTable);
resolveNameClashes(symbolTable);
+ determineSEINames(symbolTable);
if (emitter.isAllWanted()) {
setAllReferencesToTrue();
}
@@ -331,7 +332,7 @@
* Note: This method also ensures that anonymous types are
* given unique java type names.
*/
- private void javifyNames(SymbolTable symbolTable) {
+ protected void javifyNames(SymbolTable symbolTable) {
int uniqueNum = 0;
HashMap anonQNames = new HashMap();
Iterator it = symbolTable.getHashMap().values().iterator();
@@ -389,11 +390,36 @@
}
} // javifyNames
+ protected void determineSEINames(SymbolTable symbolTable) {
+ Iterator it = symbolTable.getHashMap().values().iterator();
+ while (it.hasNext()) {
+ Vector v = (Vector) it.next();
+ for (int i = 0; i < v.size(); ++i) {
+ SymTabEntry entry = (SymTabEntry) v.elementAt(i);
+ if (entry instanceof BindingEntry) {
+ // The SEI name is normally the portType name.
+ // But the binding info MIGHT force the SEI
+ // name to be the binding name.
+ BindingEntry bEntry = (BindingEntry) entry;
+ String seiName = null;
+ if (bEntry.hasLiteral() && symbolTable.isWrapped())
{
+ seiName = bEntry.getName();
+ }
+ else {
+ PortTypeEntry ptEntry =
symbolTable.getPortTypeEntry(
+ bEntry.getBinding().getPortType
().getQName());
+ seiName = ptEntry.getName();
+ }
bEntry.setDynamicVar(JavaBindingWriter.SEI_NAME, seiName);
+ }
+ }
+ }
+ } // determineSEINames
+
/**
* Messages, PortTypes, Bindings, and Services can share the same
name. If they do in this
* Definition, force their names to be suffixed with _PortType and
_Service, respectively.
*/
- private void resolveNameClashes(SymbolTable symbolTable) {
+ protected void resolveNameClashes(SymbolTable symbolTable) {
Iterator it = symbolTable.getHashMap().values().iterator();
while (it.hasNext()) {
Vector v = new Vector((Vector) it.next()); // New vector we
can temporarily add to it
@@ -541,7 +567,7 @@
* on WSDL2Java). Set all symbols as referenced (except nonSOAP
bindings
* which we don't know how to deal with).
*/
- private void setAllReferencesToTrue() {
+ protected void setAllReferencesToTrue() {
Iterator it = symbolTable.getHashMap().values().iterator();
while (it.hasNext()) {
Vector v = (Vector) it.next();
@@ -563,7 +589,7 @@
* If a binding's type is not TYPE_SOAP, then we don't use that
binding
* or that binding's portType.
*/
- private void ignoreNonSOAPBindings(SymbolTable symbolTable) {
+ protected void ignoreNonSOAPBindings(SymbolTable symbolTable) {
// Look at all uses of the portTypes. If none of the portType's
bindings are of type
// TYPE_SOAP, then turn off that portType's isReferenced flag.
@@ -614,7 +640,7 @@
}
} // ignoreNonSOAPBindings
- private void constructSignatures(SymbolTable symbolTable) {
+ protected void constructSignatures(SymbolTable symbolTable) {
Iterator it = symbolTable.getHashMap().values().iterator();
while (it.hasNext()) {
Vector v = (Vector) it.next();
@@ -702,7 +728,7 @@
* Find all inout/out parameters and add a flag to the Type of that
parameter saying a holder
* is needed.
*/
- private void determineIfHoldersNeeded(SymbolTable symbolTable) {
+ protected void determineIfHoldersNeeded(SymbolTable symbolTable) {
Iterator it = symbolTable.getHashMap().values().iterator();
while (it.hasNext()) {
Vector v = (Vector) it.next();
1.18 +1 -4
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaImplWriter.java
Index: JavaImplWriter.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaImplWriter.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- JavaImplWriter.java 9 May 2002 13:14:28 -0000 1.17
+++ JavaImplWriter.java 14 May 2002 18:59:24 -0000 1.18
@@ -119,10 +119,7 @@
PortType portType = binding.getPortType();
PortTypeEntry ptEntry =
symbolTable.getPortTypeEntry(portType.getQName());
- // If there is not literal use, the interface name is the
portType name.
- // Otherwise it is the binding name.
- String portTypeName = bEntry.hasLiteral() ?
- bEntry.getName() : ptEntry.getName();
+ String portTypeName = (String)
bEntry.getDynamicVar(JavaBindingWriter.SEI_NAME);
pw.print("public class " + className + " implements " +
portTypeName);
pw.println(" {");
1.8 +3 -6
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaInterfaceWriter.java
Index: JavaInterfaceWriter.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaInterfaceWriter.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JavaInterfaceWriter.java 9 May 2002 13:14:28 -0000 1.7
+++ JavaInterfaceWriter.java 14 May 2002 18:59:24 -0000 1.8
@@ -90,12 +90,9 @@
this.symbolTable = symbolTable;
this.bEntry = bEntry;
- // If there is literal use in this binding, then the interface
name is
- // derived from the binding name, not the portType name (the
default).
- if (bEntry.hasLiteral()) {
- super.className = Utils.getJavaLocalName(bEntry.getName());
- super.fileName = className + ".java";
- }
+ super.className = Utils.getJavaLocalName(
+ (String)
bEntry.getDynamicVar(JavaBindingWriter.SEI_NAME));
+ super.fileName = className + ".java";
} // ctor
/**
1.4 +1 -2
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaServiceIfaceWriter.java
Index: JavaServiceIfaceWriter.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaServiceIfaceWriter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JavaServiceIfaceWriter.java 9 May 2002 13:14:28 -0000 1.3
+++ JavaServiceIfaceWriter.java 14 May 2002 18:59:24 -0000 1.4
@@ -140,8 +140,7 @@
// If there is not literal use, the interface name is the
portType name.
// Otherwise it is the binding name.
- String bindingType = bEntry.hasLiteral() ?
- bEntry.getName() : ptEntry.getName();
+ String bindingType = (String)
bEntry.getDynamicVar(JavaBindingWriter.SEI_NAME);
// Write out the get<PortName> methods
pw.println(" public String get" + portName + "Address
();");
1.11 +1 -4
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaServiceImplWriter.java
Index: JavaServiceImplWriter.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaServiceImplWriter.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- JavaServiceImplWriter.java 9 May 2002 13:14:28 -0000 1.10
+++ JavaServiceImplWriter.java 14 May 2002 18:59:24 -0000 1.11
@@ -155,10 +155,7 @@
String portName = Utils.xmlNameToJavaClass(p.getName());
String stubClass = bEntry.getName() + "Stub";
- // If there is not literal use, the interface name is the
portType name.
- // Otherwise it is the binding name.
- String bindingType = bEntry.hasLiteral() ?
- bEntry.getName() : ptEntry.getName();
+ String bindingType = (String)
bEntry.getDynamicVar(JavaBindingWriter.SEI_NAME);
// getPort(Class) must return a stub for an interface.
Collect all
// the port interfaces so the getPort(Class) method can be
constructed.
1.24 +1 -4
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaSkelWriter.java
Index: JavaSkelWriter.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaSkelWriter.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- JavaSkelWriter.java 9 May 2002 13:14:28 -0000 1.23
+++ JavaSkelWriter.java 14 May 2002 18:59:24 -0000 1.24
@@ -111,10 +111,7 @@
PortTypeEntry ptEntry =
symbolTable.getPortTypeEntry(portType.getQName());
- // If there is not literal use, the interface name is the
portType name.
- // Otherwise it is the binding name.
- String portTypeName = bEntry.hasLiteral() ?
- bEntry.getName () : ptEntry.getName();
+ String portTypeName = (String)
bEntry.getDynamicVar(JavaBindingWriter.SEI_NAME);
boolean isRPC = true;
if (bEntry.getBindingStyle() == BindingEntry.STYLE_DOCUMENT) {
isRPC = false;
1.58 +2 -4
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java
Index: JavaStubWriter.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- JavaStubWriter.java 9 May 2002 13:14:28 -0000 1.57
+++ JavaStubWriter.java 14 May 2002 18:59:24 -0000 1.58
@@ -123,10 +123,8 @@
PortTypeEntry ptEntry =
symbolTable.getPortTypeEntry(portType.getQName());
- // If there is not literal use, the interface name is the
portType name.
- // Otherwise it is the binding name.
- String portTypeName = bEntry.hasLiteral() ?
- bEntry.getName() : ptEntry.getName();
+ String portTypeName =
+ (String)
bEntry.getDynamicVar(JavaBindingWriter.SEI_NAME);
boolean isRPC = true;
if (bEntry.getBindingStyle() == BindingEntry.STYLE_DOCUMENT) {
isRPC = false;
1.25 +1 -4
xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java
Index: JavaTestCaseWriter.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaTestCaseWriter.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- JavaTestCaseWriter.java 9 May 2002 13:14:28 -0000 1.24
+++ JavaTestCaseWriter.java 14 May 2002 18:59:24 -0000 1.25
@@ -179,10 +179,7 @@
String testMethodName = "test" + counter++ + portName +
javaOpName;
pw.println(" public void " + testMethodName + "() {");
- // If there is not literal use, the interface name is the
portType name.
- // Otherwise it is the binding name.
- String bindingType = bEntry.hasLiteral() ?
- bEntry.getName() : ptEntry.getName();
+ String bindingType = (String)
bEntry.getDynamicVar(JavaBindingWriter.SEI_NAME);
writeBindingAssignment(bindingType, portName);
pw.println(" try {");
1.5 +0 -2
xml-axis/java/test/wsdl/multibinding/VerifyFilesTestCase.java
Index: VerifyFilesTestCase.java
===================================================================
RCS file:
/home/cvs/xml-axis/java/test/wsdl/multibinding/VerifyFilesTestCase.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- VerifyFilesTestCase.java 18 Apr 2002 13:50:42 -0000 1.4
+++ VerifyFilesTestCase.java 14 May 2002 18:59:25 -0000 1.5
@@ -76,14 +76,12 @@
*/
protected Set shouldExist() {
HashSet set = new HashSet();
- set.add("BindingAllLit.java");
set.add("BindingAllLitImpl.java");
set.add("BindingAllLitSkeleton.java");
set.add("BindingAllLitStub.java");
set.add("BindingNoLitImpl.java");
set.add("BindingNoLitSkeleton.java");
set.add("BindingNoLitStub.java");
- set.add("BindingSomeLit.java");
set.add("BindingSomeLitImpl.java");
set.add("BindingSomeLitSkeleton.java");
set.add("BindingSomeLitStub.java");