In the future, we may add support for facets.
This may be implemented as assertion checks within the setter methods.
If an assertion fails, the setter would be expected to throw an exception
indicating an illegal argument.

So it is reasonable to insist that a bean be constructed with a default
constructor (which may set some properties to default values).
And then require properties to be accessed/modified one at a time.


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


                                                                                       
                                     
                      R J Scheuerle                                                    
                                     
                      Jr/Austin/IBM@IBM        To:       [EMAIL PROTECTED]       
                                     
                      US                       cc:       [EMAIL PROTECTED]       
                                     
                                               Subject:  Full Constructor Issue:  was 
Re: cvs commit:                       
                      02/22/2002 12:18          
xml-axis/java/test/wsdl/interop3/groupE/client                              
                      PM                        InteropTestDocLitServiceTestCase.java 
InteropTestRpcEncServiceTestCase.java 
                      Please respond to                                                
                                     
                      axis-dev                                                         
                                     
                                                                                       
                                     
                                                                                       
                                     



+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