Woden
  1. Woden
  2. WODEN-173

Correct the WSDL object model implementation inheritance

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: M8
    • Component/s: None
    • Labels:
      None

      Description

      The class implementation inheritance hierarchy used in the org.apache.woden.internal.wsdl20 package contains an error which means that classes representing WSDL elements that are not present in the WSDL component model (types, import and include) end up inheriting the method implementations for the WSDLComponent interface.

      The cause of this problem is that WSDLObjectImpl, which implements WSDLComponent interface, extends DocumentableImpl and all WSDL objects except DocumentationImpl extend WSDLObjectImpl. While it is correct that all these WSDL objects are documentable (i.e. their WSDL elements may contain the <documentation> child element), they are not all represented in the component model (i.e. types, import and include are infoset only).

      The solution is to switch around DocumentableImpl and WSDLObjectImpl in the inheritance hierarchy, so that WSDLObjectImpl extends DocumentableImpl. The types, import and include impl classes should continue to inherit from DocumentableImpl, but the other (component model) impl classes should be changed to inherit from WSDLObjectImpl instead.

      To maintain naming consistency with the other impl classes, the WSDLObjectImpl class should be renamed to WSDLComponentImpl.

        Activity

        Hide
        John Kaputin added a comment -

        r561874 - fixed the inheritance hierarchy
        r561879 - renamed WSDLObjectImpl to WSDLComponentImpl

        Show
        John Kaputin added a comment - r561874 - fixed the inheritance hierarchy r561879 - renamed WSDLObjectImpl to WSDLComponentImpl

          People

          • Assignee:
            John Kaputin
            Reporter:
            John Kaputin
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development