Uploaded image for project: 'Talend Component Kit'
  1. Talend Component Kit
  2. TCOMP-246

TCOMP should provide a single point of component registration.

Apply templateInsert Lucidchart Diagram
    XMLWordPrintable

Details

    • New Feature
    • Resolution: Fixed
    • Major
    • 0.16.0
    • 0.16.0
    • None
    • None
    • All
    • 0.16.0
    • GreenHopper Ranking:
      0|i0w3gb:
    • 9223372036854775807
    • Small

    Description

      There are currently two types of "registered" definitions provided by the component framework: components and wizards.

      Each class of this type is annotated with aQute.bnd.annotation.component.Component and collected in one of the two catalogs, either using a Spring or OSGi mechanism to discover all of the annotated types available in the classpath.

      Today, a family that provides a jar with five components and two top-level wizards will have seven annotated classes of two types.

      In the near future, we expect there to be more types (datastore and dataset, and probably file formats + file systems with component properties).

      Instead of annotating these classes separately, each component family should have a single central point of registration that adds all of its available components, wizards, datastore, datasets (and future types).

      For example, for components-cassandra, we would expect there to be a class:

      @Component(name = "installer#cassandra", provide = ComponentInstaller.class)
      public class CassandraInstaller implements ComponentInstaller {
        public void install(TCompRegistry registry) {
          // much better to set instances of these definitions instead of their class in the registry...
          registry.addDatastoreDef(CassandraDatastoreDef.class);
          registry.addDatasetDef(CassandraDatasetDef.class);
          registry.addComponentDef(CassandraInputDef.class);
          registry.addComponentDef(CassandraOutputDef.class);
          // ... all definitions that cassandra provides
          // after installation, all of these definitions are available in their respective catalogs.
        }
      }
      

      Attachments

        Activity

          People

            pteyssier pierre teyssier
            rskraba Ryan Skraba
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: