Carrot2

Refactoring and simplification of descriptors and metadata infrastructure.

Details

Description

DESIGN-related:

  • What should we do with fields that are not attributes, but are @Bindable (ex.: STCClusteringAlgorithmParameters)? Should they be inlined in the parent builder somehow?
  • I believe static descriptors should be immutable and should be created only once. What to do with current dynamic views (orderings, predicates).

TODOs:

  • Provide support for code-level attribute ID references (no need for AttributeUtils.getKey).
  • Provide support for code-level metadata access, including content of JavaDoc documentation (done for @Bindable, pending for @Attributes).
  • Remove *Metadata classes.
  • Remove generation of external XMLs from descriptors (the webapp can use a simple-xml decorator to extract these from the code).
  • Make sure the generated attribute builder classes appear in the JavaDocs

Issue Links

Activity

Hide
Stanisław Osiński added a comment -

+1 for removing the distinction between *Descriptor and *Metadata.

Show
Stanisław Osiński added a comment - +1 for removing the distinction between *Descriptor and *Metadata.
Hide
Dawid Weiss added a comment -

Implemented partially. Descriptor classes are generated and used, but the old infrastructure remained in the code. Will file additional tasks for refactorings.

Show
Dawid Weiss added a comment - Implemented partially. Descriptor classes are generated and used, but the old infrastructure remained in the code. Will file additional tasks for refactorings.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: