+1 to getting rid of the full constructor.

Now that attributes are involved, you've convinced me that we should not
have that constructor.  Also, if we start dealing with default values the
constructor becomes even worse:  a constructor parameter MUST have a value,
even if it's null; what does null mean wrt default values?  Is it nulling
out the field (if it's nillable)?  or does it mean use the default?

Russell Butek
[EMAIL PROTECTED]


R J Scheuerle Jr/Austin/IBM@IBMUS on 02/22/2002 12:18:56 PM

Please respond to [EMAIL PROTECTED]

To:   [EMAIL PROTECTED]
cc:   [EMAIL PROTECTED]
Subject:  Full Constructor Issue:  was Re: cvs commit:
      xml-axis/java/test/wsdl/interop3/groupE/client
      InteropTestDocLitServiceTestCase.java
      InteropTestRpcEncServiceTestCase.java



+1 to getting rid of the full constructor in the generated bean classes.

Now that Tom and Glen have added attribute support, the attribute
parameters also appear in the full constructor list.

This is a bad idea since attributes are supposed to be order independent.

Since it is not a dependable API, it should be eliminated.

The testcases depend on the full constructor, so getting rid of the full
constructors will require a number of changes.
I am willing to make the change if I get some more +1's.

Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115)



                      Russell
                      Butek/Austin/IBM@        To:
[EMAIL PROTECTED]
                      IBMUS                    cc:
                                               Subject:  Re: cvs commit:
xml-axis/java/test/wsdl/interop3/groupE/client
                      02/22/2002 07:37
InteropTestDocLitServiceTestCase.java InteropTestRpcEncServiceTestCase.java
                      AM
                      Please respond to
                      axis-dev





This issue only arises when you write code to a given binding, and then
pass the WSDL for that binding AND YOUR CODE somewhere else.  If that
somewhere-else were going to write their own code based on their own
bindings, there'd be no problem (I think).

I suspect we see this problem when we cross JVM lines.  Somewhere, the
parameters are put into a Hashtable or HashMap or something of that nature.
I wonder whether IBM's JVM and Sun's use different algorithms for their
Hashtable implementations.  Doing things in the same JVM always produces
the same order, so the constructor is usable and useful if you stay in one
JVM.  I guess you're asking whether we should depend on that?

OK, what do folks think?  The constructor that takes all the elements is
useful, but could go astray.  Do we leave it there for its usefulness or do
we remove it to avoid problems like Glyn's?

My vote?  +1 to leave the constructor as is.  (I COULD add a warning
comment to that constructor when the WSDL has an <all> collection.)

Russell Butek
[EMAIL PROTECTED]


Glyn Normington/UK/IBM@IBMGB on 02/22/2002 07:06:43 AM

Please respond to [EMAIL PROTECTED]

To:   [EMAIL PROTECTED]
cc:
Subject:  Re: cvs commit: xml-axis/java/test/wsdl/interop3/groupE/client
      InteropTestDocLitServiceTestCase.java
      InteropTestRpcEncServiceTestCase.java



Russell,

Thanks for fixing those tests. What's the use of WSDL2Java generating those
constructors if their signatures can't be relied upon not to change?

Glyn








Reply via email to