Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "TigerstripeF2F 20080716"

(Annotation API on IModelComponents)
Line 22: Line 22:
 
==== Annotation API on IModelComponents ====
 
==== Annotation API on IModelComponents ====
 
We have agreed ti the following:
 
We have agreed ti the following:
# There will not be a 'set' API on IModelComponent, but instead there will be a 'helper' class
+
# There will not be a 'set' API on IModelComponent, but instead there will be a 'helper' class defined in Tigerstripe that performs the same tasks
 
# The 'get' API will remain but will befined on a new IAnnotationCapable interface  in a new package ...model.annotation in the workbench.core plug-in
 
# The 'get' API will remain but will befined on a new IAnnotationCapable interface  in a new package ...model.annotation in the workbench.core plug-in
 
# The 'get' API will assume the "tigerstripe" scheme, and so scheme will not be passed through the API
 
# The 'get' API will assume the "tigerstripe" scheme, and so scheme will not be passed through the API
 
# The following flavours of 'get' will be supported:
 
# The following flavours of 'get' will be supported:
* get...(String epackage, String eclass)
+
#* get...(String epackage, String eclass)
* get...(String annotationId) - right-most match of epackage+eclass against supplied string
+
#* get...(String annotationId) - right-most match of epackage+eclass against supplied string
* get...(AnnotationType type)
+
#* get...(AnnotationType type)
* <T> T get...(Class<T> annotationClass) - matches all derived annotations of type and of sub-type
+
#* <T> T get...(Class<T> annotationClass) - matches all derived annotations of type and of sub-type
 
+
# There will for each 'get' be a corresponding 'has' to return a boolean value
 
[[Category:Tigerstripe]]
 
[[Category:Tigerstripe]]

Revision as of 14:58, 16 July 2008

< To: Tigerstripe Face2Face Meetings

Agenda was defined based on the proposed candidate topics below. Ts-f2f-0708 agenda.jpg

Candidate Topics

Versioning/distribution of generators on website

Bugzilla review

XMI Import/export vs. UML import/export

Componentized model issues

  • Annotations in Tigerstripe generators: There was an issue where the generators were unable to access the annotation definitions due to the Eclipse class loading mechanism. A solution has been implemented where a developer may add annotation references in the TS-PLUGIN.xml file. This will ensure that the required annotation classes are available at compile time and runtime. This is implemented, but will need to verified in production.
  • Annotations in Facets: Enhancement to do inclusions and exclusions based on annotations is currently in progress. Functionality has been tested with JUnit, but not included in UI at this point. Facet xml file stores inclusion or exclusion patterns using annotation id (pkg + name of EMF class). An audit will be required.
  • Abstract Associations: Abstract Associations and abstract Associations Classes are not being walked through during facet resolution. If a concrete subclass is defined in a facet the abstract parent was also included if it is present in the same project. Now that we support generations requiring multiple components we don't necessarily see abstract parent (if contained in other component). This issue has been resolved and the generation will now walk associations between components.
  • Facet Meta-Data: Dynamic meta-data defined in facets to be accessible from generators (name value pairs). Generator would expect entries from facets and process accordingly (name + group of strings for first implementation).

There will be an integration build at the end of this week.

IPackageArtifact adapters (Bug 240246)

Package representation in class diagrams (GMF re-gen)

Status of UI Testing and inclusion in automated builds

Annotation API on IModelComponents

We have agreed ti the following:

  1. There will not be a 'set' API on IModelComponent, but instead there will be a 'helper' class defined in Tigerstripe that performs the same tasks
  2. The 'get' API will remain but will befined on a new IAnnotationCapable interface in a new package ...model.annotation in the workbench.core plug-in
  3. The 'get' API will assume the "tigerstripe" scheme, and so scheme will not be passed through the API
  4. The following flavours of 'get' will be supported:
    • get...(String epackage, String eclass)
    • get...(String annotationId) - right-most match of epackage+eclass against supplied string
    • get...(AnnotationType type)
    • <T> T get...(Class<T> annotationClass) - matches all derived annotations of type and of sub-type
  5. There will for each 'get' be a corresponding 'has' to return a boolean value

Back to the top