Uploaded image for project: 'Woden'
  1. Woden
  2. WODEN-87

Need convenience methods in Interface API to flatten interface inheritence

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • M7
    • Parser
    • None

    Description

      We have a use case (from Axis2) for convenience methods on the org.apache.woden.wsdl20.Interface API for additional convenience methods that provide a flattened view on all interface child components - both those directly declared and any inherited ones. Existing methods like Interface.getInterfaceOperations and getInterfaceFaults return only the components declared directly within the Interface (this is correct per the description of those properties in the WSDL 2.0 spec). Currently the getExtendedInterfaces method must be used to 'drill down' to get inherited components. Cases like diamond inheritance must also be handled by the user to avoid duplicates. The proposed convenience methods make all this transparent to the user.

      The proposed new methods on Interface are:
      getAllInterfaceOperations
      getAllIntefaceFaults

      Some further consideration may be required about whether the existing behaviour of getInterfaceOperations and getInterfaceFaults if actually useful (ie. getting the declared components only). An alternative approach would be to add methods like getDeclaredInterfaceOperations and change the behaviou of getInterfaceOperations to return all operations - direclty declared and inherited.

      Attachments

        Activity

          People

            jkaputin John Alan William Kaputin
            jkaputin John Alan William Kaputin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: