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");