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

Component model API needs modifiers

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: M10
    • Component/s: Parser
    • Labels:

      Description

      A Woden 'client' - eg a tool such as java2wsdl - might want to:

      1 introspect a tree of java classes / interfaces
      2 create an org.apache.woden.wsdl20.Interface for each - adding to the Description object along the way
      3 serialize to disk.

      Today it is only possible to modify the object form of the WSDL through the Element model API. This requires the client app to understand WSDL at the file level.

      For step 2 addInterface() is required on Description. Of course Interface.addInterfaceOperation() is then required and so on...
      For step 3 a 'strategy' is needed to map from the Component model to the Element model's representation of the WSDL in file form. e.g. do all the <interface> elements go in the same WSDL file or do all the <interface> elements in the same namespace go in one file etc. Also, do the <service> elements go in separately included/imported WSDL files as is typically the best practice with WSDL 1.1. All these options could be represented using a strategy pattern.

        Attachments

        1. WodenProposal_Dilshan.pdf
          36 kB
          Dilshan Edirisuriya
        2. woden-commons.patch
          27 kB
          Dilshan Edirisuriya
        3. woden-api.patch
          33 kB
          Dilshan Edirisuriya
        4. EditablePackage.patch
          12 kB
          Dilshan Edirisuriya

          Activity

            People

            • Assignee:
              dilshan Dilshan Edirisuriya
              Reporter:
              hughesj Jeremy Hughes
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: