Sounds good to me.
I can see the point that the "deserializer" must extend SOAPHandler, so
perhaps the Deserializer interface that we currently have is not
appropriate. But on the other hand I would like a little flexibility
here...and the fact that the "Deserializer Impl" is both a base class and
is not abstract (and is constructed) makes me a little queasy.
So perhaps something like the following is more appropriate.
class abstract Deserializer implements JAX-RPC Deserializer
...
class DeserializerBase extends Deserializer
this contains the stuff in DeserializerImpl
class BeanDeserializer extends DeserializerBase
I do think that organizing this stuff into interfaces and providing methods
and comments has made this section of the code easier to improve and
maintain. So perhaps moving from a Deserializer interface to a
Deserializer abstract class is appropriate.
Thanks,
Rich Scheuerle
XML & Web Services Development
512-838-5115 (IBM TL 678-5115)
Glen Daniels
<gdaniels@macrome To: "'[EMAIL PROTECTED]'"
<[EMAIL PROTECTED]>
dia.com> cc:
Subject: RE: cvs commit:
xml-axis/java/test/encoding DataDeser.java DataDe
05/24/2002 10:45 serFactory.java DataSerFactory.java
TestDOM.java TestDeser.java TestHref
PM s .java TestSer.java
Please respond to
axis-dev
Hey Rich:
Sorry about that. I'm rolling this change back, but I won't be around
Tuesday, as I'll be in Montreal until Wednesday evening. Will be reading
email very sporadically over the weekend, but probably not from Mon
afternoon to Wed.
My rationale for the change was explained in the message. I'd like to
understand what you're doing with it that couldn't be accomplished by
extending a Deserializer class. We can discuss it next week.
--Glen
-----Original Message-----
From: R J Scheuerle Jr [mailto:[EMAIL PROTECTED]]
Sent: Friday, May 24, 2002 7:47 PM
To: [EMAIL PROTECTED]
Subject: RE: cvs commit: xml-axis/java/test/encoding DataDeser.java DataDe
serFactory.java DataSerFactory.java TestDOM.java TestDeser.java TestHrefs
.java TestSer.java
Thanks for the heads up, Glen. Oops I guess you didn't give me a heads
up. We need this to be put back in immediately.
Letting me know after the fact is not an appropriate way to make a point.
Please take out your changes and we can discuss this on the Tuesday chat.
Or are conceeding that no else's opinion matters.
Thank you and have a good weekend.
Rich Scheuerle
XML & Web Services Development
512-838-5115 (IBM TL 678-5115)
Glen Daniels
<gdaniels@macromed To: "'[EMAIL PROTECTED]'"
ia.com> <[EMAIL PROTECTED]>
cc:
Subject: RE: cvs commit:
05/24/2002 01:24 xml-axis/java/test/encoding DataDeser.java DataDe
PM serFactory.java DataSerFactory.java TestDOM.java
Please respond to TestDeser.java TestHrefs .java TestSer.java
axis-dev
While I was working on this stuff, I noticed the
org.apache.axis.encoding.Deserializer interface had been introduced, I
assume as another point of extensibility(?), during Rich's revamp of the
encoding framework. I have removed this interface, and renamed the
DeserializerImpl class to Deserializer, as it was before. The reason for
this is as follows: before Rich's modification, Deserializer extended
SOAPHandler directly, so it was clear that all Deserializers WERE
in fact SOAPHandlers. Afterwards, there were a number of places where we
needed to do a manual cast of a Deserializer to a SOAPHandler deep in the
deserialization code. This worked, because every Deserializer
implementation we currently had extended SOAPHandler (b/c DeserializerImpl
did). However, there is no requirement that someone wouldn't try to
build another Deserializer implementation which didn't extend SOAPHandler,
and break the system. These kinds of cross-casts are really bad ideas.
The code is now less prone to breakage, and easier to understand.
Note that we DO still implement the JAX-RPC Deserializer interface, which
is the one that really needs to be an interface.
--Glen