Skip to main content
Jump to: navigation, search

Difference between revisions of "New Help for Old Friends IX"

(IdTypeMapping refactor)
Line 16: Line 16:
== [[Dali]] ==
== [[Dali]] ==
=== Common Utility (Provisional API) ===
* renamed <code>.command.ParameterizedCommand</code> to <code>.closure.Closure</code>
* renamed <code>.command.InterruptibleParameterizedCommand</code> to <code>.closure.InterruptibleClosure</code>
* moved <code>ExceptionHandler</code> and <code>MultiThreadExceptionHandler</code> to <code>exception</code> package
=== Common UI (Provisional API) ===
=== Common UI (Provisional API) ===

Latest revision as of 14:49, 26 August 2013


This page collects notes and pointers to changes coming up in the WTP 3.6 (Luna) release.

This page acts as a central "jumping off" point for those adopters of WTP that are moving up from a previous version of WTP. Most of this information may be already contained in various mailing lists and Bugzilla reports, but it is believed best to have a central place to get people started. Adopters: if you run into trouble or notice things that are not covered here, please update this page and/or let us know (such as by opening a bug, or sending a note to wtp-dev). Web Tools is a Platform and we strive to provide compatible API evolution with clear migration paths, instructions, etc.

One thing we have learned in the past is that some adopters do not move with us to every new release. Some early adopters went from 0.7 directly to 1.5, for example. Unfortunately, it is difficult to present the information in that way, covering multiple changes across multiple version ranges, so those types of migrations have to read about migrating to each version.

Note: as these notes develop and grow in number, they may occasionally be re-organized into categories, etc.


Common Utility (Provisional API)

  • renamed .command.ParameterizedCommand to .closure.Closure
  • renamed .command.InterruptibleParameterizedCommand to .closure.InterruptibleClosure
  • moved ExceptionHandler and MultiThreadExceptionHandler to exception package

Common UI (Provisional API)

  • reworked item provider interfaces:
    • new interface ItemContentProvider
    • ItemTreeContentProvider
      • now extends ItemContentProvider
      • Manager now extends ItemContentProvider.Manager
        • method updateChildren(Object) changed to childrenChanged(Object, Iterable, Iterable)
      • Factory now extends ItemStructuredContentProvider.Factory
        • method buildProvider(Object, Manager) changed to buildProvider(Object, Object, Manager)
    • ItemStructuredContentProvider
      • now extends ItemContentProvider
      • Manager now extends ItemContentProvider.Manager
        • method updateElements(Object) changed to elementsChanged(Object, Iterable, Iterable)
    • ItemLabelProvider
      • added isLabelProperty(String)
      • Manager
        • method updateLabel(Object) changed to labelChanged(Object)
        • new method getViewer()
    • ItemExtendedLabelProvider
      • Manager
        • method updateDescription(Object) changed to descriptionChanged(Object)

JPA Core (Provisional API)

  • Renamed JpaContextModelRoot to JpaContextRoot and related changes:
    • renamed JpaContextModelRoot2_0 to JpaContextRoot2_0
    • JpaFactory
      • renamed buildContextModelRoot(JpaProject) to buildContextRoot(JpaProject)
    • JpaProject
      • renamed getContextModelRoot() to getContextRoot()
      • renamed ContextModelRootTransformer to ContextRootTransformer
  • Refactored JpaStructureNode
    • renamed getType() to getStructureType() and declared explicit return values
    • renamed getChildren() to getStructureChildren()
    • renamed getChildrenSize() to getStructureChildrenSize()
    • JpaDetailsProvider
      • renamed getType() to getStructureType()
  • Refactored JpaNamedContextModel
    • pushed getType() down to sub-interfaces and declared explicit return types
      • added Generator.getGeneratorType()
      • added Query.getQueryType()
      • added EclipseLinkConverter.getConverterType()
    • pushed isEquivalentTo(JpaNamedContextModel) down to sub-interfaces
      • added Generator.isEquivalentTo(Generator)
      • added Query.isEquivalentTo(Query)
      • added EclipseLinkConverter.isEquivalentTo(EclipseLinkConverter)
  • Renamed Converter.getType() to getConverterType() and declared explicit return values
  • Renamed various intermediate Generator interfaces
    • renamed DbGeneratorAnnotation to DatabaseGeneratorAnnotation
    • renamed DbGenerator to DatabaseGenerator
    • renamed JavaDbGenerator to JavaDatabaseGenerator
  • Refactored managed type classes
    • ManagedType
      • renamed getType() to getManagedTypeType()
    • XmlManagedType
      • renamed getType() to getManagedTypeType()
    • JavaManagedTypeDefinition
      • renamed getType() to getManagedTypeType()
    • OrmManagedTypeDefinition
      • renamed getContextType() to getContextManagedTypeType()
      • renamed getResourceType() to getResourceManagedTypeType()
    • JavaManagedTypeUiDefinition
      • renamed getType() to getManagedTypeType()
  • XmlPersistenceUnit
    • added method sortClasses()
  • Reworked the API for converting mapping relationship settings so it is more clear what types of objects are converted to and from. Specifically:
    • Only ORM specified mapping relationship settings are copied over, when an an ORM attribute mapping is converted to another mapping (In Java, the annotations are simply left in place and rediscovered when the new mapping annotation is added to the source file.):
      • SpecifiedAssociationOverride
        • removed method initializeFrom(AssociationOverride)
        • removed method initializeFromVirtual(AssociationOverride)
      • SpecifiedAttributeOverride
        • removed method initializeFrom(AttributeOverride)
        • removed method initializeFromVirtual(AttributeOverride)
      • OrmSpecifiedAttributeOverride
        • added method initializeFrom(OrmSpecifiedAttributeOverride)
      • Relationship
        • removed method initializeOn(SpecifiedRelationship)
      • OrmMappingRelationship
        • added method initializeFrom(OrmMappingRelationship)
        • added method initializeOn(OrmMappingRelationship)
        • added method initializeFromJoinColumnRelationship(OrmJoinColumnRelationship)
        • added method initializeFromJoinTableRelationship(OrmJoinTableRelationship)
        • added method initializeFromMappedByRelationship(OrmMappedByRelationship)
        • added method initializeFromPrimaryKeyJoinColumnRelationship(OrmPrimaryKeyJoinColumnRelationship)
      • OverrideRelationship
        • removed method initializeOnSpecified(SpecifiedOverrideRelationship)
      • OrmMappedByRelationship
        • added method getMappedByStrategy()
      • SpecifiedJoinColumnRelationshipStrategy
        • removed method initializeFrom(JoinColumnRelationshipStrategy)
      • OrmSpecifiedJoinColumnRelationshipStrategy
        • added method initializeFrom(OrmSpecifiedJoinColumnRelationshipStrategy)
      • SpecifiedJoinTableRelationshipStrategy
        • removed method initializeFrom(JoinTableRelationshipStrategy)
      • OrmSpecifiedJoinTableRelationshipStrategy
        • added method initializeFrom(OrmSpecifiedJoinTableRelationshipStrategy)
      • SpecifiedMappedByRelationshipStrategy
        • removed method initializeFrom(SpecifiedMappedByRelationshipStrategy)
      • OrmSpecifiedMappedByRelationshipStrategy
        • added method initializeFrom(OrmSpecifiedMappedByRelationshipStrategy)
      • OrmSpecifiedPrimaryKeyJoinColumnRelationshipStrategy
        • added method initializeFrom(OrmSpecifiedPrimaryKeyJoinColumnRelationshipStrategy)
      • SpecifiedJoinTable
        • removed method initializeFrom(JoinTable)
      • OrmSpecifiedJoinTable
        • added method initializeFrom(OrmSpecifiedJoinTable)
      • OrmSpecifiedColumn
        • added method initializeFrom(OrmSpecifiedColumn)
      • SpecifiedJoinColumn
        • removed method initializeFrom(JoinColumn)
      • OrmSpecifiedJoinColumn
        • added method initializeFrom(OrmSpecifiedJoinColumn)
      • OrmSpecifiedPrimaryKeyJoinColumn
        • removed method initializeFrom(PrimaryKeyJoinColumn)
        • added method initializeFrom(OrmSpecifiedPrimaryKeyJoinColumn)
      • OrmSpecifiedSecondaryTable
        • removed method initializeFrom(SecondaryTable)
      • OrmCollectionTable2_0
        • removed method initializeFrom(CollectionTable2_0)
        • added method initializeFrom(OrmCollectionTable2_0)
    • Virtual Java override relationship settings are copied only to a specified Java overrides (likewise with ORM settings):
      • JavaSpecifiedAssociationOverride
        • added method initializeFrom(JavaVirtualAssociationOverride)
      • JavaSpecifiedAttributeOverride
        • added method initializeFrom(JavaVirtualAttributeOverride)
      • OrmSpecifiedAssociationOverride
        • added method initializeFrom(OrmVirtualAssociationOverride)
      • OrmSpecifiedAttributeOverride
        • added method initializeFrom(OrmVirtualAttributeOverride)
      • SpecifiedOverrideRelationship
        • renamed method initializeFromVirtual(OverrideRelationship) to initializeFrom(VirtualOverrideRelationship)
        • removed method initializeFromVirtualJoinColumnRelationship(JoinColumnRelationship)
        • removed method initializeFromVirtualJoinTableRelationship(JoinTableRelationship)
      • SpecifiedJoinColumnRelationshipStrategy
        • renamed method initializeFromVirtual(JoinColumnRelationshipStrategy) to initializeFrom(VirtualJoinColumnRelationshipStrategy)
      • SpecifiedJoinTableRelationshipStrategy
        • renamed method initializeFromVirtual(JoinTableRelationshipStrategy) to initializeFrom(VirtualJoinTableRelationshipStrategy)
      • SpecifiedJoinTable
        • renamed method initializeFromVirtual(JoinTable) to initializeFrom(VirtualJoinTable)
      • SpecifiedColumn
        • added method initializeFrom(VirtualColumn)
      • SpecifiedJoinColumn
        • renamed method initializeFromVirtual(JoinColumn) to initializeFrom(VirtualJoinColumn)
      • OrmSpecifiedSecondaryTable
        • added method initializeFrom(OrmVirtualSecondaryTable)
      • OrmSpecifiedPrimaryKeyJoinColumn
        • added method initializeFrom(OrmVirtualPrimaryKeyJoinColumn)
  • Refactored the API surrounding ordering:
    • XmlOrderable
      • changed get/setOrderBy(..) from String to XmlOrderBy (and added XmlOrderBy)
    • Orderable
      • removed custom ordering as an option. Custom ordering is now represented as a specified key on OrderBy, which is (primary key) by default.
      • changed set<Foo>Ordering(boolean) to set<Foo>Ordering() (no boolean). There is no way to "unset" ordering other than setting "no" ordering.
  • Refactored Entities/MappedSuperclasses to have common IdTypMapping functionality
    • XML resource model
      • Added XmlIdTypeMapping
    • Context model
      • BaseEmbeddedMapping
        • added getTargetEmbeddableName()
      • IdClassReference
        • added ID_CLASS_NAME_PROPERTY and property change notification for id class name
      • IdTypeMapping
        • added getPrimaryKeyClassName()
        • moved from TypeMapping:
          • Iterable<IdTypeMapping> getInheritanceHierarchy() (and changed return type)
          • isRootEntity()
          • getRootEntity()
          • getInheritanceStrategy()
      • PersistenceUnit
        • added getIdTypeMapping(String)
      • PersistentType
        • removed SUPER_PERSISTENT_TYPE_PROPERTY and property change notification for super persistent type (now delegates to type mapping)
        • removed getIdClass() (instead use IdTypeMapping#getIdClassReference()#getIdClass()
        • added SUPER_TYPE_MAPPING_PROPERTY and super type mapping property change notification
        • added Iterable<IdTypeMapping> getAncestors()
        • moved to IdTypeMapping:
          • getRootEntity(), isRootEntity(), getInheritanceStrategy()
        • added: getIdAttributeMapping()

JAXB Core (Provisional API)

  • JaxbProjectManager
    • added method getJaxbWorkspace()

JAXB UI (Provisional API)

  • New interfaces
    • JaxbProjectsModel
    • JaxbProjectModel


This document covers ONLY changes between WTP 3.6 and WTP 3.5. See also:

Back to the top