Jump to: navigation, search

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

(JPA UI (Provisional API))
m (JPA Core (Provisional API))
 
(48 intermediate revisions by 5 users not shown)
Line 23: Line 23:
 
=== General ===
 
=== General ===
 
* All the <code>BundleActivator</code> implementations (i.e. "plug-in" classes; e.g. <code>JptJpaCorePlugin</code>) were moved from public packages to private packages and all public members moved to the appropriate public interfaces etc.
 
* All the <code>BundleActivator</code> implementations (i.e. "plug-in" classes; e.g. <code>JptJpaCorePlugin</code>) were moved from public packages to private packages and all public members moved to the appropriate public interfaces etc.
 +
 +
* Various convenience <code>Transformer</code>s have been added to many public interfaces.
  
 
=== Common Utility (Provisional API) ===
 
=== Common Utility (Provisional API) ===
Line 43: Line 45:
 
** <code>ModifiableObjectReference</code>
 
** <code>ModifiableObjectReference</code>
 
** <code>BooleanReference</code>
 
** <code>BooleanReference</code>
** <code>Filter</code>
 
 
** <code>IndentingPrintWriter</code>
 
** <code>IndentingPrintWriter</code>
 
** <code>Synchronizer</code> (moved to JAXB core plug-in)
 
** <code>Synchronizer</code> (moved to JAXB core plug-in)
Line 50: Line 51:
 
* removed all "tree"-related events and listeners
 
* removed all "tree"-related events and listeners
  
* <code>Transformer</code>
+
* removed the <code>Filter</code> interface and converted all <code>Filter</code>s to <code>Predicate</code>s
** changed <code>Null</code> to always returns <code>null</code>
+
 
** added <code>Non</code>, an implementation that always returns the object, untransformed (this is what <code>Null</code> used to do)
+
* renamed <code>MultiThreadedExceptionHandler</code> to <code>MultiThreadExceptionHandler</code>
 +
 
 +
* renamed various <code>CommandExecutor</code> classes:
 +
<code>
 +
{|  border="1" cellpadding="5" cellspacing="0"
 +
|-
 +
! Old
 +
! New
 +
|-
 +
| CommandExecutor
 +
| CommandContext
 +
|-
 +
| ExtendedCommandExecutor
 +
| ExtendedCommandContext
 +
|-
 +
| InterruptibleCommandExecutor
 +
| InterruptibleCommandContext
 +
|-
 +
| StatefulCommandExecutor
 +
| StatefulCommandContext
 +
|-
 +
| StatefulExtendedCommandExecutor
 +
| StatefulExtendedCommandContext
 +
|}
 +
</code>
  
 
=== Common Core (Provisional API) ===
 
=== Common Core (Provisional API) ===
Line 84: Line 109:
 
| JAR_SOURCE_RESOURCE_TYPE
 
| JAR_SOURCE_RESOURCE_TYPE
 
| JavaResourcePackageFragmentRoot.JAR_RESOURCE_TYPE
 
| JavaResourcePackageFragmentRoot.JAR_RESOURCE_TYPE
 +
|-
 +
|
 +
| JavaResourceClassFile.CONTENT_TYPE
 +
|-
 +
|
 +
| JavaResourceClassFile.CONTENT_TYPE_ID
 
|-
 
|-
 
| getLibraryValidators(...)
 
| getLibraryValidators(...)
Line 163: Line 194:
 
** changed signature of method <code>executionQuiesced(JobCommand, IProgressMonitor) : IStatus</code> to <code>executionQuiesced(JobCommand) : void</code> - all listeners are notified; there is no way to cancel this notification
 
** changed signature of method <code>executionQuiesced(JobCommand, IProgressMonitor) : IStatus</code> to <code>executionQuiesced(JobCommand) : void</code> - all listeners are notified; there is no way to cancel this notification
  
* <code>JptXmlResource</code> - moved/renamed from *.jpa.core.JpaXmlResource
+
* <code>*.common.core.resource.xml.JptXmlResource</code> - moved/renamed from *.jpa.core.JpaXmlResource
 +
 
 +
* <code>ResourceLocator</code> renamed methods:
 +
** <code>resourceLocationIsValid(...)</code> renamed to <code>locationIsValid(...)</code>
 +
** <code>getDefaultResourceLocation(...)</code> renamed to <code>getDefaultLocation(...)</code>
 +
** <code>getResourcePath(...)</code> renamed to <code>getWorkspacePath(...)</code>
 +
 
 +
* <code>ProjectResourceLocator</code> renamed methods:
 +
** <code>resourceLocationIsValid(...)</code> renamed to <code>locationIsValid(...)</code>
 +
** <code>getDefaultResourceLocation(...)</code> renamed to <code>getDefaultLocation(...)</code>
 +
** <code>getResourcePath(...)</code> renamed to <code>getWorkspacePath(...)</code>
 +
 
 +
* <code>EBaseObject</code>
 +
** added method <code>getFullTextRange()</code>
 +
 
 +
* renamed <code>ContentTypeReference.CONTENT_TYPE_TRANSFORMER</code> to <code>TRANSFORMER</code>
 +
 
 +
* moved <code>GenericAnnotationProvider</code> to an internal package
 +
 
 +
* renamed <code>JptResourceTypeReference.RESOURCE_TYPE_TRANSFORMER</code> to <code>TRANSFORMER</code>
 +
 
 +
* renamed <code>JavaResourceCompilationUnit.getModifySharedDocumentCommandExecutor()</code> to <code>getModifySharedDocumentCommandContext()</code>
 +
 
 +
* renamed <code>JavaResourceNode</code> to <code>JavaResourceModel</code>
 +
 
 +
* moved <code>EmfTools</code> to an internal package
 +
 
 +
* renamed <code>JpaXmlResourceProvider</code> to <code>JptXmlResourceProvider</code>
 +
 
 +
* moved <code>AbstractTextRange</code> to an internal package
 +
 
 +
* renamed various <code>CommandExecutor</code> classes:
 +
<code>
 +
{|  border="1" cellpadding="5" cellspacing="0"
 +
|-
 +
! Old
 +
! New
 +
|-
 +
| CombinedCommandExecutor
 +
| CombinedCommandContext
 +
|-
 +
| CombinedExtendedCommandExecutor
 +
| CombinedExtendedCommandContext
 +
|-
 +
| ExtendedCommandExecutor
 +
| ExtendedCommandContext
 +
|-
 +
| JobCommandExecutor
 +
| JobCommandContext
 +
|}
 +
</code>
  
 
=== JPA Database (Provisional API) ===
 
=== JPA Database (Provisional API) ===
Line 293: Line 374:
 
** added methods to <code>MappingFile</code>:
 
** added methods to <code>MappingFile</code>:
 
*** <code>getResourceMappingFile()</code>
 
*** <code>getResourceMappingFile()</code>
*** <code>validate(...)</code>
+
** <code>MappingFilePersistenceUnitMetadata</code> now extends <code>JpaContextNode</code>, not <code>XmlContextNode</code>
*** <code>getValidationTextRange()</code>
+
** <code>MappingFilePersistenceUnitMetadata</code> now extends <code>JpaContextNode</code>, not <code>XmlContextNode</code> and declares the method <code>getValidationTextRange()</code>
+
 
** <code>MappingFilePersistenceUnitDefaults</code> now extends <code>JpaContextNode</code>, not <code>XmlContextNode</code>
 
** <code>MappingFilePersistenceUnitDefaults</code> now extends <code>JpaContextNode</code>, not <code>XmlContextNode</code>
 
** added support for a root to <code>XmlFile</code>
 
** added support for a root to <code>XmlFile</code>
Line 321: Line 400:
 
** moved <code>VERSION_1_0</code> to <code>JpaProject.FACET_VERSION_STRING</code> and <code>JpaProject.FACET_VERSION</code>
 
** moved <code>VERSION_1_0</code> to <code>JpaProject.FACET_VERSION_STRING</code> and <code>JpaProject.FACET_VERSION</code>
 
** moved <code>VERSION_2_0</code> to <code>JpaProject2_0.FACET_VERSION_STRING</code> and <code>JpaProject2_0.FACET_VERSION</code>
 
** moved <code>VERSION_2_0</code> to <code>JpaProject2_0.FACET_VERSION_STRING</code> and <code>JpaProject2_0.FACET_VERSION</code>
 +
 +
* changed <code>JpaPlatformFactory.buildJpaPlatform(String)</code> to <code>JpaPlatformFactory.buildJpaPlatform(JpaPlatform.Config)</code>
  
 
* reworked <code>JpaPlatformManager</code>
 
* reworked <code>JpaPlatformManager</code>
 
** no longer a singleton - access it via <code>JpaWorkspace</code>
 
** no longer a singleton - access it via <code>JpaWorkspace</code>
 
** renamed various methods to more accurately reflect model (e.g. <code>getPlatform(String)</code> now returns a <code>JpaPlatform</code>, while <code>getJpaPlatformDescription(String)</code> returns the <code>JpaPlatformDescription</code>)
 
** renamed various methods to more accurately reflect model (e.g. <code>getPlatform(String)</code> now returns a <code>JpaPlatform</code>, while <code>getJpaPlatformDescription(String)</code> returns the <code>JpaPlatformDescription</code>)
 +
 +
* added method <code>JpaPlatform.getContentType(IFile)</code>
  
 
* <code>ConnectionProfileFactory</code> is no longer a singleton - access it via <code>JpaWorkspace</code>
 
* <code>ConnectionProfileFactory</code> is no longer a singleton - access it via <code>JpaWorkspace</code>
Line 331: Line 414:
  
 
* <code>JpaProject</code>  
 
* <code>JpaProject</code>  
** changed <code>getMappedJavaSourceClassNames(): Iterable<String></code>  to <code>getMappedJavaSourceTypes() : Iterable<JavaResourceAbstractType> </code>  
+
** changed <code>getMappedJavaSourceClassNames(): Iterable<String></code>  to <code>getPotentialJavaSourceTypes() : Iterable<JavaResourceAbstractType> </code>  
 
** changed <code>getAnnotatedJavaSourceClassNames(): Iterable<String></code>  to <code>getAnnotatedJavaSourceTypes() : Iterable<JavaResourceAbstractType> </code>  
 
** changed <code>getAnnotatedJavaSourceClassNames(): Iterable<String></code>  to <code>getAnnotatedJavaSourceTypes() : Iterable<JavaResourceAbstractType> </code>  
 +
 +
* reworked <code>JpaProject.Manager</code>
 +
** added <code>getJpaWorkspace()</code>
 +
** removed <code>log(String)</code>
 +
** removed <code>log(Throwable)</code>
 +
** removed <code>log(String, Throwable)</code>
 +
** removed <code>getExceptionHandler()</code>
  
 
* <code>JpaProjectManager</code>  
 
* <code>JpaProjectManager</code>  
Line 344: Line 434:
  
 
* <code>PersistentType</code>
 
* <code>PersistentType</code>
** added getAttributeTypeBinding(ReadOnlyPersistentAttribute)
+
** added <code>getAttributeTypeBinding(ReadOnlyPersistentAttribute)</code>
  
 
* <code>ReadOnlyPersistentAttribute</code>
 
* <code>ReadOnlyPersistentAttribute</code>
** added getTypeName(PersistentType)
+
** added <code>getTypeName(PersistentType)</code>
  
 
* <code>Generator</code> - refactored all DB specific methods to a new interface <code>DbGenerator</code> [https://bugs.eclipse.org/bugs/show_bug.cgi?id=380150 bug 380150]
 
* <code>Generator</code> - refactored all DB specific methods to a new interface <code>DbGenerator</code> [https://bugs.eclipse.org/bugs/show_bug.cgi?id=380150 bug 380150]
Line 362: Line 452:
 
** added <code>JpaStructureNode.gatherRootStructureNodes(JpaFile, Collection<JpaStructureNode>)</code>
 
** added <code>JpaStructureNode.gatherRootStructureNodes(JpaFile, Collection<JpaStructureNode>)</code>
  
* renamed <code>JpaPlatformDescription</code> to <code>JpaPlatformConfig</code>
+
* fixed Structure View when static member types present [https://bugs.eclipse.org/bugs/show_bug.cgi?id=390616 Bug 390616]:
 +
** added <code>JpaStructureNodes.getFullTextRange()</code>
 +
** renamed <code>EntityMappings.getFullyQualifiedName(...)</code> to <code>qualify(...)</code>
  
* renamed <code>JpaPlatformGroupDescription</code> to <code>JpaPlatformGroupConfig</code>
+
* reworked <code>JpaPlatform</code>-related classes:
 +
** renamed <code>JpaPlatformDescription</code> to <code>JpaPlatform.Config</code>
 +
** renamed <code>JpaPlatformGroupDescription</code> to <code>JpaPlatform.GroupConfig</code>
 +
** added method <code>JpaPlatform.Config.getJpaPlatform()</code>
  
 
* <code>JpaProject2_0</code> no longer extends <code>MetamodelSynchronizer</code> - that behavior should be internal to the <code>JpaProject</code>
 
* <code>JpaProject2_0</code> no longer extends <code>MetamodelSynchronizer</code> - that behavior should be internal to the <code>JpaProject</code>
  
 
* <code>JpaXmlResource</code> - moved/renamed to *.common.core.JptXmlResource.
 
* <code>JpaXmlResource</code> - moved/renamed to *.common.core.JptXmlResource.
 +
 +
* added method <code>ClassRef.getJavaResourceType()</code>
 +
 +
* added method <code>Entity.supportsValidationMessages()</code> and <code>Entity.getNameTextRange()</code>
 +
* added method <code>Generator.supportsValidationMessages()</code>
 +
* added method <code>Query.supportsValidationMessages()</code>
 +
 +
*  Refactored validation methods to not include a CompilationUnit for Java([https://bugs.eclipse.org/bugs/show_bug.cgi?id=376595 bug 376595]). Now the API is the same for Java and Orm.
 +
** added <code>JpaContextNode.getValidationTextRange()</code>
 +
** added <code>JpaContextNode.validate(...)</code>
 +
**Refactored completion proposal methods to be identical in xml and java and moved up the hierarchy, removed Filter and CompilationUnit parameters in both JPA and JAXB
 +
*** added <code>JpaContextNode.getCompletionProposals(...)</code>
 +
** Deleted <code>JavaJpaContextNode</code> and <code>XmlContextNode</code> as they were no longer needed after the validation and context assist refactorings.
 +
** Deleted many other Java and Xml specific interfaces. For example, JavaMultiRelationshipMapping and XmlMultiRelationshipMapping were deleted, use MultiRelationshipMapping now.
 +
 +
* The refactoring participant methods have been refactored
 +
** The common methods have been consolidated into the following interfaces:
 +
*** <code>DeleteTypeRefactoringParticipant</code>
 +
*** <code>MappingFileRefactoringParticipant</code>
 +
*** <code>TypeRefactoringParticipant</code>
 +
** The following interfaces now extend one or more of the above-listed interfaces:
 +
*** <code>EntityMappings</code>
 +
*** <code>OrmAttributeMapping</code>
 +
*** <code>OrmIdClassReference</code>
 +
*** <code>OrmPersistentAttribute</code>
 +
*** <code>OrmPersistentType</code>
 +
*** <code>OrmTypeMapping</code>
 +
*** <code>ClassRef</code>
 +
*** <code>MappingFileRef</code>
 +
*** <code>PersistenceUnit</code>
 +
*** <code>PersistenceUnitProperties</code>
 +
 +
* <code>PersistentType2_0</code>
 +
** added method <code>getMetamodelType()</code>
 +
 +
* <code>JarFile</code>
 +
** removed method <code>dispose()</code>
 +
 +
* removed <code>JpaStructureNode.dispose()</code>. Now only <code>EntityMappings, OrmPersistentType, OrmReadOnlyPersistentAttribute, MappingFileRef, Persistence, PersistenceUnit</code> have the <code>dispose()</code> method.
 +
* <code>MappingFile</code>, <code>XmlFile</code>,<code>JarFile</code> now extend <code>JpaContextNode</code> not <code>JpaStructureNode</code>
 +
*added <code>JpaStructureNode.getChildren(), getChildrenSize()</code> which is used for displaying nodes in the <code>JpaStructureView</code>
 +
 +
* <code>JavaPersistentAttribute.contains(int)</code>, <code>OrmAttributeMapping.contains(int), <code>OrmPersistentType.contains(int)</code>, <code>OrmReadOnlyPersistentAttribute.contains(int) replaced with <code>JpaStructureNode.containsOffset(int)</code>
 +
 +
* Support JPA 2.1 Converter types ([https://bugs.eclipse.org/392702 bug 392702]):
 +
** added <code>ManagedType</code>, <code>JavaManagedType</code>, <code>OrmManagedType</code>
 +
** <code>PersistentType</code> now extends <code>ManagedType</code>, moved some type/name related methods to it
 +
** added <code>JavaManagedTypeDefinition</code>
 +
** added <code>OrmManagedTypeDefinition</code>
 +
** added method <code>JpaPlatform.getJavaManagedTypeDefinitions()</code>
 +
** added method <code>JpaPlatformProvider.getJavaManagedTypeDefinitions()</code>
 +
** added method <code>JpaProject.getManagedTypeAnnotationNames()</code>
 +
** <code>JarFile</code>
 +
*** renamed <code>getJavaPersistentTypes()</code> to <code>getJavaManagedTypes()</code>
 +
*** renamed <code>getJavaPersistentTypesSize()</code> to <code>getJavaManagedTypesSize()</code>
 +
** <code>EntityMappings</code>
 +
*** replaced <code>removePersistentType(...)</code> with <code>removeManagedType(...)</code>
 +
*** replaced <code>containsPersistentType(...)</code> with <code>containsManagedType(...)</code>
 +
*** replaced <code>PERSISTENT_TYPES_LIST</code> with <code>MANAGED_TYPES_LIST(...)</code>
 +
*** replaced <code>getPersistentTypesSize()</code> with <code>getManagedTypesSize()</code>
 +
** replaced <code>OrmPersistentType.JAVA_PERSISTENT_TYPE_PROPERTY</code> with <code>OrmManagedType.JAVA_MANAGED_TYPE_PROPERTY</code>
 +
** possibly want to use <code>OrmManagedType.getJavaManagedType()</code> instead of <code>OrmPersistent.getJavaPersistentType()</code> that is now just a helper method for returning the <code>JavaManagedType</code> of it is of type <code>JavaPersistentType</code>
 +
** <code>OrmTypeMapping</code>
 +
*** <code>getClass_()</code> and <code>setClass(...)</code> and <code>getClassTextRange()</code>moved to <code>OrmManagedType</code>
 +
*** remove <code>createDeleteEdit()</code> - OrmManagedType.createDeleteTypeEdits(...) used instead
 +
**added method <code>OrmXmlDefinition.getManagedTypeDefinition(...)</code>
 +
** changed <code>ClassRef</code>
 +
*** added method <code>getJavaManagedType()</code>
 +
*** renamed <code>JAVA_PERSISTENT_TYPE_PROPERTY</code> to <code>JAVA_MANAGED_TYPE_PROPERTY</code>
 +
** added interface <code>ManagedTypeContainer</code> and <code>PersistentTypeContainer</code> now extends this.
 +
** renamed method <code>PersistenceUnit.specifiesPersistentType(String)</code> to <code>specifiesManagedType()</code>
 +
** created new interfaces:
 +
*** <code>ConverterType2_1</code>
 +
*** <code>EntityMappings2_1</code>
 +
*** <code>ConverterType2_1</code>
 +
*** <code>OrmXml2_1ContextNodeFactory2_1</code>
 +
*** <code>JpaFactory2_1</code>
 +
 +
* renamed <code>AccessHolder</code> to <code>AccessReference</code>
 +
 +
* renamed <code>[Java/Orm]CacheableHolder2_0</code> to <code>[Java/Orm]CacheableReference2_0</code>
 +
 +
* renamed <code>[Java/Orm]CacheableHolder2_0</code> to <code>[Java/Orm]CacheableReference2_0</code>
 +
 +
* renamed <code>OrphanRemovalHolder2_0</code> to <code>[Java/Orm]OrphanRemovalMapping2_0</code>
 +
 +
* renamed <code>Connection2_0</code> to <code>JpaConnection2_0</code>
 +
 +
* renamed <code>JpaOptions2_0</code> to <code>Options2_0</code>
 +
 +
* renamed <code>SharedCacheMode</code> to <code>SharedCacheMode2_0</code>
 +
 +
* renamed <code>ValidationMode</code> to <code>ValidationMode2_0</code>
 +
 +
* renamed <code>MetamodelSynchronizer</code> to <code>JpaMetamodelSynchronizer2_0</code>
 +
 +
* renamed <code>ResourceDefinition</code> to <code>JpaResourceDefinition</code>
 +
 +
* renamed <code>JpaNode</code> to <code>JpaModel</code>
 +
 +
* renamed <code>JpaContextNode</code> to <code>JpaContextModel</code>
 +
 +
* renamed <code>JpaRootContextNode</code> to <code>JpaContextModelRoot</code>
 +
 +
* renamed <code>JpaNamedContextNode</code> to <code>JpaNamedContextModel</code>
 +
 +
* moved JPA 2.0- and 2.1-specific methods from <code>PersistenceXmlContextModelFactory</code> to appropriate sub-interfaces: <code>PersistenceXmlContextModelFactory2_0</code> and <code>PersistenceXmlContextModelFactory2_1</code>
 +
 +
* added method <code>PersistenceUnit.addPersistentTypes(...)</code> to support adding persistent types from a wizard
 +
 +
* renamed <code>PersistenceXmlContextNodeFactory</code> to <code>PersistenceXmlContextModelFactory</code> and corresponding methods <code>PersistenceXmlDefinition.getResourceNodeFactory()</code> to <code>getResourceModelFactory()</code> and <code>PersistenceXmlDefinition.getContextNodeFactory()</code> to <code>getContextModelFactory()</code>
 +
 +
* renamed <code>OrmXmlContextNodeFactory</code> to <code>OrmXmlContextModelFactory</code> and corresponding methods <code>OrmXmlDefinition.getResourceNodeFactory()</code> to <code>getResourceModelFactory()</code> and <code>OrmXmlDefinition.getContextNodeFactory()</code> to <code>getContextModelFactory()</code>
 +
 +
* renamed <code>[Java/Orm]GeneratedValueHolder</code> to <code>[Java/Orm]GeneratedValueMapping</code>
 +
 +
* In a particularly painful (for adopters) change, the various pairs and triplets of interfaces named after the pattern:
 +
:: <code>ReadOnlyFoo</code>
 +
:: <code>Foo</code>
 +
:: <code>VirtualFoo</code>
 +
: where <code>Foo</code> and <code>VirtualFoo</code> were subclasses of <code>ReadOnlyFoo</code>, the interfaces were renamed after the pattern:
 +
:: <code>Foo</code>
 +
:: <code>SpecifiedFoo</code>
 +
:: <code>VirtualFoo</code>
 +
: where <code>SpecifiedFoo</code> and <code>VirtualFoo</code> are subclasses of <code>Foo</code>:
 +
<code>
 +
{| border="1" cellpadding="5" cellspacing="0"
 +
|-
 +
! Old
 +
! New
 +
|-
 +
| [Orm]ReadOnlyPersistentAttribute[2_0] <br> [Java/Orm]PersistentAttribute[2_0]
 +
| [Orm]PersistentAttribute[2_0] <br> [Java/Orm]SpecifiedPersistentAttribute[2_0]
 +
|-
 +
| ReadOnlyAccessHolder <br> AccessHolder
 +
| AccessReference <br> SpecifiedAccessReference
 +
|-
 +
| ReadOnlyNamedColumn <br> [Java/Orm]NamedColumn <br> VirtualNamedColumn
 +
| NamedColumn <br> [Java/Orm]SpecifiedNamedColumn <br> VirtualNamedColumn
 +
|-
 +
| ReadOnlyBaseJoinColumn <br> [Java/Orm]BaseJoinColumn <br> VirtualBaseJoinColumn
 +
| BaseJoinColumn <br> [Java/Orm]SpecifiedBaseJoinColumn <br> VirtualBaseJoinColumn
 +
|-
 +
| ReadOnlyJoinColumn <br> [Java/Orm]JoinColumn <br> VirtualJoinColumn
 +
| JoinColumn <br> [Java/Orm]SpecifiedJoinColumn <br> VirtualJoinColumn
 +
|-
 +
| ReadOnlyPrimaryKeyJoinColumn <br> [Java/Orm]PrimaryKeyJoinColumn <br> [Orm]VirtualPrimaryKeyJoinColumn
 +
| PrimaryKeyJoinColumn <br> [Java/Orm]SpecifiedPrimaryKeyJoinColumn <br> [Orm]VirtualPrimaryKeyJoinColumn
 +
|-
 +
| ReadOnlyNamedDiscriminatorColumn <br> NamedDiscriminatorColumn <br> VirtualNamedDiscriminatorColumn
 +
| NamedDiscriminatorColumn <br> SpecifiedNamedDiscriminatorColumn <br> VirtualNamedDiscriminatorColumn
 +
|-
 +
| [Java/Orm]ReadOnlyDiscriminatorColumn <br> [Java/Orm]DiscriminatorColumn
 +
| [Java/Orm]DiscriminatorColumn <br> [Java/Orm]SpecifiedDiscriminatorColumn
 +
|-
 +
| [Java/Orm]OrderColumn2_0
 +
| [Java/Orm]SpecifiedOrderColumn2_0
 +
|-
 +
| ReadOnlyTableColumn <br> TableColumn <br> VirtualTableColumn
 +
| TableColumn <br> SpecifiedTableColumn <br> VirtualTableColumn
 +
|-
 +
| ReadOnlyBaseColumn <br> [Java/Orm]BaseColumn <br> VirtualBaseColumn
 +
| BaseColumn <br> [Java/Orm]SpecifiedBaseColumn <br> VirtualBaseColumn
 +
|-
 +
| ReadOnlyColumn <br> [Java/Orm]Column <br> VirtualColumn
 +
| Column <br> [Java/Orm]SpecifiedColumn <br> VirtualColumn
 +
|-
 +
| ReadOnlyOverride <br> [Java/Orm]Override_ <br> VirtualOverride
 +
| Override_ <br> [Java/Orm]SpecifiedOverride <br> VirtualOverride
 +
|-
 +
| ReadOnlyAssociationOverride[2_0] <br> [Java/Orm]AssociationOverride[2_0] <br> [Java/Orm]VirtualAssociationOverride
 +
| AssociationOverride[2_0] <br> [Java/Orm]SpecifiedAssociationOverride[2_0] <br> [Java/Orm]VirtualAssociationOverride
 +
|-
 +
| ReadOnlyAttributeOverride <br> [Java/Orm]AttributeOverride <br> [Java/Orm]VirtualAttributeOverride
 +
| AttributeOverride <br> [Java/Orm]SpecifiedAttributeOverride <br> [Java/Orm]VirtualAttributeOverride
 +
|-
 +
| ReadOnlyRelationship <br> Relationship <br> VirtualRelationship
 +
| Relationship <br> SpecifiedRelationship <br> VirtualRelationship
 +
|-
 +
| ReadOnlyJoinColumnRelationship <br> JoinColumnRelationship <br> VirtualJoinColumnRelationship
 +
| JoinColumnRelationship <br> SpecifiedJoinColumnRelationship <br> VirtualJoinColumnRelationship
 +
|-
 +
| ReadOnlyJoinTableRelationship <br> JoinTableRelationship <br> VirtualJoinTableRelationship
 +
| JoinTableRelationship <br> SpecifiedJoinTableRelationship <br> VirtualJoinTableRelationship
 +
|-
 +
| [Java/Orm]ReadOnlyOverrideRelationship[2_0] <br> [Java/Orm]OverrideRelationship[2_0] <br> [Java/Orm]VirtualOverrideRelationship[2_0]
 +
| [Java/Orm]OverrideRelationship[2_0] <br> [Java/Orm]SpecifiedOverrideRelationship[2_0] <br> [Java/Orm]VirtualOverrideRelationship[2_0]
 +
|-
 +
| ReadOnlyRelationshipStrategy <br> RelationshipStrategy <br> VirtualRelationshipStrategy
 +
| RelationshipStrategy <br> SpecifiedRelationshipStrategy <br> VirtualRelationshipStrategy
 +
|-
 +
| ReadOnlyJoinColumnRelationshipStrategy <br> [Java/Orm]JoinColumnRelationshipStrategy <br> VirtualJoinColumnRelationshipStrategy
 +
| JoinColumnRelationshipStrategy <br> [Java/Orm]SpecifiedJoinColumnRelationshipStrategy <br> VirtualJoinColumnRelationshipStrategy
 +
|-
 +
| ReadOnlyJoinTableRelationshipStrategy <br> [Java/Orm]JoinTableRelationshipStrategy <br> VirtualJoinTableRelationshipStrategy
 +
| JoinTableRelationshipStrategy <br> [Java/Orm]SpecifiedJoinTableRelationshipStrategy <br> VirtualJoinTableRelationshipStrategy
 +
|-
 +
| MappedByRelationshipStrategy
 +
| SpecifiedMappedByRelationshipStrategy
 +
|-
 +
| ReadOnlyTable <br> Table <br> VirtualTable
 +
| Table <br> SpecifiedTable <br> VirtualTable
 +
|-
 +
| ReadOnlyReferenceTable <br> [Java/Orm]ReferenceTable <br> VirtualReferenceTable
 +
| ReferenceTable <br> [Java/Orm]SpecifiedReferenceTable <br> VirtualReferenceTable
 +
|-
 +
| ReadOnlyJoinTable <br> [Java/Orm]JoinTable <br> VirtualJoinTable
 +
| JoinTable <br> [Java/Orm]SpecifiedJoinTable <br> VirtualJoinTable
 +
|-
 +
| ReadOnlySecondaryTable <br> [Java/Orm]SecondaryTable <br> VirtualSecondaryTable
 +
| SecondaryTable <br> [Java/Orm]SpecifiedSecondaryTable <br> VirtualSecondaryTable
 +
|-
 +
| ReadOnlyUniqueConstraint <br> [Java/Orm]UniqueConstraint <br> VirtualUniqueConstraint
 +
| UniqueConstraint <br> [Java/Orm]SpecifiedUniqueConstraint <br> VirtualUniqueConstraint
 +
|}
 +
</code>
 +
 +
* Various <code>Owner</code> interfaces were renamed to the corresponding interface <code>ParentAdapter</code> and refactored to return the client's parent; so, instead of constructing a client with both a parent and an owner, the client is constructed with only a parent adapter. The appropriate factory methods were changed accordingly:
 +
<code>
 +
{| border="1" cellpadding="5" cellspacing="0"
 +
|-
 +
! Old
 +
! New
 +
|-
 +
| [Java/Orm]OverrideContainer.Owner
 +
| [Java/Orm]OverrideContainer.ParentAdapter
 +
|-
 +
| [Java/Orm]AssociationOverrideContainer.Owner
 +
| [Java/Orm]AssociationOverrideContainer.ParentAdapter
 +
|-
 +
| [Java/Orm]AttributeOverrideContainer.Owner
 +
| [Java/Orm]AttributeOverrideContainer.ParentAdapter
 +
|-
 +
| [Java/Orm]Converter.Owner
 +
| [Java/Orm]Converter.ParentAdapter
 +
|-
 +
| OrmBaseEnumeratedConverter.Owner
 +
| OrmBaseEnumeratedConverter.ParentAdapter
 +
|-
 +
| OrmBaseTemporalConverter.Owner
 +
| OrmBaseTemporalConverter.ParentAdapter
 +
|-
 +
| JavaQueryContainer.Owner
 +
| JavaQueryContainer.ParentAdapter
 +
|-
 +
| [Java/Orm]ReadOnlyTable.Owner
 +
| [Java/Orm]Table.ParentAdapter
 +
|-
 +
| [Java/Orm]ReadOnlyCollectionTable2_0.Owner
 +
| [Java/Orm]CollectionTable2_0.ParentAdapter
 +
|-
 +
| [Java/Orm]JoinTable.Owner
 +
| [Java/Orm]SpecifiedJoinTable.ParentAdapter
 +
|-
 +
| [Java/Orm]SecondaryTable.Owner
 +
| [Java/Orm]SpecifiedSecondaryTable.ParentAdapter
 +
|-
 +
| OrmVirtualSecondaryTable.Owner
 +
| OrmVirtualSecondaryTable.ParentAdapter
 +
|-
 +
| VirtualJoinTable.Owner
 +
| VirtualJoinTable.ParentAdapter
 +
|-
 +
| ReadOnlyNamedColumn.Owner
 +
| NamedColumn.ParentAdapter
 +
|-
 +
| ReadOnlyTableColumn.Owner
 +
| TableColumn.ParentAdapter
 +
|-
 +
| ReadOnlyBaseJoinColumn.Owner
 +
| BaseJoinColumn.ParentAdapter
 +
|-
 +
| ReadOnlyJoinColumn.Owner
 +
| JoinColumn.ParentAdapter
 +
|-
 +
| [Java/Orm]Column.Owner
 +
| [Java/Orm]SpecifiedColumn.ParentAdapter
 +
|-
 +
| [Jave/Orm]OrderColumn2_0.Owner
 +
| [Jave/Orm]SpecifiedOrderColumn2_0.ParentAdapter
 +
|-
 +
| ReadOnlyNamedDiscriminatorColumn.Owner
 +
| NamedDiscriminatorColumn.ParentAdapter
 +
|-
 +
| [Jave/Orm]DiscriminatorColumn.Owner
 +
| [Jave/Orm]SpecifiedDiscriminatorColumn.ParentAdapter
 +
|-
 +
| VirtualColumn.Owner
 +
| VirtualColumn.ParentAdapter
 +
|-
 +
| [Jave/Orm]Orderable2_0.Owner
 +
| [Jave/Orm]Orderable2_0.ParentAdapter
 +
|}
 +
</code>
 +
 +
* Remove the functionality that creates an orm.xml file during project creation ([https://bugs.eclipse.org/403131 bug 403131]):
 +
** Removed <code> JpaFacetInstallDataModelProperties.CREATE_ORM_XML </code>
 +
** Removed <code> JpaFacetInstallDelegate.createOrmXml(...) </code>
 +
** Changed <code> JpaFacetInstallDelegate.createProjectXml(...) </code> to only create persistence.xml
  
 
=== JAXB Core (Provisional API)  ===
 
=== JAXB Core (Provisional API)  ===
Line 403: Line 797:
  
 
* renamed <code>JaxbPlatformGroupDescription</code> to <code>JaxbPlatformGroupConfig</code>
 
* renamed <code>JaxbPlatformGroupDescription</code> to <code>JaxbPlatformGroupConfig</code>
 +
 +
* removed <code>GenericJaxbPlatform</code> and scattered its constants to various <code>JaxbPlatformDefinition</code> implementations
 +
 +
* removed <code>JaxbFacet</code> and moved its constants to <code>JaxbProject</code>
  
 
=== EclipseLink JPA Core (Provisional API)  ===
 
=== EclipseLink JPA Core (Provisional API)  ===
Line 479: Line 877:
  
 
* moved preference code to new facade <code>EclipseLinkJpaPreferences</code>
 
* moved preference code to new facade <code>EclipseLinkJpaPreferences</code>
 +
 +
* removed <code>EclipseLinkPlatform</code> and scattered its constants to various <code>JpaPlatformFactory</code> implementations
 +
 +
 +
=== EclipseLink JAXB Core (Provisional API)  ===
 +
 +
* removed <code>ELJaxbPlatform</code> and scattered its constants to various <code>JaxbPlatformDefinition</code> implementations
 +
  
 
=== Common UI (Provisional API) ===
 
=== Common UI (Provisional API) ===
Line 491: Line 897:
  
 
* added <code>JptCommonUiImages</code>
 
* added <code>JptCommonUiImages</code>
 +
 +
* Various <code>ProviderFactory</code> top-level interfaces were converted to member interfaces:
 +
<code>
 +
{| border="1" cellpadding="5" cellspacing="0"
 +
|-
 +
! Old
 +
! New
 +
|-
 +
| ItemExtendedLabelProviderFactory
 +
| ItemExtendedLabelProvider.Factory
 +
|-
 +
| ItemLabelProviderFactory
 +
| ItemLabelProvider.Factory
 +
|-
 +
| ItemStructuredContentProviderFactory
 +
| ItemStructuredContentProvider.Factory
 +
|-
 +
| ItemTreeContentProviderFactory
 +
| ItemTreeContentProvider.Factory
 +
|}
 +
</code>
  
 
=== JPA UI (Provisional API) ===
 
=== JPA UI (Provisional API) ===
Line 510: Line 937:
  
 
* enhanced <code>JpaPlatformUiProvider</code>:
 
* enhanced <code>JpaPlatformUiProvider</code>:
** moved getDetailsProviders() to <code>ResourceUiDefinition</code>
+
** moved <code>getDetailsProviders()</code> to <code>ResourceUiDefinition</code>
  
 
* enhanced <code>ResourceUiDefinition</code>:
 
* enhanced <code>ResourceUiDefinition</code>:
 
** added <code>getEditorPageDefinitions()</code>
 
** added <code>getEditorPageDefinitions()</code>
** moved getDetailsProviders() from <code>JpaPlatformUiProvider</code>
+
** moved <code>getDetailsProviders()</code> from <code>JpaPlatformUiProvider</code>
  
 
* enhanced <code>MappingResourceUiDefinition</code>:
 
* enhanced <code>MappingResourceUiDefinition</code>:
Line 558: Line 985:
  
 
* enhanced <code>JpaDetailsPageManager</code>:
 
* enhanced <code>JpaDetailsPageManager</code>:
** Ungenericized this interface.
+
** ungenericized this interface.
 
** <code>getSubject()</code> now returns <code>JpaStructureNode</code>
 
** <code>getSubject()</code> now returns <code>JpaStructureNode</code>
 
** <code>setSubject(...)</code> now takes a <code>JpaStructureNode</code> parameter
 
** <code>setSubject(...)</code> now takes a <code>JpaStructureNode</code> parameter
Line 574: Line 1,001:
  
 
* added <code>JptJpaUiImages</code>
 
* added <code>JptJpaUiImages</code>
 +
 +
* added <code>PersistenceResourceUiDefinition</code> that any ResourceUiDefinition for a persistence.xml file needs to implement
 +
 +
* removed the functionality that creates an orm.xml file during project creation ([https://bugs.eclipse.org/392222 bug 392222]):
 +
** removed <code> JpaFacetInstallPage.OrmXmlGroup </code>
  
 
=== JPQL Query (content assist and validation) (Provisional API)  ===
 
=== JPQL Query (content assist and validation) (Provisional API)  ===

Latest revision as of 14:03, 8 May 2013

Overview

This page collects notes and pointers to changes coming up in the WTP 3.5 (Kepler) 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.

WTP Git migration

WTP has moved its source code repository from CVS to Git. A detailed list of what moved where can be found here

Dali

General

  • All the BundleActivator implementations (i.e. "plug-in" classes; e.g. JptJpaCorePlugin) were moved from public packages to private packages and all public members moved to the appropriate public interfaces etc.
  • Various convenience Transformers have been added to many public interfaces.

Common Utility (Provisional API)

  • added interfaces:
    • Association
    • Bag
    • Queue
    • Stack
    • ListIterable
    • MultiThreadedExceptionHandler
    • Node
    • Problem
    • IntReference
    • ModifiableIntReference
    • ModifiableBooleanReference
    • Transformer
  • moved interfaces:
    • ObjectReference
    • ModifiableObjectReference
    • BooleanReference
    • IndentingPrintWriter
    • Synchronizer (moved to JAXB core plug-in)
    • CallbackSynchronizer (moved to JAXB core plug-in)
  • removed all "tree"-related events and listeners
  • removed the Filter interface and converted all Filters to Predicates
  • renamed MultiThreadedExceptionHandler to MultiThreadExceptionHandler
  • renamed various CommandExecutor classes:

Old New
CommandExecutor CommandContext
ExtendedCommandExecutor ExtendedCommandContext
InterruptibleCommandExecutor InterruptibleCommandContext
StatefulCommandExecutor StatefulCommandContext
StatefulExtendedCommandExecutor StatefulExtendedCommandContext

Common Core (Provisional API)

  • added interfaces:
    • JptWorkspace
    • LibraryValidatorManager
    • ResourceLocatorManager
  • JptCommonCorePlugin - moved to private package and moved its members to the appropriate public interfaces etc.

Old New
JAVA_SOURCE_CONTENT_TYPE JavaResourceCompilationUnit.CONTENT_TYPE
JAVA_SOURCE_RESOURCE_TYPE JavaResourceCompilationUnit.RESOURCE_TYPE
JAVA_SOURCE_PACKAGE_INFO_CONTENT_TYPE JavaResourceCompilationUnit.PACKAGE_INFO_CONTENT_TYPE
JAVA_SOURCE_PACKAGE_INFO_RESOURCE_TYPE JavaResourceCompilationUnit.PACKAGE_INFO_RESOURCE_TYPE
JAR_CONTENT_TYPE JavaResourcePackageFragmentRoot.JAR_CONTENT_TYPE
JAR_SOURCE_RESOURCE_TYPE JavaResourcePackageFragmentRoot.JAR_RESOURCE_TYPE
JavaResourceClassFile.CONTENT_TYPE
JavaResourceClassFile.CONTENT_TYPE_ID
getLibraryValidators(...) LibraryValidatorManager.getLibraryValidators(...)

  • reworked resource types
    • added resourcTypes extension point to specify resource types and their relationships
    • converted JptResourceType to an interface with instances defined by the resourcTypes extension point - extensions are managed by the JptResourceTypeManager
    • defined basic resource types
    • added JptResourceTypeReference
    • added ContentTypeReference
  • added TypeBinding to encapsulate type information (e.g. simple/qualified name, is interface/enum) spread elsewhere in resource model
  • JavaResourceAbstractType
    • Removed
      • getQualifiedName()
      • getPackageName()
      • isMemberType() (and associated property strings).
    • Added getTypeBinding() (and associated property string) whose API now takes their place (and adds related API).
  • JavaResourceAttribute
    • Removed
      • getTypeArrayComponentTypeName()
      • getTypeArrayDimensionality()
      • getTypeInterfaceNames()
      • getTypeName()
      • getTypeSuperclassNames()
      • getTypeTypeArgumentName(int)
      • getTypeTypeArgumentNames()
      • getTypeTypeArgumentNamesSize()
      • typeIsArray()
      • typeIsEnum()
      • typeIsInterface()
      • typeIsSubTypeOf(String)
      • typeIsVariablePrimitive() (and associated property strings).
    • Added getTypeBinding() (and associated property string) whose API now takes their place (and adds related API).
  • JavaResourceField - added synchronizeWith(FieldDeclaration, VariableDeclarationFragment) to replace synchronizeWith(CompilationUnit)
  • JavaResourceMethod - removed initialize(MethodDeclaration) as it was unnecessary.
  • JavaResourceType
    • Added
      • getAttributeTypeBinding(JavaResourceAttribute)
      • getField(String name)
  • Annotation - initialize/synchronizeWith(Annotation) are preferred where possible over initialize/syncrhonizeWith(CompilationUnit). It is probably more performant to use the Annotation that has already been discovered than to search through the CompilationUnit again. If reusing any of the generic JPA annotation implementations, clients will now need to call initialize(Annotation)
    • added
      • initialize(Annotation).
      • synchronizeWith(Annotation).
  • JavaResourceAnnotatedElement
    • added
      • getContainerAnnotation(String) : Annotation. - You can no longer use getAnnotation(String) to return container annotations. This was changed to improve performance. see bug 376787
    • changed
      • getNameTextRange(CompilationUnit) to getNameTextRange(). Caching the name TextRange during sync
      • getKind() to getAstNodeType()
      • JavaResourceAnnotatedElement.Kind renamed to JavaResourceAnnotatedElement.AstNodeType. Replaced Kind.getAstNodeType() with AstNodeType.matches(int)
  • AnnotationAdapter
    • changed method signature of newMarkerAnnotation() to return MarkerAnnotation
    • changed method signature of newSingleMemberAnnotation() to return SingleMemberAnnotation
    • changed method signature of newNormalAnnotation() to return NormalAnnotation
  • AnnotationElementAdapter
    • added methods for performance improvements
      • getValue(Annotation)
      • getExpression(Annotation)
  • DeclarationAnnotationElementAdapter
    • added methods for performance improvements
      • getValue(Annotation)
      • getExpression(Annotation)
  • NotifyingRepeatingJobCommand.Listener
    • changed signature of method executionQuiesced(JobCommand, IProgressMonitor) : IStatus to executionQuiesced(JobCommand) : void - all listeners are notified; there is no way to cancel this notification
  • *.common.core.resource.xml.JptXmlResource - moved/renamed from *.jpa.core.JpaXmlResource
  • ResourceLocator renamed methods:
    • resourceLocationIsValid(...) renamed to locationIsValid(...)
    • getDefaultResourceLocation(...) renamed to getDefaultLocation(...)
    • getResourcePath(...) renamed to getWorkspacePath(...)
  • ProjectResourceLocator renamed methods:
    • resourceLocationIsValid(...) renamed to locationIsValid(...)
    • getDefaultResourceLocation(...) renamed to getDefaultLocation(...)
    • getResourcePath(...) renamed to getWorkspacePath(...)
  • EBaseObject
    • added method getFullTextRange()
  • renamed ContentTypeReference.CONTENT_TYPE_TRANSFORMER to TRANSFORMER
  • moved GenericAnnotationProvider to an internal package
  • renamed JptResourceTypeReference.RESOURCE_TYPE_TRANSFORMER to TRANSFORMER
  • renamed JavaResourceCompilationUnit.getModifySharedDocumentCommandExecutor() to getModifySharedDocumentCommandContext()
  • renamed JavaResourceNode to JavaResourceModel
  • moved EmfTools to an internal package
  • renamed JpaXmlResourceProvider to JptXmlResourceProvider
  • moved AbstractTextRange to an internal package
  • renamed various CommandExecutor classes:

Old New
CombinedCommandExecutor CombinedCommandContext
CombinedExtendedCommandExecutor CombinedExtendedCommandContext
ExtendedCommandExecutor ExtendedCommandContext
JobCommandExecutor JobCommandContext

JPA Database (Provisional API)

  • JptJpaDbPlugin - moved to private package and moved its members to the appropriate public interfaces etc.

Old New
getConnectionProfileFactory() IWorkspace.getAdapter(ConnectionProfileFactory.class)
buildDriverClasspathContainerFor(...) ConnectionProfileFactory.buildDriverClasspathContainer(...)

  • promoted the method refresh() from Schema to DatabaseObject
  • added ConnectionProfileFactory.getWorkspace()

JPA Core (Provisional API)

  • JptJpaCorePlugin - moved to private package and moved its members to the appropriate public interfaces etc.

Old New
DEFAULT_PERSISTENCE_XML_RUNTIME_PATH XmlPersistence.DEFAULT_RUNTIME_PATH
PERSISTENCE_XML_CONTENT_TYPE XmlPersistence.CONTENT_TYPE
PERSISTENCE_XML_1_0_CONTENT_TYPE XmlPersistence.CONTENT_TYPE
PERSISTENCE_XML_2_0_CONTENT_TYPE XmlPersistence.CONTENT_TYPE
MAPPING_FILE_CONTENT_TYPE ResourceMappingFile.Root.CONTENT_TYPE
DEFAULT_ORM_XML_RUNTIME_PATH XmlEntityMappings.DEFAULT_RUNTIME_PATH
ORM_XML_CONTENT_TYPE XmlEntityMappings.CONTENT_TYPE
ORM_XML_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE
ORM_XML_1_0_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE_1_0
ORM_XML_2_0_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE_2_0
VALIDATION_MARKER_ID JpaValidator.MARKER_ID
VALIDATOR_ID removed
WEB_FACET ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_WEB_MODULE)
USER_OVERRIDE_DEFAULT_CATALOG JpaProject.USER_OVERRIDE_DEFAULT_CATALOG_PERSISTENT_PROPERTY_KEY
USER_OVERRIDE_DEFAULT_SCHEMA JpaProject.USER_OVERRIDE_DEFAULT_SCHEMA_PERSISTENT_PROPERTY_KEY
DATA_SOURCE_CONNECTION_PROFILE_NAME JpaDataSource.CONNECTION_PROFILE_NAME_PERSISTENT_PROPERTY_KEY
getConnectionProfileName(...) removed
setConnectionProfileName(...) removed
getUserOverrideDefaultCatalog(...) removed
setUserOverrideDefaultCatalog(...) removed
getUserOverrideDefaultSchema(...) removed
setUserOverrideDefaultSchema(...) removed
clearProjectPersistentProperties(...) removed
getJarRuntimeRootPath(...) ProjectTools.getJarRuntimeRootPath(...)
nodeIsJpa2_0Compatible(...) JptResourceType.isCompatibleWith(...)
nodeIsXml2_0Compatible(...) JptResourceType.isCompatibleWith(...)
resourceTypeIsCompatible(...) JptResourceType.isCompatibleWith(...)
projectHasWebFacet(...) ProjectTools.hasWebFacet(...)

  • moved preference code to new facade JpaPreferences
  • JpaStructureNode now extends JpaContextNode
  • renamed AbstractXmlResourceProvider to AbstractJpaXmlResourceProvider and moved to internal package
  • moved JpaXmlResourceProvider to appropriate package and added method createFileAndResource(...)
  • cleaned up support for non-XML mapping files:
    • changed the resource passed to the method JpaFactory.buildMappingFile(...) from JpaXmlResource to Object
    • moved MappingFileRoot to be a member type: MappingFile.Root
    • added change support for MappingFile.ROOT_PROPERTY
    • added methods to MappingFile:
      • getResourceMappingFile()
    • MappingFilePersistenceUnitMetadata now extends JpaContextNode, not XmlContextNode
    • MappingFilePersistenceUnitDefaults now extends JpaContextNode, not XmlContextNode
    • added support for a root to XmlFile
    • OrmXml now extends XmlFile
    • EntityMappings now extends both MappingFile.Root and XmlFile.Root
    • Persistence now extends XmlFile.Root
    • replaced PersistenceXml.getPersistence() with getRoot()
    • added method MappingFile.getDefinition()
  • added method EntityMappings.getOrmXml()
  • removed JpaXmlStructureNode and moved method getXmlCompletionProposals(...) to XmlContextNode
  • removed unneeded method MappingFileRef.isFor(...)
  • renamed MappingFileRef.isImplied() to MappingFileRef.isDefault()
  • renamed PersistenceXmlContextNodeFactory.buildImpliedMappingFileRef(...) to PersistenceXmlContextNodeFactory.buildVirtualMappingFileRef(...)
  • added method JpaNode.getJpaPlatform()
  • deleted class JpaFacet
    • moved ID to JpaProject.FACET_ID
    • moved FACET to JpaProject.FACET
    • moved VERSION_1_0 to JpaProject.FACET_VERSION_STRING and JpaProject.FACET_VERSION
    • moved VERSION_2_0 to JpaProject2_0.FACET_VERSION_STRING and JpaProject2_0.FACET_VERSION
  • changed JpaPlatformFactory.buildJpaPlatform(String) to JpaPlatformFactory.buildJpaPlatform(JpaPlatform.Config)
  • reworked JpaPlatformManager
    • no longer a singleton - access it via JpaWorkspace
    • renamed various methods to more accurately reflect model (e.g. getPlatform(String) now returns a JpaPlatform, while getJpaPlatformDescription(String) returns the JpaPlatformDescription)
  • added method JpaPlatform.getContentType(IFile)
  • ConnectionProfileFactory is no longer a singleton - access it via JpaWorkspace
  • PersistenceUnit added method removeSpecifiedClassRefs(Iterable<ClassRef>)
  • JpaProject
    • changed getMappedJavaSourceClassNames(): Iterable<String> to getPotentialJavaSourceTypes() : Iterable<JavaResourceAbstractType>
    • changed getAnnotatedJavaSourceClassNames(): Iterable<String> to getAnnotatedJavaSourceTypes() : Iterable<JavaResourceAbstractType>
  • reworked JpaProject.Manager
    • added getJpaWorkspace()
    • removed log(String)
    • removed log(Throwable)
    • removed log(String, Throwable)
    • removed getExceptionHandler()
  • JpaProjectManager
    • renamed
      • addAsyncEventListenerFlag(BooleanReference) to addJavaEventListenerFlag(BooleanReference)
      • removeAsyncEventListenerFlag(BooleanReference) to removeJavaEventListenerFlag(BooleanReference)
  • JpaPlatformProvider
    • removed getMostRecentSupportedResourceType(IContentType)
    • added getMostRecentSupportedResourceTypes()
  • PersistentType
    • added getAttributeTypeBinding(ReadOnlyPersistentAttribute)
  • ReadOnlyPersistentAttribute
    • added getTypeName(PersistentType)
  • Generator - refactored all DB specific methods to a new interface DbGenerator bug 380150
  • added interface JavaElementReference - implemented by:
    • JavaPersistentType
    • JavaPersistentAttribute
    • Accessor
  • cleaned up how JpaFile root structure nodes are registered Bug 231872:
    • added JpaFile.updateRootStructureNodes()
    • removed JpaFile.addRootStructureNode(Object, JpaStructureNode)
    • removed JpaFile.removeRootStructureNode(Object, JpaStructureNode)
    • added JpaStructureNode.gatherRootStructureNodes(JpaFile, Collection<JpaStructureNode>)
  • fixed Structure View when static member types present Bug 390616:
    • added JpaStructureNodes.getFullTextRange()
    • renamed EntityMappings.getFullyQualifiedName(...) to qualify(...)
  • reworked JpaPlatform-related classes:
    • renamed JpaPlatformDescription to JpaPlatform.Config
    • renamed JpaPlatformGroupDescription to JpaPlatform.GroupConfig
    • added method JpaPlatform.Config.getJpaPlatform()
  • JpaProject2_0 no longer extends MetamodelSynchronizer - that behavior should be internal to the JpaProject
  • JpaXmlResource - moved/renamed to *.common.core.JptXmlResource.
  • added method ClassRef.getJavaResourceType()
  • added method Entity.supportsValidationMessages() and Entity.getNameTextRange()
  • added method Generator.supportsValidationMessages()
  • added method Query.supportsValidationMessages()
  • Refactored validation methods to not include a CompilationUnit for Java(bug 376595). Now the API is the same for Java and Orm.
    • added JpaContextNode.getValidationTextRange()
    • added JpaContextNode.validate(...)
    • Refactored completion proposal methods to be identical in xml and java and moved up the hierarchy, removed Filter and CompilationUnit parameters in both JPA and JAXB
      • added JpaContextNode.getCompletionProposals(...)
    • Deleted JavaJpaContextNode and XmlContextNode as they were no longer needed after the validation and context assist refactorings.
    • Deleted many other Java and Xml specific interfaces. For example, JavaMultiRelationshipMapping and XmlMultiRelationshipMapping were deleted, use MultiRelationshipMapping now.
  • The refactoring participant methods have been refactored
    • The common methods have been consolidated into the following interfaces:
      • DeleteTypeRefactoringParticipant
      • MappingFileRefactoringParticipant
      • TypeRefactoringParticipant
    • The following interfaces now extend one or more of the above-listed interfaces:
      • EntityMappings
      • OrmAttributeMapping
      • OrmIdClassReference
      • OrmPersistentAttribute
      • OrmPersistentType
      • OrmTypeMapping
      • ClassRef
      • MappingFileRef
      • PersistenceUnit
      • PersistenceUnitProperties
  • PersistentType2_0
    • added method getMetamodelType()
  • JarFile
    • removed method dispose()
  • removed JpaStructureNode.dispose(). Now only EntityMappings, OrmPersistentType, OrmReadOnlyPersistentAttribute, MappingFileRef, Persistence, PersistenceUnit have the dispose() method.
  • MappingFile, XmlFile,JarFile now extend JpaContextNode not JpaStructureNode
  • added JpaStructureNode.getChildren(), getChildrenSize() which is used for displaying nodes in the JpaStructureView
  • JavaPersistentAttribute.contains(int), OrmAttributeMapping.contains(int), <code>OrmPersistentType.contains(int), OrmReadOnlyPersistentAttribute.contains(int) replaced with <code>JpaStructureNode.containsOffset(int)
  • Support JPA 2.1 Converter types (bug 392702):
    • added ManagedType, JavaManagedType, OrmManagedType
    • PersistentType now extends ManagedType, moved some type/name related methods to it
    • added JavaManagedTypeDefinition
    • added OrmManagedTypeDefinition
    • added method JpaPlatform.getJavaManagedTypeDefinitions()
    • added method JpaPlatformProvider.getJavaManagedTypeDefinitions()
    • added method JpaProject.getManagedTypeAnnotationNames()
    • JarFile
      • renamed getJavaPersistentTypes() to getJavaManagedTypes()
      • renamed getJavaPersistentTypesSize() to getJavaManagedTypesSize()
    • EntityMappings
      • replaced removePersistentType(...) with removeManagedType(...)
      • replaced containsPersistentType(...) with containsManagedType(...)
      • replaced PERSISTENT_TYPES_LIST with MANAGED_TYPES_LIST(...)
      • replaced getPersistentTypesSize() with getManagedTypesSize()
    • replaced OrmPersistentType.JAVA_PERSISTENT_TYPE_PROPERTY with OrmManagedType.JAVA_MANAGED_TYPE_PROPERTY
    • possibly want to use OrmManagedType.getJavaManagedType() instead of OrmPersistent.getJavaPersistentType() that is now just a helper method for returning the JavaManagedType of it is of type JavaPersistentType
    • OrmTypeMapping
      • getClass_() and setClass(...) and getClassTextRange()moved to OrmManagedType
      • remove createDeleteEdit() - OrmManagedType.createDeleteTypeEdits(...) used instead
    • added method OrmXmlDefinition.getManagedTypeDefinition(...)
    • changed ClassRef
      • added method getJavaManagedType()
      • renamed JAVA_PERSISTENT_TYPE_PROPERTY to JAVA_MANAGED_TYPE_PROPERTY
    • added interface ManagedTypeContainer and PersistentTypeContainer now extends this.
    • renamed method PersistenceUnit.specifiesPersistentType(String) to specifiesManagedType()
    • created new interfaces:
      • ConverterType2_1
      • EntityMappings2_1
      • ConverterType2_1
      • OrmXml2_1ContextNodeFactory2_1
      • JpaFactory2_1
  • renamed AccessHolder to AccessReference
  • renamed [Java/Orm]CacheableHolder2_0 to [Java/Orm]CacheableReference2_0
  • renamed [Java/Orm]CacheableHolder2_0 to [Java/Orm]CacheableReference2_0
  • renamed OrphanRemovalHolder2_0 to [Java/Orm]OrphanRemovalMapping2_0
  • renamed Connection2_0 to JpaConnection2_0
  • renamed JpaOptions2_0 to Options2_0
  • renamed SharedCacheMode to SharedCacheMode2_0
  • renamed ValidationMode to ValidationMode2_0
  • renamed MetamodelSynchronizer to JpaMetamodelSynchronizer2_0
  • renamed ResourceDefinition to JpaResourceDefinition
  • renamed JpaNode to JpaModel
  • renamed JpaContextNode to JpaContextModel
  • renamed JpaRootContextNode to JpaContextModelRoot
  • renamed JpaNamedContextNode to JpaNamedContextModel
  • moved JPA 2.0- and 2.1-specific methods from PersistenceXmlContextModelFactory to appropriate sub-interfaces: PersistenceXmlContextModelFactory2_0 and PersistenceXmlContextModelFactory2_1
  • added method PersistenceUnit.addPersistentTypes(...) to support adding persistent types from a wizard
  • renamed PersistenceXmlContextNodeFactory to PersistenceXmlContextModelFactory and corresponding methods PersistenceXmlDefinition.getResourceNodeFactory() to getResourceModelFactory() and PersistenceXmlDefinition.getContextNodeFactory() to getContextModelFactory()
  • renamed OrmXmlContextNodeFactory to OrmXmlContextModelFactory and corresponding methods OrmXmlDefinition.getResourceNodeFactory() to getResourceModelFactory() and OrmXmlDefinition.getContextNodeFactory() to getContextModelFactory()
  • renamed [Java/Orm]GeneratedValueHolder to [Java/Orm]GeneratedValueMapping
  • In a particularly painful (for adopters) change, the various pairs and triplets of interfaces named after the pattern:
ReadOnlyFoo
Foo
VirtualFoo
where Foo and VirtualFoo were subclasses of ReadOnlyFoo, the interfaces were renamed after the pattern:
Foo
SpecifiedFoo
VirtualFoo
where SpecifiedFoo and VirtualFoo are subclasses of Foo:

Old New
[Orm]ReadOnlyPersistentAttribute[2_0]
[Java/Orm]PersistentAttribute[2_0]
[Orm]PersistentAttribute[2_0]
[Java/Orm]SpecifiedPersistentAttribute[2_0]
ReadOnlyAccessHolder
AccessHolder
AccessReference
SpecifiedAccessReference
ReadOnlyNamedColumn
[Java/Orm]NamedColumn
VirtualNamedColumn
NamedColumn
[Java/Orm]SpecifiedNamedColumn
VirtualNamedColumn
ReadOnlyBaseJoinColumn
[Java/Orm]BaseJoinColumn
VirtualBaseJoinColumn
BaseJoinColumn
[Java/Orm]SpecifiedBaseJoinColumn
VirtualBaseJoinColumn
ReadOnlyJoinColumn
[Java/Orm]JoinColumn
VirtualJoinColumn
JoinColumn
[Java/Orm]SpecifiedJoinColumn
VirtualJoinColumn
ReadOnlyPrimaryKeyJoinColumn
[Java/Orm]PrimaryKeyJoinColumn
[Orm]VirtualPrimaryKeyJoinColumn
PrimaryKeyJoinColumn
[Java/Orm]SpecifiedPrimaryKeyJoinColumn
[Orm]VirtualPrimaryKeyJoinColumn
ReadOnlyNamedDiscriminatorColumn
NamedDiscriminatorColumn
VirtualNamedDiscriminatorColumn
NamedDiscriminatorColumn
SpecifiedNamedDiscriminatorColumn
VirtualNamedDiscriminatorColumn
[Java/Orm]ReadOnlyDiscriminatorColumn
[Java/Orm]DiscriminatorColumn
[Java/Orm]DiscriminatorColumn
[Java/Orm]SpecifiedDiscriminatorColumn
[Java/Orm]OrderColumn2_0 [Java/Orm]SpecifiedOrderColumn2_0
ReadOnlyTableColumn
TableColumn
VirtualTableColumn
TableColumn
SpecifiedTableColumn
VirtualTableColumn
ReadOnlyBaseColumn
[Java/Orm]BaseColumn
VirtualBaseColumn
BaseColumn
[Java/Orm]SpecifiedBaseColumn
VirtualBaseColumn
ReadOnlyColumn
[Java/Orm]Column
VirtualColumn
Column
[Java/Orm]SpecifiedColumn
VirtualColumn
ReadOnlyOverride
[Java/Orm]Override_
VirtualOverride
Override_
[Java/Orm]SpecifiedOverride
VirtualOverride
ReadOnlyAssociationOverride[2_0]
[Java/Orm]AssociationOverride[2_0]
[Java/Orm]VirtualAssociationOverride
AssociationOverride[2_0]
[Java/Orm]SpecifiedAssociationOverride[2_0]
[Java/Orm]VirtualAssociationOverride
ReadOnlyAttributeOverride
[Java/Orm]AttributeOverride
[Java/Orm]VirtualAttributeOverride
AttributeOverride
[Java/Orm]SpecifiedAttributeOverride
[Java/Orm]VirtualAttributeOverride
ReadOnlyRelationship
Relationship
VirtualRelationship
Relationship
SpecifiedRelationship
VirtualRelationship
ReadOnlyJoinColumnRelationship
JoinColumnRelationship
VirtualJoinColumnRelationship
JoinColumnRelationship
SpecifiedJoinColumnRelationship
VirtualJoinColumnRelationship
ReadOnlyJoinTableRelationship
JoinTableRelationship
VirtualJoinTableRelationship
JoinTableRelationship
SpecifiedJoinTableRelationship
VirtualJoinTableRelationship
[Java/Orm]ReadOnlyOverrideRelationship[2_0]
[Java/Orm]OverrideRelationship[2_0]
[Java/Orm]VirtualOverrideRelationship[2_0]
[Java/Orm]OverrideRelationship[2_0]
[Java/Orm]SpecifiedOverrideRelationship[2_0]
[Java/Orm]VirtualOverrideRelationship[2_0]
ReadOnlyRelationshipStrategy
RelationshipStrategy
VirtualRelationshipStrategy
RelationshipStrategy
SpecifiedRelationshipStrategy
VirtualRelationshipStrategy
ReadOnlyJoinColumnRelationshipStrategy
[Java/Orm]JoinColumnRelationshipStrategy
VirtualJoinColumnRelationshipStrategy
JoinColumnRelationshipStrategy
[Java/Orm]SpecifiedJoinColumnRelationshipStrategy
VirtualJoinColumnRelationshipStrategy
ReadOnlyJoinTableRelationshipStrategy
[Java/Orm]JoinTableRelationshipStrategy
VirtualJoinTableRelationshipStrategy
JoinTableRelationshipStrategy
[Java/Orm]SpecifiedJoinTableRelationshipStrategy
VirtualJoinTableRelationshipStrategy
MappedByRelationshipStrategy SpecifiedMappedByRelationshipStrategy
ReadOnlyTable
Table
VirtualTable
Table
SpecifiedTable
VirtualTable
ReadOnlyReferenceTable
[Java/Orm]ReferenceTable
VirtualReferenceTable
ReferenceTable
[Java/Orm]SpecifiedReferenceTable
VirtualReferenceTable
ReadOnlyJoinTable
[Java/Orm]JoinTable
VirtualJoinTable
JoinTable
[Java/Orm]SpecifiedJoinTable
VirtualJoinTable
ReadOnlySecondaryTable
[Java/Orm]SecondaryTable
VirtualSecondaryTable
SecondaryTable
[Java/Orm]SpecifiedSecondaryTable
VirtualSecondaryTable
ReadOnlyUniqueConstraint
[Java/Orm]UniqueConstraint
VirtualUniqueConstraint
UniqueConstraint
[Java/Orm]SpecifiedUniqueConstraint
VirtualUniqueConstraint

  • Various Owner interfaces were renamed to the corresponding interface ParentAdapter and refactored to return the client's parent; so, instead of constructing a client with both a parent and an owner, the client is constructed with only a parent adapter. The appropriate factory methods were changed accordingly:

Old New
[Java/Orm]OverrideContainer.Owner [Java/Orm]OverrideContainer.ParentAdapter
[Java/Orm]AssociationOverrideContainer.Owner [Java/Orm]AssociationOverrideContainer.ParentAdapter
[Java/Orm]AttributeOverrideContainer.Owner [Java/Orm]AttributeOverrideContainer.ParentAdapter
[Java/Orm]Converter.Owner [Java/Orm]Converter.ParentAdapter
OrmBaseEnumeratedConverter.Owner OrmBaseEnumeratedConverter.ParentAdapter
OrmBaseTemporalConverter.Owner OrmBaseTemporalConverter.ParentAdapter
JavaQueryContainer.Owner JavaQueryContainer.ParentAdapter
[Java/Orm]ReadOnlyTable.Owner [Java/Orm]Table.ParentAdapter
[Java/Orm]ReadOnlyCollectionTable2_0.Owner [Java/Orm]CollectionTable2_0.ParentAdapter
[Java/Orm]JoinTable.Owner [Java/Orm]SpecifiedJoinTable.ParentAdapter
[Java/Orm]SecondaryTable.Owner [Java/Orm]SpecifiedSecondaryTable.ParentAdapter
OrmVirtualSecondaryTable.Owner OrmVirtualSecondaryTable.ParentAdapter
VirtualJoinTable.Owner VirtualJoinTable.ParentAdapter
ReadOnlyNamedColumn.Owner NamedColumn.ParentAdapter
ReadOnlyTableColumn.Owner TableColumn.ParentAdapter
ReadOnlyBaseJoinColumn.Owner BaseJoinColumn.ParentAdapter
ReadOnlyJoinColumn.Owner JoinColumn.ParentAdapter
[Java/Orm]Column.Owner [Java/Orm]SpecifiedColumn.ParentAdapter
[Jave/Orm]OrderColumn2_0.Owner [Jave/Orm]SpecifiedOrderColumn2_0.ParentAdapter
ReadOnlyNamedDiscriminatorColumn.Owner NamedDiscriminatorColumn.ParentAdapter
[Jave/Orm]DiscriminatorColumn.Owner [Jave/Orm]SpecifiedDiscriminatorColumn.ParentAdapter
VirtualColumn.Owner VirtualColumn.ParentAdapter
[Jave/Orm]Orderable2_0.Owner [Jave/Orm]Orderable2_0.ParentAdapter

  • Remove the functionality that creates an orm.xml file during project creation (bug 403131):
    • Removed JpaFacetInstallDataModelProperties.CREATE_ORM_XML
    • Removed JpaFacetInstallDelegate.createOrmXml(...)
    • Changed JpaFacetInstallDelegate.createProjectXml(...) to only create persistence.xml

JAXB Core (Provisional API)

  • JptJaxbCorePlugin - moved to private package and moved its members to the appropriate public interfaces etc.

Old New
JAXB_INDEX_CONTENT_TYPE JaxbIndexResource.CONTENT_TYPE
JAXB_INDEX_RESOURCE_TYPE JaxbIndexResource.RESOURCE_TYPE
JAXB_PROPERTIES_CONTENT_TYPE JaxbPropertiesResource.CONTENT_TYPE
JAXB_PROPERTIES_RESOURCE_TYPE JaxbPropertiesResource.RESOURCE_TYPE
VALIDATION_MARKER_ID JaxbValidator.MARKER_ID

  • added JaxbWorkspace
  • added JaxbPreferences
  • renamed JaxbPlatformDescription to JaxbPlatformConfig
  • renamed JaxbPlatformGroupDescription to JaxbPlatformGroupConfig
  • removed GenericJaxbPlatform and scattered its constants to various JaxbPlatformDefinition implementations
  • removed JaxbFacet and moved its constants to JaxbProject

EclipseLink JPA Core (Provisional API)

  • JptJpaEclipseLinkCorePlugin - moved to private package and moved its members to the appropriate public interfaces etc.

Old New
DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH XmlEntityMappings.DEFAULT_RUNTIME_PATH
ECLIPSELINK_ORM_XML_CONTENT_TYPE XmlEntityMappings.CONTENT_TYPE
ECLIPSELINK_ORM_XML_1_0_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE_1_0
ECLIPSELINK_ORM_XML_1_1_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE_1_1
ECLIPSELINK_ORM_XML_1_2_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE_1_2
ECLIPSELINK_ORM_XML_2_0_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE_2_0
ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE_2_1
ECLIPSELINK_ORM_XML_2_2_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE_2_2
ECLIPSELINK_ORM_XML_2_3_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE_2_3
ECLIPSELINK_ORM_XML_2_4_RESOURCE_TYPE XmlEntityMappings.RESOURCE_TYPE_2_4
ECLIPSELINK_PLATFORM_VERSION_1_0 EclipseLinkJpaPlatformFactory.VERSION
ECLIPSELINK_PLATFORM_VERSION_1_1 EclipseLink1_1JpaPlatformFactory.VERSION
ECLIPSELINK_PLATFORM_VERSION_1_2 EclipseLink1_2JpaPlatformFactory.VERSION
ECLIPSELINK_PLATFORM_VERSION_2_0 EclipseLink2_0JpaPlatformFactory.VERSION
ECLIPSELINK_PLATFORM_VERSION_2_1 EclipseLink2_1JpaPlatformFactory.VERSION
ECLIPSELINK_PLATFORM_VERSION_2_2 EclipseLink2_2JpaPlatformFactory.VERSION
ECLIPSELINK_PLATFORM_VERSION_2_3 EclipseLink2_3JpaPlatformFactory.VERSION
ECLIPSELINK_PLATFORM_VERSION_2_4 EclipseLink2_4JpaPlatformFactory.VERSION
nodeIsEclipseLink2_3Compatible(...) removed
nodeIsEclipseLink2_4Compatible(...) removed
nodeIsEclipseLinkVersionCompatible(...) removed

  • moved preference code to new facade EclipseLinkJpaPreferences
  • removed EclipseLinkPlatform and scattered its constants to various JpaPlatformFactory implementations


EclipseLink JAXB Core (Provisional API)

  • removed ELJaxbPlatform and scattered its constants to various JaxbPlatformDefinition implementations


Common UI (Provisional API)

  • WidgetFactory:
    • removed deprecated createCCombo(...)
    • removed deprecated createEditableCCombo(...)
    • removed createMultiLineLabel(...)
    • added dispose() - must be called when finished with the widget factory
  • ItemLabelProvider.Manager:
    • added getResourceManager()
  • added JptCommonUiImages
  • Various ProviderFactory top-level interfaces were converted to member interfaces:

Old New
ItemExtendedLabelProviderFactory ItemExtendedLabelProvider.Factory
ItemLabelProviderFactory ItemLabelProvider.Factory
ItemStructuredContentProviderFactory ItemStructuredContentProvider.Factory
ItemTreeContentProviderFactory ItemTreeContentProvider.Factory

JPA UI (Provisional API)

  • enhanced JpaPlatformUi:
    • added getTypeMappingUiDefinition(...)
    • added getAttributeMappingUiDefinition(...)
    • added parameters PropertyValueModel<Boolean> enabledModel and ResourceManager resourceManager to buildTypeMappingComposite(...)
    • added parameters PropertyValueModel<Boolean> enabledModel and ResourceManager resourceManager to buildAttributeMappingComposite(...)
    • changed buildJpaDetailsManager(...) to getDetailsProvider(JpaStructureNode)
  • converted Iterators to Iterables:
    • JpaPlatformUi.getTypeMappingUiDefinitions(...)
    • JpaPlatformUi.getAttributeMappingUiDefinitions(...)
    • JpaPlatformUiProvider.getDetailsProviders()
    • JpaPlatformUiProvider.getResourceUiDefinitions()
    • MappingResourceUiDefinition.getTypeMappingUiDefinitions()
    • MappingResourceUiDefinition.getAttributeMappingUiDefinitions()
  • enhanced JpaPlatformUiProvider:
    • moved getDetailsProviders() to ResourceUiDefinition
  • enhanced ResourceUiDefinition:
    • added getEditorPageDefinitions()
    • moved getDetailsProviders() from JpaPlatformUiProvider
  • enhanced MappingResourceUiDefinition:
    • added getTypeMappingUiDefinition(...)
    • added getTypeMappingUiDeginitions(PersistentType)
    • added getAttributeMappingUiDefinition(...)
    • added getAttributeMappingUiDefinitions(ReadOnlyPersistentAttribute)
    • added parameters PropertyValueModel<Boolean> enabledModel and ResourceManager resourceManager to buildAttributeMappingComposite(...)
    • added parameter ResourceManager resourceManager to buildTypeMappingComposite(...)
  • enhanced MappingUiDefinition:
    • ungenericized this interface
    • changed getImage() to getImageDescriptor()
    • added method buildMappingComposite(), this replaced similar methods in JavaTypeMappingUiDefinition and JavaAttributeMappingUiDefinition. added parameters PropertyValueModel<Boolean> enabledModel and ResourceManager resourceManager
  • deleted JavaTypeMappingUiDefinition - see MappingUiDefinition
  • deleted JavaAttributeMappingUiDefinition - see MappingUiDefinition
  • deleted DefaultJavaTypeMappingUiDefinition - see MappingUiDefinition
  • deleted DefaultJavaAttributeMappingUiDefinition - see MappingUiDefinition
  • deleted OrmTypeMappingUiDefinition - see MappingUiDefinition
  • deleted OrmAttributeMappingUiDefinition - see MappingUiDefinition
  • deleted JavaUiFactory - see JpaUiFactory
  • deleted OrmXmlUiFactory - see JpaUiFactory
  • deleted JavaUiFactory2_0 - see JpaUiFactory2_0
  • deleted OrmXmlUiFactory2_0 - see JpaUiFactory2_0
  • added JpaUiFactory and JpaUiFactory2_0
    • methods from deleted classes JavaUiFactory OrmXmlUiFactory were renamed to be not specific to orm/java, ie createEntityComposite(...) replaced createJavaEntityComposite(...)
    • added parameters PropertyValueModel<Boolean> enabledModel and ResourceManager resourceManager to all attribute and type mapping methods
    • removed vestigial ORM type mapping methods:
      • createOrmMappedSuperclassComposite(...)
      • createOrmEntityComposite(...)
      • createOrmEmbeddableComposite(...)
  • enhanced JpaComposite
    • removed enableWidgets(boolean) - a Pane now takes a PropertyValueModel<Boolean> used for enabling widgets
  • moved JpaPageComposite from org.eclipse.jpt.jpa.ui.details to org.eclipse.jpa.ui.editors and renamed it to JpaEditorPageDefinition
    • no longer extends JpaComposite
    • renamed getPageImageDescriptor() to getTitleImageDescriptor()
    • renamed getPageText() to getTitleText()
    • added buildContent(...)
  • enhanced JpaDetailsPageManager:
    • ungenericized this interface.
    • getSubject() now returns JpaStructureNode
    • setSubject(...) now takes a JpaStructureNode parameter
  • enhanced JpaDetailsPageManager.Factory:
    • added parameter ResourceManager resourceManager to buildPageManager(...)
  • enhanced JpaDetailsProvider:
    • added parameter ResourceManager resourceManager to buildDetailsPageManager(...)
    • replaced method providesDetails(JpaStructureNode>) with getType()
  • added JpaWorkbench
  • added JpaPlatformUiManager
  • added JptJpaUiImages
  • added PersistenceResourceUiDefinition that any ResourceUiDefinition for a persistence.xml file needs to implement
  • removed the functionality that creates an orm.xml file during project creation (bug 392222):
    • removed JpaFacetInstallPage.OrmXmlGroup

JPQL Query (content assist and validation) (Provisional API)

  • SourceAnnotation, ASTTools
    • Added support for retrieving a list of text ranges when the value is split.
  • Query, QueryAnnotation, XmlQuery
    • Changed "TextRange getTextRange()" to "List<TextRange> getTextRanges()" to support a JPQL query split into multiple sections (see bug 386414).
  • XmlQuery
    • Added 3 methods (getActualQuery(), getQueryOffset(), isQueryInsideCDATASection()) to help fix alignment issue of content assist and validation text range (also see bug 360713).
  • JpaJpqlQueryHelper, changed the signature of validate() to better support content assist and validation due to:
    • Split strings in a Java annotation;
    • Inside a CDATA section in XML;
    • Contains leading whitespace between <query> element and the query itself in XML.

JAXB UI (Provisional API)

  • JptJaxbUiPlugin - moved to private package and moved its members to the appropriate public interfaces etc.

Old New
getJaxbPlatformUiManager() TO DO

  • added JaxbWorkbench
  • added JptJaxbUiImages

Reference

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