You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by Apache Wiki <wi...@apache.org> on 2007/11/26 16:55:23 UTC

[Ws Wiki] Update of "FrontPage/Woden/APIReview/OverridingEquals" by JohnKaputin

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Ws Wiki" for change notification.

The following page has been changed by JohnKaputin:
http://wiki.apache.org/ws/FrontPage/Woden/APIReview/OverridingEquals

The comment on the change is:
Added equals() issue to API Review

New page:
== Overriding equals(Object) for logical equivalence ==

We need to implement logical equivalence checking of WSDL components to support the spec, Part 1, Section 2.15 Equivalence of Components
http://www.w3.org/TR/2007/REC-wsdl20-20070626/#compequiv

We would like to do this by overriding the {{{java.lang.Object.equals(Object)}}} method so that the Woden implementation can reuse the Java collection classes - for example, {{{List.contains(Object)}}}. We should also document on the Woden API what {{{equals(Object)}}} means in Woden.

The problem is that the Woden WSDL object model represents both the WSDL Component model and the WSDL infoset. It's possible that two equivalent Components could be derived from different WSDL infosets, which raises a question about what the {{{equals(Object)}}} implementation should do. Check for component equivalence only and ignore infoset equivalence?   Collapsing the Component and Element APIs into a single WSDL API will not eliminate this question - we still have decide the behaviour of the {{{equals(Object)}}} implementation.

Woden currently has a temporary, partial equivalence checking solution via the Component API method {{{equals(WSDLComponent)}}} declared on {{{org.apache.woden.wsdl20.WSDLComponent}}}. The default implementation of the {{{equals(WSDLComponent)}}} method is the object reference checking inherited from {{{java.lang.Object.equals(Object)}}}. Only {{{InterfaceImpl}}} overrides this behaviour, with partial support for {{{Interface}}} component equivalence (it does not yet compare the faults and operations of the two Interfaces). This is adequate for the existing test suite, but it is not a complete solution.

A discussion with proposals is underway on the woden-dev list (started 21 Nov 2007). See the subject "Re: Woden API Review wiki page" in the mailing list archives (click 'Thread' to see the full thread):

http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200711.mbox/%3cadbf02b10711210913v88986ak97b99a8f8ecefe4b@mail.gmail.com%3e

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@ws.apache.org
For additional commands, e-mail: general-help@ws.apache.org