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

From Eclipsepedia

Jump to: navigation, search
(Overview)
Line 14: Line 14:
 
Following are some of the noteworthy 'minor' field changes.  
 
Following are some of the noteworthy 'minor' field changes.  
 
-->
 
-->
 
== WTP Git migration ==
 
 
WTP has moved its source code repository from CVS to Git.  A detailed list of what moved where can be found  [http://wiki.eclipse.org/WTP_Git_Migration_Checklist here]
 
  
 
== [[Dali]] ==
 
== [[Dali]] ==
 
=== 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.
 
 
* Various convenience <code>Transformer</code>s have been added to many public interfaces.
 
  
 
=== Common Utility (Provisional API) ===
 
=== Common Utility (Provisional API) ===
 
* added interfaces:
 
* added interfaces:
** <code>Association</code>
 
** <code>Bag</code>
 
** <code>Queue</code>
 
** <code>Stack</code>
 
** <code>ListIterable</code>
 
** <code>MultiThreadedExceptionHandler</code>
 
** <code>Node</code>
 
** <code>Problem</code>
 
** <code>IntReference</code>
 
** <code>ModifiableIntReference</code>
 
** <code>ModifiableBooleanReference</code>
 
** <code>Transformer</code>
 
 
* moved interfaces:
 
** <code>ObjectReference</code>
 
** <code>ModifiableObjectReference</code>
 
** <code>BooleanReference</code>
 
** <code>IndentingPrintWriter</code>
 
** <code>Synchronizer</code> (moved to JAXB core plug-in)
 
** <code>CallbackSynchronizer</code> (moved to JAXB core plug-in)
 
 
* removed all "tree"-related events and listeners
 
 
* removed the <code>Filter</code> interface and converted all <code>Filter</code>s to <code>Predicate</code>s
 
 
* 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) ===
 
* added interfaces:
 
** <code>JptWorkspace</code>
 
** <code>LibraryValidatorManager</code>
 
** <code>ResourceLocatorManager</code>
 
 
* <code>JptCommonCorePlugin</code> - moved to private package and moved its members to the appropriate public interfaces etc.
 
<code>
 
{|  border="1" cellpadding="5" cellspacing="0"
 
|-
 
! 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(...)
 
|}
 
</code>
 
 
* reworked resource types
 
** added <code>resourcTypes</code> extension point to specify resource types and their relationships
 
** converted <code>JptResourceType</code> to an interface with instances defined by the <code>resourcTypes</code> extension point - extensions are managed by the <code>JptResourceTypeManager</code>
 
** defined basic resource types
 
** added <code>JptResourceTypeReference</code>
 
** added <code>ContentTypeReference</code>
 
 
* added <code>TypeBinding</code> to encapsulate type information (e.g. simple/qualified name, is interface/enum) spread elsewhere in resource model
 
 
* <code>JavaResourceAbstractType</code>
 
** Removed
 
*** <code>getQualifiedName()
 
*** getPackageName()
 
*** isMemberType()</code> (and associated property strings). 
 
** Added <code>getTypeBinding()</code> (and associated property string) whose API now takes their place (and adds related API).
 
 
* <code>JavaResourceAttribute</code>
 
** Removed
 
*** <code>getTypeArrayComponentTypeName()
 
*** getTypeArrayDimensionality()
 
*** getTypeInterfaceNames()
 
*** getTypeName()
 
*** getTypeSuperclassNames()
 
*** getTypeTypeArgumentName(int)
 
*** getTypeTypeArgumentNames()
 
*** getTypeTypeArgumentNamesSize()
 
*** typeIsArray()
 
*** typeIsEnum()
 
*** typeIsInterface()
 
*** typeIsSubTypeOf(String)
 
*** typeIsVariablePrimitive()</code> (and associated property strings).
 
** Added <code>getTypeBinding()</code> (and associated property string) whose API now takes their place (and adds related API). 
 
 
* <code>JavaResourceField</code> - added <code>synchronizeWith(FieldDeclaration, VariableDeclarationFragment)</code> to replace <code>synchronizeWith(CompilationUnit)</code>
 
 
* <code>JavaResourceMethod</code> - removed <code>initialize(MethodDeclaration)</code> as it was unnecessary.
 
 
* <code>JavaResourceType</code>
 
** Added
 
*** <code>getAttributeTypeBinding(JavaResourceAttribute)</code>
 
*** <code>getField(String name)</code>
 
 
* <code>Annotation</code> - 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
 
*** <code>initialize(Annotation)</code>.
 
*** <code>synchronizeWith(Annotation)</code>.
 
 
* <code>JavaResourceAnnotatedElement</code>
 
** added
 
*** <code>getContainerAnnotation(String) : Annotation</code>. - You can no longer use getAnnotation(String) to return container annotations. This was changed to improve performance. see [https://bugs.eclipse.org/376787 bug 376787]
 
** changed
 
*** <code>getNameTextRange(CompilationUnit)</code> to <code>getNameTextRange()</code>. Caching the name <code>TextRange</code> during sync
 
*** <code>getKind()</code> to <code>getAstNodeType()</code>
 
***<code>JavaResourceAnnotatedElement.Kind</code> renamed to <code>JavaResourceAnnotatedElement.AstNodeType</code>. Replaced <code>Kind.getAstNodeType()</code> with <code>AstNodeType.matches(int)</code>
 
 
* <code>AnnotationAdapter</code>
 
** changed method signature of <code>newMarkerAnnotation()</code> to return <code>MarkerAnnotation</code>
 
** changed method signature of <code>newSingleMemberAnnotation()</code> to return <code>SingleMemberAnnotation</code>
 
** changed method signature of <code>newNormalAnnotation()</code> to return <code>NormalAnnotation</code>
 
 
* <code>AnnotationElementAdapter</code>
 
** added methods for performance improvements
 
*** <code>getValue(Annotation)</code>
 
*** <code>getExpression(Annotation)</code>
 
 
* <code>DeclarationAnnotationElementAdapter</code>
 
** added methods for performance improvements
 
*** <code>getValue(Annotation)</code>
 
*** <code>getExpression(Annotation)</code>
 
 
* <code>NotifyingRepeatingJobCommand.Listener</code>
 
** 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>*.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) ===
 
 
* <code>JptJpaDbPlugin</code> - moved to private package and moved its members to the appropriate public interfaces etc.
 
<code>
 
{| border="1" cellpadding="5" cellspacing="0"
 
|-
 
! Old
 
! New
 
|-
 
| getConnectionProfileFactory()
 
| IWorkspace.getAdapter(ConnectionProfileFactory.class)
 
|-
 
| buildDriverClasspathContainerFor(...)
 
| ConnectionProfileFactory.buildDriverClasspathContainer(...)
 
|}
 
</code>
 
 
* promoted the method <code>refresh()</code> from <code>Schema</code> to <code>DatabaseObject</code>
 
* added <code>ConnectionProfileFactory.getWorkspace()</code>
 
 
=== JPA Core (Provisional API)  ===
 
* <code>JptJpaCorePlugin</code> - moved to private package and moved its members to the appropriate public interfaces etc.
 
<code>
 
{| border="1" cellpadding="5" cellspacing="0"
 
|-
 
! 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(...)
 
|}
 
</code>
 
 
* moved preference code to new facade <code>JpaPreferences</code>
 
 
* <code>JpaStructureNode</code> now extends <code>JpaContextNode</code>
 
 
* renamed <code>AbstractXmlResourceProvider</code> to <code>Abstract'''Jpa'''XmlResourceProvider</code> and moved to internal package
 
 
* moved <code>JpaXmlResourceProvider</code> to appropriate package and added method <code>createFileAndResource(...)</code>
 
 
* cleaned up support for non-XML mapping files:
 
** changed the resource passed to the method <code>JpaFactory.buildMappingFile(...)</code>  from <code>JpaXmlResource</code> to <code>Object</code>
 
** moved <code>MappingFileRoot</code> to be a member type: <code>MappingFile.Root</code>
 
** added change support for <code>MappingFile.ROOT_PROPERTY</code>
 
** added methods to <code>MappingFile</code>:
 
*** <code>getResourceMappingFile()</code>
 
** <code>MappingFilePersistenceUnitMetadata</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>
 
** <code>OrmXml</code> now extends <code>XmlFile</code>
 
** <code>EntityMappings</code> now extends both <code>MappingFile.Root</code> and <code>XmlFile.Root</code>
 
** <code>Persistence</code> now extends <code>XmlFile.Root</code>
 
** replaced <code>PersistenceXml.getPersistence()</code> with <code>getRoot()</code>
 
** added method <code>MappingFile.getDefinition()</code>
 
 
* added method <code>EntityMappings.getOrmXml()</code>
 
 
* removed <code>JpaXmlStructureNode</code> and moved method <code>getXmlCompletionProposals(...)</code> to <code>XmlContextNode</code>
 
 
* removed unneeded method <code>MappingFileRef.isFor(...)</code>
 
 
* renamed <code>MappingFileRef.isImplied()</code> to <code>MappingFileRef.isDefault()</code>
 
 
* renamed <code>PersistenceXmlContextNodeFactory.buildImpliedMappingFileRef(...)</code> to <code>PersistenceXmlContextNodeFactory.buildVirtualMappingFileRef(...)</code>
 
 
* added method <code>JpaNode.getJpaPlatform()</code>
 
 
* deleted class <code>JpaFacet</code>
 
** moved <code>ID</code> to <code>JpaProject.FACET_ID</code>
 
** moved <code>FACET</code> to <code>JpaProject.FACET</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>
 
 
* changed <code>JpaPlatformFactory.buildJpaPlatform(String)</code> to <code>JpaPlatformFactory.buildJpaPlatform(JpaPlatform.Config)</code>
 
 
* reworked <code>JpaPlatformManager</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>)
 
 
* added method <code>JpaPlatform.getContentType(IFile)</code>
 
 
* <code>ConnectionProfileFactory</code> is no longer a singleton - access it via <code>JpaWorkspace</code>
 
 
* <code>PersistenceUnit</code> added method <code>removeSpecifiedClassRefs(Iterable<ClassRef>)</code>
 
 
* <code>JpaProject</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>
 
 
* 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>
 
** renamed
 
*** <code>addAsyncEventListenerFlag(BooleanReference)</code> to <code>addJavaEventListenerFlag(BooleanReference)</code>
 
*** <code>removeAsyncEventListenerFlag(BooleanReference)</code> to <code>removeJavaEventListenerFlag(BooleanReference)</code>
 
 
* <code>JpaPlatformProvider</code>
 
** removed <code>getMostRecentSupportedResourceType(IContentType)</code>
 
** added <code>getMostRecentSupportedResourceTypes()</code>
 
 
* <code>PersistentType</code>
 
** added <code>getAttributeTypeBinding(ReadOnlyPersistentAttribute)</code>
 
 
* <code>ReadOnlyPersistentAttribute</code>
 
** 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]
 
 
* added interface <code>JavaElementReference</code> - implemented by:
 
** <code>JavaPersistentType</code>
 
** <code>JavaPersistentAttribute</code>
 
** <code>Accessor</code>
 
 
* cleaned up how <code>JpaFile</code> root structure nodes are registered [https://bugs.eclipse.org/bugs/show_bug.cgi?id=231872 Bug 231872]:
 
** added <code>JpaFile.updateRootStructureNodes()</code>
 
** removed <code>JpaFile.addRootStructureNode(Object, JpaStructureNode)</code>
 
** removed <code>JpaFile.removeRootStructureNode(Object, JpaStructureNode)</code>
 
** added <code>JpaStructureNode.gatherRootStructureNodes(JpaFile, Collection<JpaStructureNode>)</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>
 
 
* 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>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)  ===
 
 
* <code>JptJaxbCorePlugin</code> - moved to private package and moved its members to the appropriate public interfaces etc.
 
<code>
 
{| border="1" cellpadding="5" cellspacing="0"
 
|-
 
! 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
 
|}
 
</code>
 
 
* added <code>JaxbWorkspace</code>
 
 
* added <code>JaxbPreferences</code>
 
 
* renamed <code>JaxbPlatformDescription</code> to <code>JaxbPlatformConfig</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)  ===
 
 
* <code>JptJpaEclipseLinkCorePlugin</code> - moved to private package and moved its members to the appropriate public interfaces etc.
 
<code>
 
{| border="1" cellpadding="5" cellspacing="0"
 
|-
 
! 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
 
|}
 
</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) ===
 
* <code>WidgetFactory</code>:
 
** removed deprecated <code>createCCombo(...)</code>
 
** removed deprecated <code>createEditableCCombo(...)</code>
 
** removed <code>createMultiLineLabel(...)</code>
 
** added <code>dispose()</code> - must be called when finished with the widget factory
 
 
* <code>ItemLabelProvider.Manager</code>:
 
** added <code>getResourceManager()</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) ===
 
 
* enhanced <code>JpaPlatformUi</code>:
 
** added <code>getTypeMappingUiDefinition(...)</code>
 
** added <code>getAttributeMappingUiDefinition(...)</code>
 
** added parameters <code>PropertyValueModel<Boolean> enabledModel</code> and <code>ResourceManager resourceManager</code> to <code>buildTypeMappingComposite(...)</code>
 
** added parameters <code>PropertyValueModel<Boolean> enabledModel</code> and <code>ResourceManager resourceManager</code> to <code>buildAttributeMappingComposite(...)</code>
 
** changed <code>buildJpaDetailsManager(...)</code> to <code>getDetailsProvider(JpaStructureNode)</code>
 
 
* converted <code>Iterator</code>s to <code>Iterable</code>s:
 
** <code>JpaPlatformUi.getTypeMappingUiDefinitions(...)</code>
 
** <code>JpaPlatformUi.getAttributeMappingUiDefinitions(...)</code>
 
** <code>JpaPlatformUiProvider.getDetailsProviders()</code>
 
** <code>JpaPlatformUiProvider.getResourceUiDefinitions()</code>
 
** <code>MappingResourceUiDefinition.getTypeMappingUiDefinitions()</code>
 
** <code>MappingResourceUiDefinition.getAttributeMappingUiDefinitions()</code>
 
 
* enhanced <code>JpaPlatformUiProvider</code>:
 
** moved <code>getDetailsProviders()</code> to <code>ResourceUiDefinition</code>
 
 
* enhanced <code>ResourceUiDefinition</code>:
 
** added <code>getEditorPageDefinitions()</code>
 
** moved <code>getDetailsProviders()</code> from <code>JpaPlatformUiProvider</code>
 
 
* enhanced <code>MappingResourceUiDefinition</code>:
 
** added <code>getTypeMappingUiDefinition(...)</code>
 
** added <code>getTypeMappingUiDeginitions(PersistentType)</code>
 
** added <code>getAttributeMappingUiDefinition(...)</code>
 
** added <code>getAttributeMappingUiDefinitions(ReadOnlyPersistentAttribute)</code>
 
** added parameters <code>PropertyValueModel<Boolean> enabledModel</code> and <code>ResourceManager resourceManager</code> to <code>buildAttributeMappingComposite(...)</code>
 
** added parameter <code>ResourceManager resourceManager</code> to <code>buildTypeMappingComposite(...)</code>
 
 
* enhanced <code>MappingUiDefinition</code>:
 
** ungenericized this interface
 
** changed <code>getImage()</code> to <code>getImageDescriptor()</code>
 
** added method <code>buildMappingComposite()</code>, this replaced similar methods in <code>JavaTypeMappingUiDefinition</code> and <code>JavaAttributeMappingUiDefinition</code>. added parameters <code>PropertyValueModel<Boolean> enabledModel</code> and <code>ResourceManager resourceManager</code>
 
 
* deleted <code>JavaTypeMappingUiDefinition</code> - see <code>MappingUiDefinition</code>
 
* deleted <code>JavaAttributeMappingUiDefinition</code> - see <code>MappingUiDefinition</code>
 
* deleted <code>DefaultJavaTypeMappingUiDefinition</code> - see <code>MappingUiDefinition</code>
 
* deleted <code>DefaultJavaAttributeMappingUiDefinition</code> - see <code>MappingUiDefinition</code>
 
* deleted <code>OrmTypeMappingUiDefinition</code> - see <code>MappingUiDefinition</code>
 
* deleted <code>OrmAttributeMappingUiDefinition</code> - see <code>MappingUiDefinition</code>
 
* deleted <code>JavaUiFactory</code> - see <code>JpaUiFactory</code>
 
* deleted <code>OrmXmlUiFactory</code> - see <code>JpaUiFactory</code>
 
* deleted <code>JavaUiFactory2_0</code> - see <code>JpaUiFactory2_0</code>
 
* deleted <code>OrmXmlUiFactory2_0</code> - see <code>JpaUiFactory2_0</code>
 
 
* added <code>JpaUiFactory</code> and <code>JpaUiFactory2_0</code>
 
** methods from deleted classes <code>JavaUiFactory</code> <code>OrmXmlUiFactory</code> were renamed to be not specific to orm/java, ie  <code>createEntityComposite(...)</code> replaced <code>createJavaEntityComposite(...)</code>
 
** added parameters <code>PropertyValueModel<Boolean> enabledModel</code> and <code>ResourceManager resourceManager</code> to all attribute and type mapping methods
 
** removed vestigial ORM type mapping methods:
 
*** <code>createOrmMappedSuperclassComposite(...)</code>
 
*** <code>createOrmEntityComposite(...)</code>
 
*** <code>createOrmEmbeddableComposite(...)</code>
 
 
* enhanced <code>JpaComposite</code>
 
** removed <code>enableWidgets(boolean)</code> - a <code>Pane</code> now takes a <code>PropertyValueModel<Boolean></code> used for enabling widgets
 
 
* moved <code>JpaPageComposite</code> from <code>org.eclipse.jpt.jpa.ui.details</code> to <code>org.eclipse.jpa.ui.editors</code> and renamed it to <code>JpaEditorPageDefinition</code>
 
** no longer extends <code>JpaComposite</code>
 
** renamed <code>getPageImageDescriptor()</code> to <code>getTitleImageDescriptor()</code>
 
** renamed <code>getPageText()</code> to <code>getTitleText()</code>
 
** added <code>buildContent(...)</code>
 
 
* enhanced <code>JpaDetailsPageManager</code>:
 
** ungenericized this interface.
 
** <code>getSubject()</code> now returns <code>JpaStructureNode</code>
 
** <code>setSubject(...)</code> now takes a <code>JpaStructureNode</code> parameter
 
 
* enhanced <code>JpaDetailsPageManager.Factory</code>:
 
** added parameter <code>ResourceManager resourceManager</code> to <code>buildPageManager(...)</code>
 
 
* enhanced <code>JpaDetailsProvider</code>:
 
** added parameter <code>ResourceManager resourceManager</code> to <code>buildDetailsPageManager(...)</code>
 
** replaced method <code>providesDetails(JpaStructureNode>)</code> with <code>getType()</code>
 
 
* added <code>JpaWorkbench</code>
 
 
* added <code>JpaPlatformUiManager</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)  ===
 
 
* <code>SourceAnnotation</code>, <code>ASTTools</code>
 
** Added support for retrieving a list of text ranges when the value is split.
 
 
* <code>Query</code>, <code>QueryAnnotation</code>, <code>XmlQuery</code>
 
** Changed "<code>TextRange getTextRange()</code>" to "<code>List<TextRange> getTextRanges()</code>" to support a JPQL query split into multiple sections (see [https://bugs.eclipse.org/386414 bug 386414]).
 
 
* <code>XmlQuery</code>
 
** Added 3 methods (<code>getActualQuery()</code>, <code>getQueryOffset()</code>, <code>isQueryInsideCDATASection()</code>) to help fix alignment issue of content assist and validation text range (also see [https://bugs.eclipse.org/360713 bug 360713]).
 
* <code>JpaJpqlQueryHelper</code>, 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 <code>&lt;query&gt;</code> element and the query itself in XML.
 
 
=== JAXB UI (Provisional API)  ===
 
 
* <code>JptJaxbUiPlugin</code> - moved to private package and moved its members to the appropriate public interfaces etc.
 
<code>
 
{| border="1" cellpadding="5" cellspacing="0"
 
|-
 
! Old
 
! New
 
|-
 
| getJaxbPlatformUiManager()
 
| TO DO
 
|}
 
</code>
 
 
* added <code>JaxbWorkbench</code>
 
 
* added <code>JptJaxbUiImages</code>
 
  
 
== Reference ==
 
== Reference ==
  
This document covers ONLY changes between WTP 3.5 and WTP 3.4.
+
This document covers ONLY changes between WTP 3.6 and WTP 3.5.
 
See also:
 
See also:
* [[New_Help_for_Old_Friends_VII|New Help for Old Friends VII (3.4)]]
+
* [[New_Help_for_Old_Friends_VIII|New Help for Old Friends VIII (3.5 Kepler)]]
* [[New_Help_for_Old_Friends_VI|New Help for Old Friends VI (3.3)]]
+
* [[New_Help_for_Old_Friends_VII|New Help for Old Friends VII (3.4 Juno)]]
* [[New_Help_for_Old_Friends_V|New Help for Old Friends V (3.2)]]
+
* [[New_Help_for_Old_Friends_VI|New Help for Old Friends VI (3.3 Indigo)]]
* [[New_Help_for_Old_Friends_IV|New Help for Old Friends IV (3.1)]]
+
* [[New_Help_for_Old_Friends_V|New Help for Old Friends V (3.2 Helios)]]
* [[New_Help_for_Old_Friends_III|New Help for Old Friends III (3.0)]]
+
* [[New_Help_for_Old_Friends_IV|New Help for Old Friends IV (3.1 Galileo)]]
* [[New_Help_for_Old_Friends_II|New Help for Old Friends II (2.0)]]
+
* [[New_Help_for_Old_Friends_III|New Help for Old Friends III (3.0 Ganymede)]]
* [[New_Help_for_Old_Friends|New Help for Old Friends (1.5)]]
+
* [[New_Help_for_Old_Friends_II|New Help for Old Friends II (2.0 Europa)]]
 +
* [[New_Help_for_Old_Friends|New Help for Old Friends (1.5 Callisto)]]
  
  
 
[[Category:Eclipse Web Tools Platform Project]]
 
[[Category:Eclipse Web Tools Platform Project]]

Revision as of 15:47, 4 June 2013

Contents

Overview

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.

Dali

Common Utility (Provisional API)

  • added interfaces:

Reference

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