Felix
  1. Felix
  2. FELIX-3749

Refactor the manipulator for better (and extensible) annotation support

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: ipojo-manipulator-1.10.0
    • Component/s: iPOJO
    • Labels:
      None

      Description

      The manipulator should be extensible for its annotation support.

      Currently, only a fixed set of annotations is supported (hardcoded), and the only way to declares annotation for the manipulator is to follow some naming conventions ("handler" or "ipojo" in the package's name for example).

      I want to be able to say to the manipulator that I want a given behavior to be associated to a particular annotation.
      I also want to easily add to the manipulator external annotation supporting "modules".

      1. FELIX-3749.patch
        309 kB
        Guillaume Sauthier

        Issue Links

          Activity

          Hide
          Guillaume Sauthier added a comment -
          Show
          Guillaume Sauthier added a comment - See https://github.com/sauthieg/felix/commits/manipulator-spi for the initial contribution
          Hide
          Guillaume Sauthier added a comment -

          That issue could be solved by adding a new Module that binds the new annotation to the ComponentVisitor.

          Show
          Guillaume Sauthier added a comment - That issue could be solved by adding a new Module that binds the new annotation to the ComponentVisitor.
          Hide
          Clement Escoffier added a comment -

          Patch applied on trunk.

          Show
          Clement Escoffier added a comment - Patch applied on trunk.
          Hide
          Simon Chemouil added a comment -

          This seems great, thanks Guillaume!
          How does the new spi mechanism deal with old annotation handlers (that contain either ipojo or handler in their package)?

          Do you plan on updating the website with some documentation on how to define custom handlers? That would be very welcome!

          Thanks again!

          Show
          Simon Chemouil added a comment - This seems great, thanks Guillaume! How does the new spi mechanism deal with old annotation handlers (that contain either ipojo or handler in their package)? Do you plan on updating the website with some documentation on how to define custom handlers? That would be very welcome! Thanks again!
          Hide
          Guillaume Sauthier added a comment -

          Documentation has been updated: http://felix.apache.org/site/dive-into-the-ipojo-manipulation-depths.html

          Old annotation handler behavior is still working

          Show
          Guillaume Sauthier added a comment - Documentation has been updated: http://felix.apache.org/site/dive-into-the-ipojo-manipulation-depths.html Old annotation handler behavior is still working
          Hide
          Guillaume Sauthier added a comment -

          Patch applied, doc updated

          Show
          Guillaume Sauthier added a comment - Patch applied, doc updated

            People

            • Assignee:
              Clement Escoffier
              Reporter:
              Guillaume Sauthier
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development