Skip to content
Snippets Groups Projects
  1. Sep 01, 2014
    • Simon Barner's avatar
      DerivedAnnotationBase -> IDerivedAnnotation<T> · fe4c4952
      Simon Barner authored
       - Change return type of getValue() to T
       - This allows for more type safe implementation of the underlying calculations
       - The former abstract base class DerivedAnnotationBase used Object as a return type for getValue() to due an EMF code generation bug for generics if the base class is located in a different .ecore file than the concrete class. For interfaces, this bug is not triggered.
        
      refs 1841
      fe4c4952
  2. Aug 29, 2014
  3. Aug 28, 2014
  4. Aug 27, 2014
    • Simon Barner's avatar
      Add support for IAnnotatedSpecifications for which multiple instances can exist: · 90c20e8f
      Simon Barner authored
      - Extend IAnnotationValueProvider with getter/setter methods to access individual instances of a multi-instance IAnnotatedSpecification
      
      - The storage of the instances is based on an EMap<String, V> in the corresponding IAnnotatedSpecification.
      
      - See MultiInstanceAnnotationValueProviderBase for documentation how to create the corresponding meta-model for the annotation types, and of course use it as a basis for specific multi-instance value providers.
      
      - Merge SingleAttributeValueProviderBase and SingleEDataValueProviderBase to SingleEStructuralFeatureValueProviderBase, and generalize it to work on EStructuralFeatures. This is required to support both EAttributes and "contained" EReferences as annotation storage in the meta-model.
      
      - With the above change, cleanup and extend the instantiation of annotation attributes / contained references to EClasses.
      
      - Extend the GenericAnnotationView to enable instantiation of multi-instance annoations.
      refs 1841
      90c20e8f
  5. Aug 26, 2014
    • Simon Barner's avatar
      Finalize annotation framework overhaul · 3c4ff7cd
      Simon Barner authored
      - IAnnotationValueProvider
        - allowsMultipleValues() -> allowsMultipleAnnotationInstances()
        - createEditingSupport()
           - Remove unused parameter
           - Method is unconditionally used to construct the editing support. Defaults
             are set in base classes implementing IAnnotationValueProvider.
        - remove getFixedValues(): SingleEnumAttributeValueProviderBase() creates the required ComboBoxEditingSupport
        
      - IAnnotationValueProvider base classes:
        - ValueProviderBase: Empty implementation of interface
        - SingleAttributeValueProviderBase: IAnnotationValueProvider manages a single attribute of a given specification class. Probably nearly all static annotations will be based on this.
        - SingleEDataTypeAttributeValueProvider: primitive data types (e.g., int, double), and potentially many other data types managed by EMF
        - SingleEnumAttributeValueProvider: Provides ComboBoxEditingSupport based on enum declaration in Ecore meta-model.
      
      - Further fixes:
        - Make combo box in ComboBoxEditionSupport non-editable
        - Prevent NPE in TextEditingSupport.getValue()
        
      - Use new base classes in test annotation classes
      refs 1841
      3c4ff7cd
    • Simon Barner's avatar
      - Revise and document IAnnotationValueProvider API and add some TODOs for further refinement · eefb44b4
      Simon Barner authored
      - Provide generic abstract base classes:
        - ValueProviderBase -> for generic annotated specifications
        - SinglePrimitiveAttributeValueProviderBase, for annotated specifications whose storage is implemented by a single primitive attribute (Double, Integer, String, etc.)
      eefb44b4
  6. Aug 25, 2014
    • Simon Barner's avatar
      - Introduce sub packages for annotation framework (see... · 5e8b053e
      Simon Barner authored
      - Introduce sub packages for annotation framework (see org.fortiss.tooling.base.ui.annotation -> package.html for documentation)
      - Standardize class names
      5e8b053e
    • Simon Barner's avatar
      - IAnnotationValueProvider · b0f2d575
      Simon Barner authored
       - add setAnnotationValue(String value, T specification) in addition to setAnnotationValue(V value, T specification) variant
       - This enables to use the String-based AnnotationEditingSupportStandard for non-String annotations.
       - Concrete AnnotationValueProviders must implement this method and convert the String representation of the input to the storage format provided by the respective annotation class (e.g., for Double, just by using the Double(String) constructor)
       - The current implementation  has been tested with String, Double, enum and multiple value String annotations
      
      - TODO:
        - Cleanup of IAnnotationValueProvider
        - Base class hierarchy for common concrete annotation value providers
        - multiple value annotation support in GenericAnnotationView
      b0f2d575
    • Simon Barner's avatar
  7. Aug 20, 2014
  8. Aug 07, 2014
  9. Aug 06, 2014
  10. Aug 05, 2014
Loading