diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink')
55 files changed, 1176 insertions, 1021 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaPreferences.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaPreferences.java new file mode 100644 index 0000000000..e362398fec --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaPreferences.java @@ -0,0 +1,101 @@ +/******************************************************************************* + * Copyright (c) 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ +package org.eclipse.jpt.jpa.eclipselink.core; + +import org.eclipse.core.resources.IProject; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; + + +/** + * Public access to the Dali JPA EclipseLink preferences. + * <p> + * Provisional API: This class is part of an interim API that is still + * under development and expected to change significantly before reaching + * stability. It is available at this early stage to solicit feedback from + * pioneering adopters on the understanding that any code that uses this API + * will almost certainly be broken (repeatedly) as the API evolves. + * + * @version 3.2 + * @since 3.2 + */ +public final class EclipseLinkJpaPreferences { + + // ********** project static weaving ********** + + public static String getStaticWeavingSourceLocation(IProject project, String defaultValue) { + return getPlugin().getPreference(project, STATIC_WEAVING_SOURCE_LOCATION, defaultValue); + } + + public static void setStaticWeavingSourceLocation(IProject project, String location) { + getPlugin().setPreference(project, STATIC_WEAVING_SOURCE_LOCATION, location); + } + + public static String getStaticWeavingTargetLocation(IProject project, String defaultValue) { + return getPlugin().getPreference(project, STATIC_WEAVING_TARGET_LOCATION, defaultValue); + } + + public static void setStaticWeavingTargetLocation(IProject project, String location) { + getPlugin().setPreference(project, STATIC_WEAVING_TARGET_LOCATION, location); + } + + /** + * @see org.eclipse.jpt.jpa.eclipselink.core.context.persistence.LoggingLevel#getPropertyValue() + */ + public static String getStaticWeavingLogLevel(IProject project, String defaultValue) { + return getPlugin().getPreference(project, STATIC_WEAVING_LOG_LEVEL, defaultValue); + } + + /** + * @see org.eclipse.jpt.jpa.eclipselink.core.context.persistence.LoggingLevel#getPropertyValue() + */ + public static void setStaticWeavingLogLevel(IProject project, String logLevel) { + getPlugin().setPreference(project, STATIC_WEAVING_LOG_LEVEL, logLevel); + } + + public static String getStaticWeavingPersistenceInfo(IProject project, String defaultValue) { + return getPlugin().getPreference(project, STATIC_WEAVING_PERSISTENCE_INFO, defaultValue); + } + + public static void setStaticWeavingPersistenceInfo(IProject project, String info) { + getPlugin().setPreference(project, STATIC_WEAVING_PERSISTENCE_INFO, info); + } + + private static final String STATIC_WEAVING = "staticWeaving"; //$NON-NLS-1$ + private static final String STATIC_WEAVING_ = STATIC_WEAVING + '.'; + + private static final String STATIC_WEAVING_SOURCE_LOCATION = STATIC_WEAVING_ + "SOURCE"; //$NON-NLS-1$ + private static final String STATIC_WEAVING_TARGET_LOCATION = STATIC_WEAVING_ + "TARGET"; //$NON-NLS-1$ + private static final String STATIC_WEAVING_LOG_LEVEL = STATIC_WEAVING_ + "LOG_LEVEL"; //$NON-NLS-1$ + private static final String STATIC_WEAVING_PERSISTENCE_INFO = STATIC_WEAVING_ + "PERSISTENCE_INFO"; //$NON-NLS-1$ + + + // ********** misc ********** + + /** + * Remove both the project's settings and the project-specific workspace + * settings. + */ + public static void removePreferences(IProject project) { + getPlugin().removePreferences(project); + getPlugin().removePersistentProperties(project); + } + + public static void removePreferences() { + getPlugin().removePreferences(); + } + + private static JptJpaEclipseLinkCorePlugin getPlugin() { + return JptJpaEclipseLinkCorePlugin.instance(); + } + + private EclipseLinkJpaPreferences() { + throw new UnsupportedOperationException(); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaProject.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaProject.java index 4bbe6840ba..dff541d1e2 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaProject.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/EclipseLinkJpaProject.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -30,8 +30,8 @@ public interface EclipseLinkJpaProject * <code>META-INF/eclipselink-orm.xml</code> if that file has the * EclipseLink content type. * - * @see org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin#DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH - * @see org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin#ECLIPSELINK_ORM_XML_CONTENT_TYPE + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings#DEFAULT_RUNTIME_PATH + * @see org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings#CONTENT_TYPE */ JpaXmlResource getDefaultEclipseLinkOrmXmlResource(); diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/JptJpaEclipseLinkCorePlugin.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/JptJpaEclipseLinkCorePlugin.java deleted file mode 100644 index 401ee1ae0f..0000000000 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/JptJpaEclipseLinkCorePlugin.java +++ /dev/null @@ -1,215 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Plugin; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JpaNode; -import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkVersion; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLink; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v1_1.EclipseLink1_1; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v1_2.EclipseLink1_2; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_0.EclipseLink2_0; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLink2_1; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.EclipseLink2_2; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLink2_3; -import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_4.EclipseLink2_4; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class JptJpaEclipseLinkCorePlugin - extends Plugin -{ - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.jpt.jpa.eclipselink.core"; //$NON-NLS-1$ - public static final String PLUGIN_ID_ = PLUGIN_ID + '.'; - - /** - * Version string for EclipseLink platform version 1.0 - */ - public static final String ECLIPSELINK_PLATFORM_VERSION_1_0 = "1.0"; //$NON-NLS-1$ - - /** - * Version string for EclipseLink platform version 1.1 - */ - public static final String ECLIPSELINK_PLATFORM_VERSION_1_1 = "1.1"; //$NON-NLS-1$ - - /** - * Version string for EclipseLink platform version 1.2 - */ - public static final String ECLIPSELINK_PLATFORM_VERSION_1_2 = "1.2"; //$NON-NLS-1$ - - /** - * Version string for EclipseLink platform version 2.0 - */ - public static final String ECLIPSELINK_PLATFORM_VERSION_2_0 = "2.0"; //$NON-NLS-1$ - - /** - * Version string for EclipseLink platform version 2.1 - */ - public static final String ECLIPSELINK_PLATFORM_VERSION_2_1 = "2.1"; //$NON-NLS-1$ - - /** - * Version string for EclipseLink platform version 2.2 - */ - public static final String ECLIPSELINK_PLATFORM_VERSION_2_2 = "2.2"; //$NON-NLS-1$ - - /** - * Version string for EclipseLink platform version 2.3 - */ - public static final String ECLIPSELINK_PLATFORM_VERSION_2_3 = "2.3"; //$NON-NLS-1$ - - /** - * Version string for EclipseLink platform version 2.4 - */ - public static final String ECLIPSELINK_PLATFORM_VERSION_2_4 = "2.4"; //$NON-NLS-1$ - - /** - * Value of the content-type for eclipselink-orm.xml mappings files. Use this - * value to retrieve the ORM xml content type from the content type manager - * and to add new eclipselink-orm.xml-like extensions to this content type. - * - * @see org.eclipse.core.runtime.content.IContentTypeManager#getContentType(String) - */ - public static final IContentType ECLIPSELINK_ORM_XML_CONTENT_TYPE = - Platform.getContentTypeManager().getContentType(PLUGIN_ID_ + "content.orm"); //$NON-NLS-1$ - - /** - * The resource type for eclipselink-orm.xml version 1.0 mapping files - */ - public static final JptResourceType ECLIPSELINK_ORM_XML_1_0_RESOURCE_TYPE - = new JptResourceType(ECLIPSELINK_ORM_XML_CONTENT_TYPE, EclipseLink.SCHEMA_VERSION); - - /** - * The resource type for eclipselink-orm.xml version 1.1 mapping files - */ - public static final JptResourceType ECLIPSELINK_ORM_XML_1_1_RESOURCE_TYPE - = new JptResourceType(ECLIPSELINK_ORM_XML_CONTENT_TYPE, EclipseLink1_1.SCHEMA_VERSION); - - /** - * The resource type for eclipselink-orm.xml version 1.1 mapping files - */ - public static final JptResourceType ECLIPSELINK_ORM_XML_1_2_RESOURCE_TYPE - = new JptResourceType(ECLIPSELINK_ORM_XML_CONTENT_TYPE, EclipseLink1_2.SCHEMA_VERSION); - - /** - * The resource type for eclipselink-orm.xml version 2.0 mapping files - */ - public static final JptResourceType ECLIPSELINK_ORM_XML_2_0_RESOURCE_TYPE - = new JptResourceType(ECLIPSELINK_ORM_XML_CONTENT_TYPE, EclipseLink2_0.SCHEMA_VERSION); - - /** - * The resource type for eclipselink-orm.xml version 2.1 mapping files - */ - public static final JptResourceType ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE - = new JptResourceType(ECLIPSELINK_ORM_XML_CONTENT_TYPE, EclipseLink2_1.SCHEMA_VERSION); - - /** - * The resource type for eclipselink-orm.xml version 2.2 mapping files - */ - public static final JptResourceType ECLIPSELINK_ORM_XML_2_2_RESOURCE_TYPE - = new JptResourceType(ECLIPSELINK_ORM_XML_CONTENT_TYPE, EclipseLink2_2.SCHEMA_VERSION); - - /** - * The resource type for eclipselink-orm.xml version 2.3 mapping files - */ - public static final JptResourceType ECLIPSELINK_ORM_XML_2_3_RESOURCE_TYPE - = new JptResourceType(ECLIPSELINK_ORM_XML_CONTENT_TYPE, EclipseLink2_3.SCHEMA_VERSION); - - /** - * The resource type for eclipselink-orm.xml version 2.4 mapping files - */ - public static final JptResourceType ECLIPSELINK_ORM_XML_2_4_RESOURCE_TYPE - = new JptResourceType(ECLIPSELINK_ORM_XML_CONTENT_TYPE, EclipseLink2_4.SCHEMA_VERSION); - - public static final IPath DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH = new Path("META-INF/eclipselink-orm.xml"); //$NON-NLS-1$ - - - // ********** singleton ********** - private static JptJpaEclipseLinkCorePlugin INSTANCE; - - /** - * Return the singleton JPT EclipseLink plug-in. - */ - public static JptJpaEclipseLinkCorePlugin instance() { - return INSTANCE; - } - - - // ********** public static methods ********** - - public static boolean nodeIsEclipseLink2_3Compatible(JpaNode jpaNode) { - return nodeIsEclipseLinkVersionCompatible(jpaNode, ECLIPSELINK_PLATFORM_VERSION_2_3); - } - - public static boolean nodeIsEclipseLink2_4Compatible(JpaNode jpaNode) { - return nodeIsEclipseLinkVersionCompatible(jpaNode, ECLIPSELINK_PLATFORM_VERSION_2_4); - } - - public static boolean nodeIsEclipseLinkVersionCompatible(JpaNode jpaNode, String version) { - return ((EclipseLinkVersion) jpaNode.getJpaProject().getJpaPlatform().getJpaVersion()).isCompatibleWithVersion(version); - } - - /** - * Log the specified message. - */ - public static void log(String msg) { - log(msg, null); - } - - /** - * Log the specified exception or error. - */ - public static void log(Throwable throwable) { - log(throwable.getLocalizedMessage(), throwable); - } - - /** - * Log the specified message and exception or error. - */ - public static void log(String msg, Throwable throwable) { - log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, msg, throwable)); - } - - /** - * Log the specified status. - */ - public static void log(IStatus status) { - INSTANCE.getLog().log(status); - } - - - // ********** plug-in implementation ********** - - public JptJpaEclipseLinkCorePlugin() { - super(); - } - - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - INSTANCE = this; - } - - @Override - public void stop(BundleContext context) throws Exception { - INSTANCE = null; - super.stop(context); - } - -} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/builder/EclipseLinkStaticWeavingBuilder.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/builder/EclipseLinkStaticWeavingBuilder.java index 6e5e49c70f..ceed71a002 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/builder/EclipseLinkStaticWeavingBuilder.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/builder/EclipseLinkStaticWeavingBuilder.java @@ -1,12 +1,12 @@ /******************************************************************************* -* Copyright (c) 2012 Oracle. All rights reserved. -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v1.0, which accompanies this distribution -* and is available at http://www.eclipse.org/legal/epl-v10.html. -* -* Contributors: -* Oracle - initial API and implementation -*******************************************************************************/ + * Copyright (c) 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.builder; import java.util.Map; @@ -22,13 +22,13 @@ import org.eclipse.jdt.core.JavaCore; import org.eclipse.jpt.common.core.gen.JptGenerator; import org.eclipse.jpt.common.core.gen.LaunchConfigListener; import org.eclipse.jpt.common.utility.internal.SynchronizedBoolean; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.internal.JptJpaEclipseLinkCoreMessages; import org.eclipse.jpt.jpa.eclipselink.core.internal.weave.StaticWeave; public class EclipseLinkStaticWeavingBuilder extends IncrementalProjectBuilder { - public static final String BUILDER_ID = JptJpaEclipseLinkCorePlugin.PLUGIN_ID + ".builder"; //$NON-NLS-1$ + public static final String BUILDER_ID = JptJpaEclipseLinkCorePlugin.instance().getPluginID() + ".builder"; //$NON-NLS-1$ private EclipseLinkStaticWeavingBuilderConfigurator configurator; diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/builder/EclipseLinkStaticWeavingBuilderConfigurator.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/builder/EclipseLinkStaticWeavingBuilderConfigurator.java index a254b4571b..422cdb0fa9 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/builder/EclipseLinkStaticWeavingBuilderConfigurator.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/builder/EclipseLinkStaticWeavingBuilderConfigurator.java @@ -1,16 +1,15 @@ /******************************************************************************* -* Copyright (c) 2012 Oracle. All rights reserved. -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v1.0, which accompanies this distribution -* and is available at http://www.eclipse.org/legal/epl-v10.html. -* -* Contributors: -* Oracle - initial API and implementation -*******************************************************************************/ + * Copyright (c) 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.builder; import java.util.logging.Level; - import org.eclipse.core.resources.ICommand; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProjectDescription; @@ -19,36 +18,32 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jpt.jpa.core.internal.prefs.JpaPreferencesManager; +import org.eclipse.jpt.jpa.eclipselink.core.EclipseLinkJpaPreferences; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.LoggingLevel; /** * Configures and coordinates StaticWeaving builder behavior for the project. * Also handles the builder preferences. */ -public class EclipseLinkStaticWeavingBuilderConfigurator extends JpaPreferencesManager +public class EclipseLinkStaticWeavingBuilderConfigurator { - public static final String BUILDER_ID = EclipseLinkStaticWeavingBuilder.BUILDER_ID; + private final IProject project; - private static final String STATIC_WEAVE_PREFIX = "staticweave."; //$NON-NLS-1$ + private static final String BUILDER_ID = EclipseLinkStaticWeavingBuilder.BUILDER_ID; - public static final String SOURCE = "SOURCE"; //$NON-NLS-1$ - public static final String TARGET = "TARGET"; //$NON-NLS-1$ - public static final String LOG_LEVEL = "LOG_LEVEL"; //$NON-NLS-1$ - public static final String PERSISTENCE_INFO = "PERSISTENCE_INFO"; //$NON-NLS-1$ // ********** constructors ********** public EclipseLinkStaticWeavingBuilderConfigurator(IProject project) { - - super(project); + super(); + this.project = project; } // ********** builder ********** public void addBuilder() { try { - IProjectDescription description = this.getProject().getDescription(); + IProjectDescription description = this.project.getDescription(); ICommand[] commands = description.getBuildSpec(); ICommand newCommand = description.newCommand(); @@ -65,7 +60,7 @@ public class EclipseLinkStaticWeavingBuilderConfigurator extends JpaPreferencesM newCommands[0] = newCommand; } description.setBuildSpec(newCommands); - this.getProject().setDescription(description, null); + this.project.setDescription(description, null); } catch(CoreException ce) { // if we can't read the information, the project isn't open @@ -76,7 +71,7 @@ public class EclipseLinkStaticWeavingBuilderConfigurator extends JpaPreferencesM public boolean projectHasStaticWeavingBuilder() { try { - IProjectDescription description = this.getProject().getDescription(); + IProjectDescription description = this.project.getDescription(); ICommand[] commands = description.getBuildSpec(); if(commands.length == 0) return false; @@ -95,7 +90,7 @@ public class EclipseLinkStaticWeavingBuilderConfigurator extends JpaPreferencesM public void removeBuilder() { try { - IProjectDescription description = this.getProject().getDescription(); + IProjectDescription description = this.project.getDescription(); ICommand[] commands = description.getBuildSpec(); if(commands.length == 0) return; @@ -117,7 +112,7 @@ public class EclipseLinkStaticWeavingBuilderConfigurator extends JpaPreferencesM newCommands[j++] = commands[i]; } description.setBuildSpec(newCommands); - this.getProject().setDescription(description, IResource.NONE, null); + this.project.setDescription(description, IResource.NONE, null); } catch(CoreException ce) { // if we can't read the information, the project isn't open @@ -131,22 +126,22 @@ public class EclipseLinkStaticWeavingBuilderConfigurator extends JpaPreferencesM public String getSourceLocationPreference() { - return this.getLegacyProjectPreference(this.appendPrefix(SOURCE), this.getDefaultSourceLocation()); + return EclipseLinkJpaPreferences.getStaticWeavingSourceLocation(this.project, this.getDefaultSourceLocation()); } public String getTargetLocationPreference() { - return this.getLegacyProjectPreference(this.appendPrefix(TARGET), this.getDefaultTargetLocation()); + return EclipseLinkJpaPreferences.getStaticWeavingTargetLocation(this.project, this.getDefaultTargetLocation()); } public String getPersistenceInfoPreference() { - return this.getLegacyProjectPreference(this.appendPrefix(PERSISTENCE_INFO), this.getDefaultPersistenceInfo()); + return EclipseLinkJpaPreferences.getStaticWeavingPersistenceInfo(this.project, this.getDefaultPersistenceInfo()); } public String getLogLevelPreference() { - return this.getLegacyProjectPreference(this.appendPrefix(LOG_LEVEL), this.getDefaultLogLevel()); + return EclipseLinkJpaPreferences.getStaticWeavingLogLevel(this.project, this.getDefaultLogLevel()); } // default preferences value @@ -175,35 +170,35 @@ public class EclipseLinkStaticWeavingBuilderConfigurator extends JpaPreferencesM // setting and removing preferences public void setSourceLocationPreference(String location) { - this.setLegacyProjectPreference(this.appendPrefix(SOURCE), location); + EclipseLinkJpaPreferences.setStaticWeavingSourceLocation(this.project, location); } public void removeSourceLocationPreference() { - this.setLegacyProjectPreference(this.appendPrefix(SOURCE), null); + EclipseLinkJpaPreferences.setStaticWeavingSourceLocation(this.project, null); } public void setTargetLocationPreference(String location) { - this.setLegacyProjectPreference(this.appendPrefix(TARGET), location); + EclipseLinkJpaPreferences.setStaticWeavingTargetLocation(this.project, location); } public void removeTargetLocationPreference() { - this.setLegacyProjectPreference(this.appendPrefix(TARGET), null); + EclipseLinkJpaPreferences.setStaticWeavingTargetLocation(this.project, null); } public void setLogLevelPreference(String logLevel) { - this.setLegacyProjectPreference(this.appendPrefix(LOG_LEVEL), logLevel); + EclipseLinkJpaPreferences.setStaticWeavingLogLevel(this.project, logLevel); } public void removeLogLevelPreference() { - this.setLegacyProjectPreference(this.appendPrefix(LOG_LEVEL), null); + EclipseLinkJpaPreferences.setStaticWeavingLogLevel(this.project, null); } - public void setPersistenceInfoPreference(String persistenceInfo) { - this.setLegacyProjectPreference(this.appendPrefix(PERSISTENCE_INFO), persistenceInfo); + public void setPersistenceInfoPreference(String info) { + EclipseLinkJpaPreferences.setStaticWeavingPersistenceInfo(this.project, info); } public void removePersistenceInfoPreference() { - this.setLegacyProjectPreference(this.appendPrefix(PERSISTENCE_INFO), null); + EclipseLinkJpaPreferences.setStaticWeavingPersistenceInfo(this.project, null); } // ********** private methods ********** @@ -224,18 +219,13 @@ public class EclipseLinkStaticWeavingBuilderConfigurator extends JpaPreferencesM IPath outputLocation = this.getJavaProject().getOutputLocation(); String projectName = outputLocation.segment(0); - if(this.getProject().getName().equals(projectName)) { + if(this.project.getName().equals(projectName)) { outputLocation = outputLocation.removeFirstSegments(1); } return outputLocation; } private IJavaProject getJavaProject() { - return JavaCore.create(this.getProject()); + return JavaCore.create(this.project); } - - private String appendPrefix(String id) { - return STATIC_WEAVE_PREFIX + id; - } - } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/persistence/EclipseLinkPersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/persistence/EclipseLinkPersistenceUnit.java index 17c1ce8e17..83698b02ee 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/persistence/EclipseLinkPersistenceUnit.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/context/persistence/EclipseLinkPersistenceUnit.java @@ -44,7 +44,6 @@ import org.eclipse.jpt.jpa.core.context.Generator; import org.eclipse.jpt.jpa.core.context.JpaNamedContextNode; import org.eclipse.jpt.jpa.core.context.MappingFile; import org.eclipse.jpt.jpa.core.context.MappingFilePersistenceUnitMetadata; -import org.eclipse.jpt.jpa.core.context.MappingFileRoot; import org.eclipse.jpt.jpa.core.context.PersistentType; import org.eclipse.jpt.jpa.core.context.Query; import org.eclipse.jpt.jpa.core.context.TypeMapping; @@ -57,12 +56,11 @@ import org.eclipse.jpt.jpa.core.context.persistence.Persistence; import org.eclipse.jpt.jpa.core.internal.JptCoreMessages; import org.eclipse.jpt.jpa.core.internal.context.MappingTools; import org.eclipse.jpt.jpa.core.internal.context.persistence.AbstractPersistenceUnit; -import org.eclipse.jpt.jpa.core.internal.jpa1.context.persistence.ImpliedMappingFileRef; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.persistence.VirtualOrmXmlRef; import org.eclipse.jpt.jpa.core.jpa2.context.persistence.options.SharedCacheMode; import org.eclipse.jpt.jpa.core.jpql.JpaJpqlQueryHelper; import org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit; import org.eclipse.jpt.jpa.eclipselink.core.EclipseLinkJpaProject; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeMapping; import org.eclipse.jpt.jpa.eclipselink.core.context.ReadOnlyTenantDiscriminatorColumn2_3; @@ -81,6 +79,7 @@ import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.Eclipse import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkCustomization; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkGeneralProperties; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkSchemaGeneration; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; import org.eclipse.osgi.util.NLS; import org.eclipse.text.edits.ReplaceEdit; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -131,7 +130,7 @@ public class EclipseLinkPersistenceUnit public EclipseLinkPersistenceUnit(Persistence parent, XmlPersistenceUnit xmlPersistenceUnit) { super(parent, xmlPersistenceUnit); - this.potentialImpliedEclipseLinkMappingFileRef = this.buildEclipseLinkImpliedMappingFileRef(); + this.potentialImpliedEclipseLinkMappingFileRef = this.buildEclipseLinkVirtualMappingFileRef(); } @@ -301,8 +300,8 @@ public class EclipseLinkPersistenceUnit this.firePropertyChanged(IMPLIED_ECLIPSELINK_MAPPING_FILE_REF_PROPERTY, old, mappingFileRef); } - private ImpliedMappingFileRef buildEclipseLinkImpliedMappingFileRef() { - return new ImpliedMappingFileRef(this, JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH.toString()); + private VirtualOrmXmlRef buildEclipseLinkVirtualMappingFileRef() { + return new VirtualOrmXmlRef(this, XmlEntityMappings.DEFAULT_RUNTIME_PATH_NAME); } @Override @@ -352,7 +351,7 @@ public class EclipseLinkPersistenceUnit } protected boolean impliedEclipseLinkMappingFileIsSpecified() { - return this.mappingFileIsSpecified(JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH.toString()); + return this.mappingFileIsSpecified(XmlEntityMappings.DEFAULT_RUNTIME_PATH_NAME); } protected boolean impliedEclipseLinkMappingFileExists() { @@ -464,7 +463,7 @@ public class EclipseLinkPersistenceUnit return new TransformationIterable<MappingFile, Iterable<EclipseLinkConverter>>(this.getMappingFiles()) { @Override protected Iterable<EclipseLinkConverter> transform(MappingFile mappingFile) { - MappingFileRoot root = mappingFile.getRoot(); + MappingFile.Root root = mappingFile.getRoot(); return (root instanceof EclipseLinkEntityMappings) ? ((EclipseLinkEntityMappings) root).getMappingFileConverters() : EmptyIterable.<EclipseLinkConverter>instance(); diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/AbstractEclipseLink2_0JpaPlatformProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/AbstractEclipseLink2_0JpaPlatformProvider.java deleted file mode 100644 index 0c436b183f..0000000000 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/AbstractEclipseLink2_0JpaPlatformProvider.java +++ /dev/null @@ -1,178 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2009, 2011 Oracle. All rights reserved. -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v1.0, which accompanies this distribution -* and is available at http://www.eclipse.org/legal/epl-v10.html. -* -* Contributors: -* Oracle - initial API and implementation -*******************************************************************************/ -package org.eclipse.jpt.jpa.eclipselink.core.internal; - -import java.util.ArrayList; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jpt.common.core.JptCommonCorePlugin; -import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.jpa.core.JpaResourceModelProvider; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; -import org.eclipse.jpt.jpa.core.ResourceDefinition; -import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefinition; -import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; -import org.eclipse.jpt.jpa.core.context.java.JavaTypeMappingDefinition; -import org.eclipse.jpt.jpa.core.internal.AbstractJpaPlatformProvider; -import org.eclipse.jpt.jpa.core.internal.JarResourceModelProvider; -import org.eclipse.jpt.jpa.core.internal.JavaResourceModelProvider; -import org.eclipse.jpt.jpa.core.internal.OrmResourceModelProvider; -import org.eclipse.jpt.jpa.core.internal.PersistenceResourceModelProvider; -import org.eclipse.jpt.jpa.core.internal.context.java.JavaTransientMappingDefinition; -import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXmlDefinition; -import org.eclipse.jpt.jpa.core.internal.jpa2.context.orm.GenericOrmXml2_0Definition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicCollectionMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMapMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaElementCollectionMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEmbeddableDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEmbeddedIdMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEmbeddedMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEntityDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaIdMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaManyToManyMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaManyToOneMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaMappedSuperclassDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaOneToManyMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaOneToOneMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaTransformationMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVariableOneToOneMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVersionMappingDefinition2_0; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_1Definition; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_2Definition; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_0Definition; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXmlDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceXmlDefinition; - -/** - * EclipseLink 2.0 platform config - */ -public abstract class AbstractEclipseLink2_0JpaPlatformProvider - extends AbstractJpaPlatformProvider -{ - protected AbstractEclipseLink2_0JpaPlatformProvider() { - super(); - } - - - // ********** resource models ********** - - public JptResourceType getMostRecentSupportedResourceType(IContentType contentType) { - if (contentType.equals(JptCommonCorePlugin.JAVA_SOURCE_CONTENT_TYPE)) { - return JptCommonCorePlugin.JAVA_SOURCE_RESOURCE_TYPE; - } - else if (contentType.equals(JptCommonCorePlugin.JAR_CONTENT_TYPE)) { - return JptCommonCorePlugin.JAR_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaCorePlugin.PERSISTENCE_XML_CONTENT_TYPE)) { - return JptJpaCorePlugin.PERSISTENCE_XML_2_0_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaCorePlugin.ORM_XML_CONTENT_TYPE)) { - return JptJpaCorePlugin.ORM_XML_2_0_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE)) { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_0_RESOURCE_TYPE; - } - else { - throw new IllegalArgumentException(contentType.toString()); - } - } - - @Override - protected void addResourceModelProvidersTo(ArrayList<JpaResourceModelProvider> providers) { - CollectionTools.addAll(providers, RESOURCE_MODEL_PROVIDERS); - } - - // order should not be important here - protected static final JpaResourceModelProvider[] RESOURCE_MODEL_PROVIDERS = new JpaResourceModelProvider[] { - JavaResourceModelProvider.instance(), - JarResourceModelProvider.instance(), - PersistenceResourceModelProvider.instance(), - OrmResourceModelProvider.instance(), - EclipseLinkOrmResourceModelProvider.instance() - }; - - - // ********* Java type mappings ********* - - @Override - protected void addJavaTypeMappingDefinitionsTo(ArrayList<JavaTypeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, JAVA_TYPE_MAPPING_DEFINITIONS); - } - - // order matches that used by EclipseLink - // NB: no EclipseLink-specific mappings - protected static final JavaTypeMappingDefinition[] JAVA_TYPE_MAPPING_DEFINITIONS = new JavaTypeMappingDefinition[] { - EclipseLinkJavaEntityDefinition2_0.instance(), - EclipseLinkJavaEmbeddableDefinition2_0.instance(), - EclipseLinkJavaMappedSuperclassDefinition2_0.instance() - }; - - - // ********* Java attribute mappings ********* - - @Override - protected void addDefaultJavaAttributeMappingDefinitionsTo(ArrayList<DefaultJavaAttributeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); - } - - // order matches that used by EclipseLink - // NB: no change from EclipseLink 1.2 to 2.0 - protected static final DefaultJavaAttributeMappingDefinition[] DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new DefaultJavaAttributeMappingDefinition[] { - EclipseLinkJavaEmbeddedMappingDefinition2_0.instance(), - EclipseLinkJavaOneToManyMappingDefinition2_0.instance(), - EclipseLinkJavaOneToOneMappingDefinition2_0.instance(), - EclipseLinkJavaVariableOneToOneMappingDefinition2_0.instance(), - EclipseLinkJavaBasicMappingDefinition2_0.instance() - }; - - @Override - protected void addSpecifiedJavaAttributeMappingDefinitionsTo(ArrayList<JavaAttributeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); - } - - // order matches that used by EclipseLink - protected static final JavaAttributeMappingDefinition[] SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new JavaAttributeMappingDefinition[] { - JavaTransientMappingDefinition.instance(), - EclipseLinkJavaBasicCollectionMappingDefinition2_0.instance(), - EclipseLinkJavaBasicMapMappingDefinition2_0.instance(), - EclipseLinkJavaElementCollectionMappingDefinition2_0.instance(), - EclipseLinkJavaIdMappingDefinition2_0.instance(), - EclipseLinkJavaVersionMappingDefinition2_0.instance(), - EclipseLinkJavaBasicMappingDefinition2_0.instance(), - EclipseLinkJavaEmbeddedMappingDefinition2_0.instance(), - EclipseLinkJavaEmbeddedIdMappingDefinition2_0.instance(), - EclipseLinkJavaTransformationMappingDefinition2_0.instance(), - EclipseLinkJavaManyToManyMappingDefinition2_0.instance(), - EclipseLinkJavaManyToOneMappingDefinition2_0.instance(), - EclipseLinkJavaOneToManyMappingDefinition2_0.instance(), - EclipseLinkJavaOneToOneMappingDefinition2_0.instance(), - EclipseLinkJavaVariableOneToOneMappingDefinition2_0.instance() - }; - - - // ********** resource definitions ********** - - @Override - protected void addResourceDefinitionsTo(ArrayList<ResourceDefinition> definitions) { - CollectionTools.addAll(definitions, RESOURCE_DEFINITIONS); - } - - protected static final ResourceDefinition[] RESOURCE_DEFINITIONS = new ResourceDefinition[] { - EclipseLinkPersistenceXmlDefinition.instance(), - GenericOrmXmlDefinition.instance(), - GenericOrmXml2_0Definition.instance(), - EclipseLinkOrmXmlDefinition.instance(), - EclipseLinkOrmXml1_1Definition.instance(), - EclipseLinkOrmXml1_2Definition.instance(), - EclipseLinkOrmXml2_0Definition.instance() - }; -} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/DefaultEclipseLinkJpaValidationMessages.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/DefaultEclipseLinkJpaValidationMessages.java index 532f70ab4b..d2a045f7cb 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/DefaultEclipseLinkJpaValidationMessages.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/DefaultEclipseLinkJpaValidationMessages.java @@ -16,8 +16,8 @@ import org.eclipse.core.resources.IResource; import org.eclipse.jpt.common.core.utility.TextRange; import org.eclipse.jpt.common.utility.internal.StringTools; import org.eclipse.jpt.jpa.core.JpaNode; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages; +import org.eclipse.jpt.jpa.core.internal.validation.JpaValidator; import org.eclipse.wst.validation.internal.core.Message; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -78,7 +78,7 @@ public class DefaultEclipseLinkJpaValidationMessages { // } IMessage message = new EclipseLinkMessage(EclipseLinkJpaValidationMessages.BUNDLE_NAME, severity, messageId, parms, targetObject); // TODO "EclipseLink JPA" validation marker? - message.setMarkerId(JptJpaCorePlugin.VALIDATION_MARKER_ID); + message.setMarkerId(JpaValidator.MARKER_ID); return message; } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_1JpaPlatformFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_1JpaPlatformFactory.java index d134425f5f..8e71769ef7 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_1JpaPlatformFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_1JpaPlatformFactory.java @@ -11,16 +11,15 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal; import org.eclipse.jpt.common.core.AnnotationProvider; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JpaFacet; import org.eclipse.jpt.jpa.core.JpaPlatform; import org.eclipse.jpt.jpa.core.JpaPlatformFactory; import org.eclipse.jpt.jpa.core.JpaPlatformVariation; +import org.eclipse.jpt.jpa.core.JpaProject; import org.eclipse.jpt.jpa.core.context.AccessType; import org.eclipse.jpt.jpa.core.internal.GenericJpaAnnotationDefinitionProvider; import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatform; import org.eclipse.jpt.jpa.core.internal.JpaAnnotationProvider; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkVersion; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; import org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar1; /** @@ -31,6 +30,11 @@ public class EclipseLink1_1JpaPlatformFactory implements JpaPlatformFactory { /** + * Version string for EclipseLink platform version 1.1 + */ + public static final String VERSION = "1.1"; //$NON-NLS-1$ + + /** * zero-argument constructor */ public EclipseLink1_1JpaPlatformFactory() { @@ -69,8 +73,6 @@ public class EclipseLink1_1JpaPlatformFactory } private JpaPlatform.Version buildJpaVersion() { - return new EclipseLinkVersion( - JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_1_1, - JpaFacet.VERSION_1_0.getVersionString()); + return new EclipseLinkJpaPlatformVersion(VERSION, JpaProject.FACET_VERSION_STRING); } -}
\ No newline at end of file +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_1JpaPlatformProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_1JpaPlatformProvider.java index fb4d28faed..72106cf847 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_1JpaPlatformProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_1JpaPlatformProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -10,13 +10,10 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal; import java.util.ArrayList; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jpt.common.core.JptCommonCorePlugin; import org.eclipse.jpt.common.core.JptResourceType; import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.JpaPlatformProvider; import org.eclipse.jpt.jpa.core.JpaResourceModelProvider; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.ResourceDefinition; import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; @@ -26,11 +23,13 @@ import org.eclipse.jpt.jpa.core.internal.JarResourceModelProvider; import org.eclipse.jpt.jpa.core.internal.JavaResourceModelProvider; import org.eclipse.jpt.jpa.core.internal.OrmResourceModelProvider; import org.eclipse.jpt.jpa.core.internal.PersistenceResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.context.java.JarDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaEmbeddedIdMappingDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaEmbeddedMappingDefinition; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaSourceFileDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaTransientMappingDefinition; import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXmlDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.persistence.GenericPersistenceXmlDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicCollectionMappingDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMapMappingDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMappingDefinition; @@ -50,15 +49,14 @@ import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmX import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceXmlDefinition; /** - * EclipseLink platform + * EclipseLink 1.1 platform config */ public class EclipseLink1_1JpaPlatformProvider - extends AbstractJpaPlatformProvider { - + extends AbstractJpaPlatformProvider +{ // singleton private static final JpaPlatformProvider INSTANCE = new EclipseLink1_1JpaPlatformProvider(); - /** * Return the singleton. */ @@ -66,7 +64,6 @@ public class EclipseLink1_1JpaPlatformProvider return INSTANCE; } - /** * Enforce singleton usage */ @@ -77,27 +74,20 @@ public class EclipseLink1_1JpaPlatformProvider // ********** resource models ********** - public JptResourceType getMostRecentSupportedResourceType(IContentType contentType) { - if (contentType.equals(JptCommonCorePlugin.JAVA_SOURCE_CONTENT_TYPE)) { - return JptCommonCorePlugin.JAVA_SOURCE_RESOURCE_TYPE; - } - else if (contentType.equals(JptCommonCorePlugin.JAR_CONTENT_TYPE)) { - return JptCommonCorePlugin.JAR_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaCorePlugin.PERSISTENCE_XML_CONTENT_TYPE)) { - return JptJpaCorePlugin.PERSISTENCE_XML_1_0_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaCorePlugin.ORM_XML_CONTENT_TYPE)) { - return JptJpaCorePlugin.ORM_XML_1_0_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE)) { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_1_1_RESOURCE_TYPE; - } - else { - throw new IllegalArgumentException(contentType.toString()); - } + @Override + protected void addMostRecentSupportedResourceTypesTo(ArrayList<JptResourceType> types) { + CollectionTools.addAll(types, MOST_RECENT_SUPPORTED_RESOURCE_TYPES); } + // order should not be important here + protected static final JptResourceType[] MOST_RECENT_SUPPORTED_RESOURCE_TYPES = new JptResourceType[] { + JavaSourceFileDefinition.instance().getResourceType(), + JarDefinition.instance().getResourceType(), + GenericPersistenceXmlDefinition.instance().getResourceType(), + GenericOrmXmlDefinition.instance().getResourceType(), + org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_1Definition.instance().getResourceType() + }; + @Override protected void addResourceModelProvidersTo(ArrayList<JpaResourceModelProvider> providers) { CollectionTools.addAll(providers, RESOURCE_MODEL_PROVIDERS); @@ -179,6 +169,8 @@ public class EclipseLink1_1JpaPlatformProvider } protected static final ResourceDefinition[] RESOURCE_DEFINITIONS = new ResourceDefinition[] { + JavaSourceFileDefinition.instance(), + JarDefinition.instance(), EclipseLinkPersistenceXmlDefinition.instance(), GenericOrmXmlDefinition.instance(), EclipseLinkOrmXmlDefinition.instance(), diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_2JpaPlatformFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_2JpaPlatformFactory.java index cf82ed8b66..764d1dde05 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_2JpaPlatformFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_2JpaPlatformFactory.java @@ -11,16 +11,15 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal; import org.eclipse.jpt.common.core.AnnotationProvider; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JpaFacet; import org.eclipse.jpt.jpa.core.JpaPlatform; import org.eclipse.jpt.jpa.core.JpaPlatformFactory; import org.eclipse.jpt.jpa.core.JpaPlatformVariation; +import org.eclipse.jpt.jpa.core.JpaProject; import org.eclipse.jpt.jpa.core.context.AccessType; import org.eclipse.jpt.jpa.core.internal.GenericJpaAnnotationDefinitionProvider; import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatform; import org.eclipse.jpt.jpa.core.internal.JpaAnnotationProvider; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkVersion; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; import org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar1; /** @@ -31,6 +30,12 @@ public class EclipseLink1_2JpaPlatformFactory implements JpaPlatformFactory { /** + * Version string for EclipseLink platform version 1.2 + */ + public static final String VERSION = "1.2"; //$NON-NLS-1$ + + + /** * zero-argument constructor */ public EclipseLink1_2JpaPlatformFactory() { @@ -70,8 +75,6 @@ public class EclipseLink1_2JpaPlatformFactory } private JpaPlatform.Version buildJpaVersion() { - return new EclipseLinkVersion( - JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_1_2, - JpaFacet.VERSION_1_0.getVersionString()); + return new EclipseLinkJpaPlatformVersion(VERSION, JpaProject.FACET_VERSION_STRING); } -}
\ No newline at end of file +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_2JpaPlatformProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_2JpaPlatformProvider.java index 1b31d88dbe..1d0d6f471c 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_2JpaPlatformProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink1_2JpaPlatformProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -10,13 +10,10 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal; import java.util.ArrayList; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jpt.common.core.JptCommonCorePlugin; import org.eclipse.jpt.common.core.JptResourceType; import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.JpaPlatformProvider; import org.eclipse.jpt.jpa.core.JpaResourceModelProvider; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.ResourceDefinition; import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; @@ -26,12 +23,14 @@ import org.eclipse.jpt.jpa.core.internal.JarResourceModelProvider; import org.eclipse.jpt.jpa.core.internal.JavaResourceModelProvider; import org.eclipse.jpt.jpa.core.internal.OrmResourceModelProvider; import org.eclipse.jpt.jpa.core.internal.PersistenceResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.context.java.JarDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaBasicMappingDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaEmbeddedIdMappingDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaEmbeddedMappingDefinition; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaSourceFileDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaTransientMappingDefinition; import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXmlDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.persistence.GenericPersistenceXmlDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicCollectionMappingDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMapMappingDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMappingDefinition; @@ -52,15 +51,14 @@ import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmX import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceXmlDefinition; /** - * EclipseLink platform + * EclipseLink 2.2 platform config */ public class EclipseLink1_2JpaPlatformProvider - extends AbstractJpaPlatformProvider { - + extends AbstractJpaPlatformProvider +{ // singleton private static final JpaPlatformProvider INSTANCE = new EclipseLink1_2JpaPlatformProvider(); - /** * Return the singleton. */ @@ -68,7 +66,6 @@ public class EclipseLink1_2JpaPlatformProvider return INSTANCE; } - /** * Enforce singleton usage */ @@ -79,27 +76,20 @@ public class EclipseLink1_2JpaPlatformProvider // ********** resource models ********** - public JptResourceType getMostRecentSupportedResourceType(IContentType contentType) { - if (contentType.equals(JptCommonCorePlugin.JAVA_SOURCE_CONTENT_TYPE)) { - return JptCommonCorePlugin.JAVA_SOURCE_RESOURCE_TYPE; - } - else if (contentType.equals(JptCommonCorePlugin.JAR_CONTENT_TYPE)) { - return JptCommonCorePlugin.JAR_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaCorePlugin.PERSISTENCE_XML_CONTENT_TYPE)) { - return JptJpaCorePlugin.PERSISTENCE_XML_1_0_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaCorePlugin.ORM_XML_CONTENT_TYPE)) { - return JptJpaCorePlugin.ORM_XML_1_0_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE)) { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_1_2_RESOURCE_TYPE; - } - else { - throw new IllegalArgumentException(contentType.toString()); - } + @Override + protected void addMostRecentSupportedResourceTypesTo(ArrayList<JptResourceType> types) { + CollectionTools.addAll(types, MOST_RECENT_SUPPORTED_RESOURCE_TYPES); } + // order should not be important here + protected static final JptResourceType[] MOST_RECENT_SUPPORTED_RESOURCE_TYPES = new JptResourceType[] { + JavaSourceFileDefinition.instance().getResourceType(), + JarDefinition.instance().getResourceType(), + GenericPersistenceXmlDefinition.instance().getResourceType(), + GenericOrmXmlDefinition.instance().getResourceType(), + org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_2Definition.instance().getResourceType() + }; + @Override protected void addResourceModelProvidersTo(ArrayList<JpaResourceModelProvider> providers) { CollectionTools.addAll(providers, RESOURCE_MODEL_PROVIDERS); @@ -181,6 +171,8 @@ public class EclipseLink1_2JpaPlatformProvider } protected static final ResourceDefinition[] RESOURCE_DEFINITIONS = new ResourceDefinition[] { + JavaSourceFileDefinition.instance(), + JarDefinition.instance(), EclipseLinkPersistenceXmlDefinition.instance(), GenericOrmXmlDefinition.instance(), EclipseLinkOrmXmlDefinition.instance(), diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_0JpaPlatformFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_0JpaPlatformFactory.java index a758509542..a61a9d7d80 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_0JpaPlatformFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_0JpaPlatformFactory.java @@ -1,17 +1,16 @@ /******************************************************************************* -* Copyright (c) 2009, 2012 Oracle. All rights reserved. -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v1.0, which accompanies this distribution -* and is available at http://www.eclipse.org/legal/epl-v10.html. -* -* Contributors: -* Oracle - initial API and implementation -*******************************************************************************/ + * Copyright (c) 2009, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + *******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal; import org.eclipse.jpt.common.core.AnnotationProvider; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JpaFacet; import org.eclipse.jpt.jpa.core.JpaPlatform; import org.eclipse.jpt.jpa.core.JpaPlatformFactory; import org.eclipse.jpt.jpa.core.JpaPlatformVariation; @@ -19,18 +18,19 @@ import org.eclipse.jpt.jpa.core.context.AccessType; import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatform; import org.eclipse.jpt.jpa.core.internal.JpaAnnotationProvider; import org.eclipse.jpt.jpa.core.internal.jpa2.Generic2_0JpaAnnotationDefinitionProvider; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkVersion; +import org.eclipse.jpt.jpa.core.jpa2.JpaProject2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; import org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar2_0; -/** - * All the state in the JPA platform should be "static" (i.e. unchanging once - * it is initialized). - */ public class EclipseLink2_0JpaPlatformFactory implements JpaPlatformFactory { /** + * Version string for EclipseLink platform version 2.0 + */ + public static final String VERSION = "2.0"; //$NON-NLS-1$ + + /** * zero-argument constructor */ public EclipseLink2_0JpaPlatformFactory() { @@ -49,9 +49,7 @@ public class EclipseLink2_0JpaPlatformFactory } protected JpaPlatform.Version buildJpaVersion() { - return new EclipseLinkVersion( - JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_2_0, - JpaFacet.VERSION_2_0.getVersionString()); + return new EclipseLinkJpaPlatformVersion(VERSION, JpaProject2_0.FACET_VERSION_STRING); } protected AnnotationProvider buildAnnotationProvider() { @@ -73,4 +71,4 @@ public class EclipseLink2_0JpaPlatformFactory } }; } -}
\ No newline at end of file +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_0JpaPlatformProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_0JpaPlatformProvider.java index 598604351b..5a182144e9 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_0JpaPlatformProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_0JpaPlatformProvider.java @@ -1,29 +1,67 @@ /******************************************************************************* -* Copyright (c) 2009, 2011 Oracle. All rights reserved. -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v1.0, which accompanies this distribution -* and is available at http://www.eclipse.org/legal/epl-v10.html. -* -* Contributors: -* Oracle - initial API and implementation -*******************************************************************************/ + * Copyright (c) 2009, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal; import java.util.ArrayList; +import org.eclipse.jpt.common.core.JptResourceType; +import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.JpaPlatformProvider; +import org.eclipse.jpt.jpa.core.JpaResourceModelProvider; import org.eclipse.jpt.jpa.core.ResourceDefinition; +import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefinition; +import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; +import org.eclipse.jpt.jpa.core.context.java.JavaTypeMappingDefinition; +import org.eclipse.jpt.jpa.core.internal.AbstractJpaPlatformProvider; +import org.eclipse.jpt.jpa.core.internal.JarResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.JavaResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.OrmResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.PersistenceResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.context.java.JarDefinition; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaSourceFileDefinition; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaTransientMappingDefinition; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXmlDefinition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.orm.GenericOrmXml2_0Definition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.persistence.GenericPersistenceXml2_0Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicCollectionMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMapMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaElementCollectionMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEmbeddableDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEmbeddedIdMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEmbeddedMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEntityDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaIdMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaManyToManyMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaManyToOneMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaMappedSuperclassDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaOneToManyMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaOneToOneMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaTransformationMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVariableOneToOneMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVersionMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_1Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_2Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_0Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXmlDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLink2_0PersistenceXmlDefinition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceXmlDefinition; /** - * EclipseLink 2.0 platform config + * EclipseLink 2.0 platform config */ public class EclipseLink2_0JpaPlatformProvider - extends AbstractEclipseLink2_0JpaPlatformProvider + extends AbstractJpaPlatformProvider { // singleton private static final JpaPlatformProvider INSTANCE = new EclipseLink2_0JpaPlatformProvider(); - /** * Return the singleton */ @@ -31,19 +69,120 @@ public class EclipseLink2_0JpaPlatformProvider return INSTANCE; } - /** * Enforce singleton usage */ protected EclipseLink2_0JpaPlatformProvider() { super(); } - + + + // ********** resource models ********** + + @Override + protected void addMostRecentSupportedResourceTypesTo(ArrayList<JptResourceType> types) { + CollectionTools.addAll(types, MOST_RECENT_SUPPORTED_RESOURCE_TYPES); + } + + // order should not be important here + protected static final JptResourceType[] MOST_RECENT_SUPPORTED_RESOURCE_TYPES = new JptResourceType[] { + JavaSourceFileDefinition.instance().getResourceType(), + JarDefinition.instance().getResourceType(), + GenericPersistenceXml2_0Definition.instance().getResourceType(), + GenericOrmXml2_0Definition.instance().getResourceType(), + org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_0Definition.instance().getResourceType() + }; + + @Override + protected void addResourceModelProvidersTo(ArrayList<JpaResourceModelProvider> providers) { + CollectionTools.addAll(providers, RESOURCE_MODEL_PROVIDERS); + } + + // order should not be important here + protected static final JpaResourceModelProvider[] RESOURCE_MODEL_PROVIDERS = new JpaResourceModelProvider[] { + JavaResourceModelProvider.instance(), + JarResourceModelProvider.instance(), + PersistenceResourceModelProvider.instance(), + OrmResourceModelProvider.instance(), + EclipseLinkOrmResourceModelProvider.instance() + }; + + + // ********* Java type mappings ********* + + @Override + protected void addJavaTypeMappingDefinitionsTo(ArrayList<JavaTypeMappingDefinition> definitions) { + CollectionTools.addAll(definitions, JAVA_TYPE_MAPPING_DEFINITIONS); + } + + // order matches that used by EclipseLink + // NB: no EclipseLink-specific mappings + protected static final JavaTypeMappingDefinition[] JAVA_TYPE_MAPPING_DEFINITIONS = new JavaTypeMappingDefinition[] { + EclipseLinkJavaEntityDefinition2_0.instance(), + EclipseLinkJavaEmbeddableDefinition2_0.instance(), + EclipseLinkJavaMappedSuperclassDefinition2_0.instance() + }; + + + // ********* Java attribute mappings ********* + + @Override + protected void addDefaultJavaAttributeMappingDefinitionsTo(ArrayList<DefaultJavaAttributeMappingDefinition> definitions) { + CollectionTools.addAll(definitions, DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); + } + + // order matches that used by EclipseLink + // NB: no change from EclipseLink 1.2 to 2.0 + protected static final DefaultJavaAttributeMappingDefinition[] DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new DefaultJavaAttributeMappingDefinition[] { + EclipseLinkJavaEmbeddedMappingDefinition2_0.instance(), + EclipseLinkJavaOneToManyMappingDefinition2_0.instance(), + EclipseLinkJavaOneToOneMappingDefinition2_0.instance(), + EclipseLinkJavaVariableOneToOneMappingDefinition2_0.instance(), + EclipseLinkJavaBasicMappingDefinition2_0.instance() + }; + + @Override + protected void addSpecifiedJavaAttributeMappingDefinitionsTo(ArrayList<JavaAttributeMappingDefinition> definitions) { + CollectionTools.addAll(definitions, SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); + } + + // order matches that used by EclipseLink + protected static final JavaAttributeMappingDefinition[] SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new JavaAttributeMappingDefinition[] { + JavaTransientMappingDefinition.instance(), + EclipseLinkJavaBasicCollectionMappingDefinition2_0.instance(), + EclipseLinkJavaBasicMapMappingDefinition2_0.instance(), + EclipseLinkJavaElementCollectionMappingDefinition2_0.instance(), + EclipseLinkJavaIdMappingDefinition2_0.instance(), + EclipseLinkJavaVersionMappingDefinition2_0.instance(), + EclipseLinkJavaBasicMappingDefinition2_0.instance(), + EclipseLinkJavaEmbeddedMappingDefinition2_0.instance(), + EclipseLinkJavaEmbeddedIdMappingDefinition2_0.instance(), + EclipseLinkJavaTransformationMappingDefinition2_0.instance(), + EclipseLinkJavaManyToManyMappingDefinition2_0.instance(), + EclipseLinkJavaManyToOneMappingDefinition2_0.instance(), + EclipseLinkJavaOneToManyMappingDefinition2_0.instance(), + EclipseLinkJavaOneToOneMappingDefinition2_0.instance(), + EclipseLinkJavaVariableOneToOneMappingDefinition2_0.instance() + }; + + // ********** resource definitions ********** @Override protected void addResourceDefinitionsTo(ArrayList<ResourceDefinition> definitions) { - super.addResourceDefinitionsTo(definitions); - definitions.add(EclipseLink2_0PersistenceXmlDefinition.instance()); + CollectionTools.addAll(definitions, RESOURCE_DEFINITIONS); } + + protected static final ResourceDefinition[] RESOURCE_DEFINITIONS = new ResourceDefinition[] { + JavaSourceFileDefinition.instance(), + JarDefinition.instance(), + EclipseLinkPersistenceXmlDefinition.instance(), + EclipseLink2_0PersistenceXmlDefinition.instance(), + GenericOrmXmlDefinition.instance(), + GenericOrmXml2_0Definition.instance(), + EclipseLinkOrmXmlDefinition.instance(), + EclipseLinkOrmXml1_1Definition.instance(), + EclipseLinkOrmXml1_2Definition.instance(), + EclipseLinkOrmXml2_0Definition.instance() + }; } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_1JpaPlatformFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_1JpaPlatformFactory.java index 648d92fca3..a391f02bdf 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_1JpaPlatformFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_1JpaPlatformFactory.java @@ -1,41 +1,44 @@ /******************************************************************************* - * Copyright (c) 2010, 2012 Oracle. - * All rights reserved. This program and the accompanying materials are - * made available under the terms of the Eclipse Public License v1.0 which - * accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * Copyright (c) 2009, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. * - * Contributors: - * Oracle - initial API and implementation + * Contributors: + * Oracle - initial API and implementation *******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal; import org.eclipse.jpt.common.core.AnnotationProvider; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JpaFacet; import org.eclipse.jpt.jpa.core.JpaPlatform; +import org.eclipse.jpt.jpa.core.JpaPlatformFactory; import org.eclipse.jpt.jpa.core.JpaPlatformVariation; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.context.AccessType; import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatform; import org.eclipse.jpt.jpa.core.internal.JpaAnnotationProvider; import org.eclipse.jpt.jpa.core.internal.jpa2.Generic2_0JpaAnnotationDefinitionProvider; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.core.jpa2.JpaProject2_0; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkAccessType; -import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkVersion; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_1Definition; import org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar2_1; public class EclipseLink2_1JpaPlatformFactory - extends EclipseLink2_0JpaPlatformFactory + implements JpaPlatformFactory { /** + * Version string for EclipseLink platform version 2.1 + */ + public static final String VERSION = "2.1"; //$NON-NLS-1$ + + /** * zero-argument constructor */ public EclipseLink2_1JpaPlatformFactory() { super(); } - @Override public JpaPlatform buildJpaPlatform(String id) { return new GenericJpaPlatform( id, @@ -47,21 +50,16 @@ public class EclipseLink2_1JpaPlatformFactory EclipseLinkJPQLGrammar2_1.instance()); } - @Override protected JpaPlatform.Version buildJpaVersion() { - return new EclipseLinkVersion( - JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_2_1, - JpaFacet.VERSION_2_0.getVersionString()); + return new EclipseLinkJpaPlatformVersion(VERSION, JpaProject2_0.FACET_VERSION_STRING); } - @Override protected AnnotationProvider buildAnnotationProvider() { return new JpaAnnotationProvider( Generic2_0JpaAnnotationDefinitionProvider.instance(), EclipseLink2_1JpaAnnotationDefinitionProvider.instance()); } - @Override protected JpaPlatformVariation buildJpaVariation() { return new JpaPlatformVariation() { public Supported getTablePerConcreteClassInheritanceIsSupported() { @@ -71,18 +69,16 @@ public class EclipseLink2_1JpaPlatformFactory return true; } public AccessType[] getSupportedAccessTypes(JptResourceType resourceType) { - if (resourceType.getContentType() == JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE) { - if (this.versionIsEclipseLink2_1Compatibile(resourceType)) { - return ECLIPSELINK_SUPPORTED_ACCESS_TYPES; - } - } - return GENERIC_SUPPORTED_ACCESS_TYPES; - } - protected boolean versionIsEclipseLink2_1Compatibile(JptResourceType resourceType) { - return JptJpaCorePlugin.resourceTypeIsCompatible(resourceType, JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE.getVersion()); + return resourceType.isKindOf(EclipseLinkOrmXml2_1Definition.instance().getResourceType()) ? + SUPPORTED_ACCESS_TYPES : + GENERIC_SUPPORTED_ACCESS_TYPES; } }; } - public static final AccessType[] ECLIPSELINK_SUPPORTED_ACCESS_TYPES = new AccessType[] {AccessType.FIELD, AccessType.PROPERTY, EclipseLinkAccessType.VIRTUAL}; -}
\ No newline at end of file + public static final AccessType[] SUPPORTED_ACCESS_TYPES = new AccessType[] { + AccessType.FIELD, + AccessType.PROPERTY, + EclipseLinkAccessType.VIRTUAL + }; +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_1JpaPlatformProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_1JpaPlatformProvider.java index 3b4b076ced..2c030f069c 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_1JpaPlatformProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_1JpaPlatformProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -10,24 +10,59 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal; import java.util.ArrayList; -import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jpt.common.core.JptResourceType; +import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.JpaPlatformProvider; +import org.eclipse.jpt.jpa.core.JpaResourceModelProvider; import org.eclipse.jpt.jpa.core.ResourceDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefinition; +import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; +import org.eclipse.jpt.jpa.core.context.java.JavaTypeMappingDefinition; +import org.eclipse.jpt.jpa.core.internal.AbstractJpaPlatformProvider; +import org.eclipse.jpt.jpa.core.internal.JarResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.JavaResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.OrmResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.PersistenceResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.context.java.JarDefinition; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaSourceFileDefinition; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaTransientMappingDefinition; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXmlDefinition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.orm.GenericOrmXml2_0Definition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.persistence.GenericPersistenceXml2_0Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicCollectionMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMapMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaElementCollectionMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEmbeddableDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEmbeddedIdMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEmbeddedMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaEntityDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaIdMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaManyToManyMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaManyToOneMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaMappedSuperclassDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaOneToManyMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaOneToOneMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaTransformationMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVariableOneToOneMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVersionMappingDefinition2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_1Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_2Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_0Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_1Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXmlDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLink2_0PersistenceXmlDefinition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceXmlDefinition; /** - * EclipseLink 2.1 platform config + * EclipseLink 2.1 platform config */ public class EclipseLink2_1JpaPlatformProvider - extends AbstractEclipseLink2_0JpaPlatformProvider + extends AbstractJpaPlatformProvider { // singleton private static final JpaPlatformProvider INSTANCE = new EclipseLink2_1JpaPlatformProvider(); - /** * Return the singleton */ @@ -35,7 +70,6 @@ public class EclipseLink2_1JpaPlatformProvider return INSTANCE; } - /** * Enforce singleton usage */ @@ -47,19 +81,110 @@ public class EclipseLink2_1JpaPlatformProvider // ********** resource models ********** @Override - public JptResourceType getMostRecentSupportedResourceType(IContentType contentType) { - if (contentType.equals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE)) { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE; - } - return super.getMostRecentSupportedResourceType(contentType); + protected void addMostRecentSupportedResourceTypesTo(ArrayList<JptResourceType> types) { + CollectionTools.addAll(types, MOST_RECENT_SUPPORTED_RESOURCE_TYPES); } + // order should not be important here + protected static final JptResourceType[] MOST_RECENT_SUPPORTED_RESOURCE_TYPES = new JptResourceType[] { + JavaSourceFileDefinition.instance().getResourceType(), + JarDefinition.instance().getResourceType(), + GenericPersistenceXml2_0Definition.instance().getResourceType(), + GenericOrmXml2_0Definition.instance().getResourceType(), + org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_1Definition.instance().getResourceType(), + }; + + @Override + protected void addResourceModelProvidersTo(ArrayList<JpaResourceModelProvider> providers) { + CollectionTools.addAll(providers, RESOURCE_MODEL_PROVIDERS); + } + + // order should not be important here + protected static final JpaResourceModelProvider[] RESOURCE_MODEL_PROVIDERS = new JpaResourceModelProvider[] { + JavaResourceModelProvider.instance(), + JarResourceModelProvider.instance(), + PersistenceResourceModelProvider.instance(), + OrmResourceModelProvider.instance(), + EclipseLinkOrmResourceModelProvider.instance() + }; + + + // ********* Java type mappings ********* + + @Override + protected void addJavaTypeMappingDefinitionsTo(ArrayList<JavaTypeMappingDefinition> definitions) { + CollectionTools.addAll(definitions, JAVA_TYPE_MAPPING_DEFINITIONS); + } + + // order matches that used by EclipseLink + // NB: no EclipseLink-specific mappings + protected static final JavaTypeMappingDefinition[] JAVA_TYPE_MAPPING_DEFINITIONS = new JavaTypeMappingDefinition[] { + EclipseLinkJavaEntityDefinition2_0.instance(), + EclipseLinkJavaEmbeddableDefinition2_0.instance(), + EclipseLinkJavaMappedSuperclassDefinition2_0.instance() + }; + + + // ********* Java attribute mappings ********* + + @Override + protected void addDefaultJavaAttributeMappingDefinitionsTo(ArrayList<DefaultJavaAttributeMappingDefinition> definitions) { + CollectionTools.addAll(definitions, DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); + } + + // order matches that used by EclipseLink + // NB: no change from EclipseLink 1.2 to 2.0 + protected static final DefaultJavaAttributeMappingDefinition[] DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new DefaultJavaAttributeMappingDefinition[] { + EclipseLinkJavaEmbeddedMappingDefinition2_0.instance(), + EclipseLinkJavaOneToManyMappingDefinition2_0.instance(), + EclipseLinkJavaOneToOneMappingDefinition2_0.instance(), + EclipseLinkJavaVariableOneToOneMappingDefinition2_0.instance(), + EclipseLinkJavaBasicMappingDefinition2_0.instance() + }; + + @Override + protected void addSpecifiedJavaAttributeMappingDefinitionsTo(ArrayList<JavaAttributeMappingDefinition> definitions) { + CollectionTools.addAll(definitions, SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); + } + + // order matches that used by EclipseLink + protected static final JavaAttributeMappingDefinition[] SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new JavaAttributeMappingDefinition[] { + JavaTransientMappingDefinition.instance(), + EclipseLinkJavaBasicCollectionMappingDefinition2_0.instance(), + EclipseLinkJavaBasicMapMappingDefinition2_0.instance(), + EclipseLinkJavaElementCollectionMappingDefinition2_0.instance(), + EclipseLinkJavaIdMappingDefinition2_0.instance(), + EclipseLinkJavaVersionMappingDefinition2_0.instance(), + EclipseLinkJavaBasicMappingDefinition2_0.instance(), + EclipseLinkJavaEmbeddedMappingDefinition2_0.instance(), + EclipseLinkJavaEmbeddedIdMappingDefinition2_0.instance(), + EclipseLinkJavaTransformationMappingDefinition2_0.instance(), + EclipseLinkJavaManyToManyMappingDefinition2_0.instance(), + EclipseLinkJavaManyToOneMappingDefinition2_0.instance(), + EclipseLinkJavaOneToManyMappingDefinition2_0.instance(), + EclipseLinkJavaOneToOneMappingDefinition2_0.instance(), + EclipseLinkJavaVariableOneToOneMappingDefinition2_0.instance() + }; + + // ********** resource definitions ********** @Override protected void addResourceDefinitionsTo(ArrayList<ResourceDefinition> definitions) { - super.addResourceDefinitionsTo(definitions); - definitions.add(EclipseLink2_0PersistenceXmlDefinition.instance()); - definitions.add(EclipseLinkOrmXml2_1Definition.instance()); + CollectionTools.addAll(definitions, RESOURCE_DEFINITIONS); } + + protected static final ResourceDefinition[] RESOURCE_DEFINITIONS = new ResourceDefinition[] { + JavaSourceFileDefinition.instance(), + JarDefinition.instance(), + EclipseLinkPersistenceXmlDefinition.instance(), + EclipseLink2_0PersistenceXmlDefinition.instance(), + GenericOrmXmlDefinition.instance(), + GenericOrmXml2_0Definition.instance(), + EclipseLinkOrmXmlDefinition.instance(), + EclipseLinkOrmXml1_1Definition.instance(), + EclipseLinkOrmXml1_2Definition.instance(), + EclipseLinkOrmXml2_0Definition.instance(), + EclipseLinkOrmXml2_1Definition.instance() + }; } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_2JpaPlatformFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_2JpaPlatformFactory.java index 317a2d7082..51999a4bce 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_2JpaPlatformFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_2JpaPlatformFactory.java @@ -1,40 +1,43 @@ /******************************************************************************* - * Copyright (c) 2010, 2012 Oracle. - * All rights reserved. This program and the accompanying materials are - * made available under the terms of the Eclipse Public License v1.0 which - * accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * Copyright (c) 2010, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. * - * Contributors: - * Oracle - initial API and implementation + * Contributors: + * Oracle - initial API and implementation *******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal; import org.eclipse.jpt.common.core.AnnotationProvider; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JpaFacet; import org.eclipse.jpt.jpa.core.JpaPlatform; +import org.eclipse.jpt.jpa.core.JpaPlatformFactory; import org.eclipse.jpt.jpa.core.JpaPlatformVariation; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.context.AccessType; import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatform; import org.eclipse.jpt.jpa.core.internal.JpaAnnotationProvider; import org.eclipse.jpt.jpa.core.internal.jpa2.Generic2_0JpaAnnotationDefinitionProvider; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkVersion; +import org.eclipse.jpt.jpa.core.jpa2.JpaProject2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_1Definition; import org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar2_2; public class EclipseLink2_2JpaPlatformFactory - extends EclipseLink2_0JpaPlatformFactory + implements JpaPlatformFactory { /** + * Version string for EclipseLink platform version 2.2 + */ + public static final String VERSION = "2.2"; //$NON-NLS-1$ + + /** * zero-argument constructor */ public EclipseLink2_2JpaPlatformFactory() { super(); } - @Override public JpaPlatform buildJpaPlatform(String id) { return new GenericJpaPlatform( id, @@ -46,21 +49,16 @@ public class EclipseLink2_2JpaPlatformFactory EclipseLinkJPQLGrammar2_2.instance()); } - @Override protected JpaPlatform.Version buildJpaVersion() { - return new EclipseLinkVersion( - JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_2_2, - JpaFacet.VERSION_2_0.getVersionString()); + return new EclipseLinkJpaPlatformVersion(VERSION, JpaProject2_0.FACET_VERSION_STRING); } - @Override protected AnnotationProvider buildAnnotationProvider() { return new JpaAnnotationProvider( Generic2_0JpaAnnotationDefinitionProvider.instance(), EclipseLink2_2JpaAnnotationDefinitionProvider.instance()); } - @Override protected JpaPlatformVariation buildJpaVariation() { return new JpaPlatformVariation() { public Supported getTablePerConcreteClassInheritanceIsSupported() { @@ -70,16 +68,10 @@ public class EclipseLink2_2JpaPlatformFactory return true; } public AccessType[] getSupportedAccessTypes(JptResourceType resourceType) { - if (resourceType.getContentType() == JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE) { - if (this.versionIsEclipseLink2_1Compatibile(resourceType)) { - return EclipseLink2_1JpaPlatformFactory.ECLIPSELINK_SUPPORTED_ACCESS_TYPES; - } - } - return GENERIC_SUPPORTED_ACCESS_TYPES; - } - protected boolean versionIsEclipseLink2_1Compatibile(JptResourceType resourceType) { - return JptJpaCorePlugin.resourceTypeIsCompatible(resourceType, JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE.getVersion()); + return resourceType.isKindOf(EclipseLinkOrmXml2_1Definition.instance().getResourceType()) ? + EclipseLink2_1JpaPlatformFactory.SUPPORTED_ACCESS_TYPES : + GENERIC_SUPPORTED_ACCESS_TYPES; } }; } -}
\ No newline at end of file +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_2JpaPlatformProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_2JpaPlatformProvider.java index 87ba91f53a..782cdf5b4d 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_2JpaPlatformProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_2JpaPlatformProvider.java @@ -1,25 +1,34 @@ /******************************************************************************* -* Copyright (c) 2010, 2011 Oracle. All rights reserved. -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v1.0, which accompanies this distribution -* and is available at http://www.eclipse.org/legal/epl-v10.html. -* -* Contributors: -* Oracle - initial API and implementation -*******************************************************************************/ + * Copyright (c) 2010, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal; import java.util.ArrayList; -import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jpt.common.core.JptResourceType; import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.JpaPlatformProvider; +import org.eclipse.jpt.jpa.core.JpaResourceModelProvider; import org.eclipse.jpt.jpa.core.ResourceDefinition; import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.java.JavaTypeMappingDefinition; +import org.eclipse.jpt.jpa.core.internal.AbstractJpaPlatformProvider; +import org.eclipse.jpt.jpa.core.internal.JarResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.JavaResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.OrmResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.PersistenceResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.context.java.JarDefinition; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaSourceFileDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaTransientMappingDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXmlDefinition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.orm.GenericOrmXml2_0Definition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.persistence.GenericPersistenceXml2_0Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicCollectionMappingDefinition2_0; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMapMappingDefinition2_0; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMappingDefinition2_2; @@ -37,25 +46,31 @@ import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJav import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaTransformationMappingDefinition2_0; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVariableOneToOneMappingDefinition2_0; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVersionMappingDefinition2_2; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_1Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_2Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_0Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_1Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_2Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXmlDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLink2_0PersistenceXmlDefinition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceXmlDefinition; +/** + * EclipseLink 2.2 platform config + */ public class EclipseLink2_2JpaPlatformProvider - extends AbstractEclipseLink2_0JpaPlatformProvider + extends AbstractJpaPlatformProvider { // singleton private static final JpaPlatformProvider INSTANCE = new EclipseLink2_2JpaPlatformProvider(); - - + /** * Return the singleton */ public static JpaPlatformProvider instance() { return INSTANCE; } - - + /** * Enforce singleton usage */ @@ -67,24 +82,52 @@ public class EclipseLink2_2JpaPlatformProvider // ********** resource models ********** @Override - public JptResourceType getMostRecentSupportedResourceType(IContentType contentType) { - if (contentType.equals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE)) { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_2_RESOURCE_TYPE; - } - return super.getMostRecentSupportedResourceType(contentType); + protected void addMostRecentSupportedResourceTypesTo(ArrayList<JptResourceType> types) { + CollectionTools.addAll(types, MOST_RECENT_SUPPORTED_RESOURCE_TYPES); } + + // order should not be important here + protected static final JptResourceType[] MOST_RECENT_SUPPORTED_RESOURCE_TYPES = new JptResourceType[] { + JavaSourceFileDefinition.instance().getResourceType(), + JarDefinition.instance().getResourceType(), + GenericPersistenceXml2_0Definition.instance().getResourceType(), + GenericOrmXml2_0Definition.instance().getResourceType(), + org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_2Definition.instance().getResourceType(), + }; + @Override + protected void addResourceModelProvidersTo(ArrayList<JpaResourceModelProvider> providers) { + CollectionTools.addAll(providers, RESOURCE_MODEL_PROVIDERS); + } + + // order should not be important here + protected static final JpaResourceModelProvider[] RESOURCE_MODEL_PROVIDERS = new JpaResourceModelProvider[] { + JavaResourceModelProvider.instance(), + JarResourceModelProvider.instance(), + PersistenceResourceModelProvider.instance(), + OrmResourceModelProvider.instance(), + EclipseLinkOrmResourceModelProvider.instance() + }; + // ********** resource definitions ********** @Override protected void addResourceDefinitionsTo(ArrayList<ResourceDefinition> definitions) { - super.addResourceDefinitionsTo(definitions); CollectionTools.addAll(definitions, RESOURCE_DEFINITIONS); } protected static final ResourceDefinition[] RESOURCE_DEFINITIONS = new ResourceDefinition[] { + JavaSourceFileDefinition.instance(), + JarDefinition.instance(), + EclipseLinkPersistenceXmlDefinition.instance(), EclipseLink2_0PersistenceXmlDefinition.instance(), + GenericOrmXmlDefinition.instance(), + GenericOrmXml2_0Definition.instance(), + EclipseLinkOrmXmlDefinition.instance(), + EclipseLinkOrmXml1_1Definition.instance(), + EclipseLinkOrmXml1_2Definition.instance(), + EclipseLinkOrmXml2_0Definition.instance(), EclipseLinkOrmXml2_1Definition.instance(), EclipseLinkOrmXml2_2Definition.instance() }; @@ -94,12 +137,12 @@ public class EclipseLink2_2JpaPlatformProvider @Override protected void addJavaTypeMappingDefinitionsTo(ArrayList<JavaTypeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, JAVA_TYPE_MAPPING_DEFINITIONS); + CollectionTools.addAll(definitions, JAVA_TYPE_MAPPING_DEFINITIONS_2_2); } // order matches that used by EclipseLink // NB: no EclipseLink-specific mappings - protected static final JavaTypeMappingDefinition[] JAVA_TYPE_MAPPING_DEFINITIONS = new JavaTypeMappingDefinition[] { + protected static final JavaTypeMappingDefinition[] JAVA_TYPE_MAPPING_DEFINITIONS_2_2 = new JavaTypeMappingDefinition[] { EclipseLinkJavaEntityDefinition2_2.instance(), EclipseLinkJavaEmbeddableDefinition2_2.instance(), EclipseLinkJavaMappedSuperclassDefinition2_2.instance() @@ -109,12 +152,12 @@ public class EclipseLink2_2JpaPlatformProvider @Override protected void addDefaultJavaAttributeMappingDefinitionsTo(ArrayList<DefaultJavaAttributeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); + CollectionTools.addAll(definitions, DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_2); } // order matches that used by EclipseLink // NB: no change from EclipseLink 1.2 to 2.0 - protected static final DefaultJavaAttributeMappingDefinition[] DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new DefaultJavaAttributeMappingDefinition[] { + protected static final DefaultJavaAttributeMappingDefinition[] DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_2 = new DefaultJavaAttributeMappingDefinition[] { EclipseLinkJavaEmbeddedMappingDefinition2_2.instance(), EclipseLinkJavaOneToManyMappingDefinition2_2.instance(), EclipseLinkJavaOneToOneMappingDefinition2_2.instance(), @@ -124,11 +167,11 @@ public class EclipseLink2_2JpaPlatformProvider @Override protected void addSpecifiedJavaAttributeMappingDefinitionsTo(ArrayList<JavaAttributeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); + CollectionTools.addAll(definitions, SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_2); } // order matches that used by EclipseLink - protected static final JavaAttributeMappingDefinition[] SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new JavaAttributeMappingDefinition[] { + protected static final JavaAttributeMappingDefinition[] SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_2 = new JavaAttributeMappingDefinition[] { JavaTransientMappingDefinition.instance(), EclipseLinkJavaBasicCollectionMappingDefinition2_0.instance(), EclipseLinkJavaBasicMapMappingDefinition2_0.instance(), @@ -145,5 +188,4 @@ public class EclipseLink2_2JpaPlatformProvider EclipseLinkJavaOneToOneMappingDefinition2_2.instance(), EclipseLinkJavaVariableOneToOneMappingDefinition2_0.instance() }; - } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_3JpaPlatformFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_3JpaPlatformFactory.java index 9157ad05c0..739174e0ed 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_3JpaPlatformFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_3JpaPlatformFactory.java @@ -1,30 +1,35 @@ /******************************************************************************* - * Copyright (c) 2011, 2012 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html + * Copyright (c) 2011, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. * - * Contributors: - * Oracle - initial API and implementation + * Contributors: + * Oracle - initial API and implementation *******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal; import org.eclipse.jpt.common.core.AnnotationProvider; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JpaFacet; import org.eclipse.jpt.jpa.core.JpaPlatform; +import org.eclipse.jpt.jpa.core.JpaPlatformFactory; import org.eclipse.jpt.jpa.core.JpaPlatformVariation; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.context.AccessType; import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatform; import org.eclipse.jpt.jpa.core.internal.JpaAnnotationProvider; import org.eclipse.jpt.jpa.core.internal.jpa2.Generic2_0JpaAnnotationDefinitionProvider; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkVersion; +import org.eclipse.jpt.jpa.core.jpa2.JpaProject2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_1Definition; import org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar2_3; public class EclipseLink2_3JpaPlatformFactory - extends EclipseLink2_0JpaPlatformFactory { + implements JpaPlatformFactory +{ + /** + * Version string for EclipseLink platform version 2.3 + */ + public static final String VERSION = "2.3"; //$NON-NLS-1$ /** * zero-argument constructor @@ -33,7 +38,6 @@ public class EclipseLink2_3JpaPlatformFactory super(); } - @Override public JpaPlatform buildJpaPlatform(String id) { return new GenericJpaPlatform( id, @@ -45,21 +49,16 @@ public class EclipseLink2_3JpaPlatformFactory EclipseLinkJPQLGrammar2_3.instance()); } - @Override protected JpaPlatform.Version buildJpaVersion() { - return new EclipseLinkVersion( - JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_2_3, - JpaFacet.VERSION_2_0.getVersionString()); + return new EclipseLinkJpaPlatformVersion(VERSION, JpaProject2_0.FACET_VERSION_STRING); } - @Override protected AnnotationProvider buildAnnotationProvider() { return new JpaAnnotationProvider( Generic2_0JpaAnnotationDefinitionProvider.instance(), EclipseLink2_3JpaAnnotationDefinitionProvider.instance()); } - @Override protected JpaPlatformVariation buildJpaVariation() { return new JpaPlatformVariation() { public Supported getTablePerConcreteClassInheritanceIsSupported() { @@ -69,16 +68,10 @@ public class EclipseLink2_3JpaPlatformFactory return true; } public AccessType[] getSupportedAccessTypes(JptResourceType resourceType) { - if (resourceType.getContentType() == JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE) { - if (this.versionIsEclipseLink2_1Compatibile(resourceType)) { - return EclipseLink2_1JpaPlatformFactory.ECLIPSELINK_SUPPORTED_ACCESS_TYPES; - } - } - return GENERIC_SUPPORTED_ACCESS_TYPES; - } - protected boolean versionIsEclipseLink2_1Compatibile(JptResourceType resourceType) { - return JptJpaCorePlugin.resourceTypeIsCompatible(resourceType, JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE.getVersion()); + return resourceType.isKindOf(EclipseLinkOrmXml2_1Definition.instance().getResourceType()) ? + EclipseLink2_1JpaPlatformFactory.SUPPORTED_ACCESS_TYPES : + GENERIC_SUPPORTED_ACCESS_TYPES; } }; } -}
\ No newline at end of file +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_3JpaPlatformProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_3JpaPlatformProvider.java index 8367d2f7d0..b001e467e7 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_3JpaPlatformProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_3JpaPlatformProvider.java @@ -1,25 +1,34 @@ /******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ + * Copyright (c) 2011, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal; import java.util.ArrayList; -import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jpt.common.core.JptResourceType; import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.JpaPlatformProvider; +import org.eclipse.jpt.jpa.core.JpaResourceModelProvider; import org.eclipse.jpt.jpa.core.ResourceDefinition; import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.java.JavaTypeMappingDefinition; +import org.eclipse.jpt.jpa.core.internal.AbstractJpaPlatformProvider; +import org.eclipse.jpt.jpa.core.internal.JarResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.JavaResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.OrmResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.PersistenceResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.context.java.JarDefinition; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaSourceFileDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaTransientMappingDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXmlDefinition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.orm.GenericOrmXml2_0Definition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.persistence.GenericPersistenceXml2_0Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaArrayMappingDefinition2_3; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicCollectionMappingDefinition2_0; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMapMappingDefinition2_0; @@ -39,27 +48,32 @@ import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJav import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaTransformationMappingDefinition2_0; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVariableOneToOneMappingDefinition2_0; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVersionMappingDefinition2_2; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_1Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_2Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_0Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_1Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_2Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_3Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXmlDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLink2_0PersistenceXmlDefinition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceXmlDefinition; - +/** + * EclipseLink 2.3 platform config + */ public class EclipseLink2_3JpaPlatformProvider - extends AbstractEclipseLink2_0JpaPlatformProvider { - + extends AbstractJpaPlatformProvider +{ // singleton private static final JpaPlatformProvider INSTANCE = new EclipseLink2_3JpaPlatformProvider(); - - + /** * Return the singleton */ public static JpaPlatformProvider instance() { return INSTANCE; } - - + /** * Enforce singleton usage */ @@ -71,39 +85,68 @@ public class EclipseLink2_3JpaPlatformProvider // ********** resource models ********** @Override - public JptResourceType getMostRecentSupportedResourceType(IContentType contentType) { - if (contentType.equals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE)) { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_3_RESOURCE_TYPE; - } - return super.getMostRecentSupportedResourceType(contentType); + protected void addMostRecentSupportedResourceTypesTo(ArrayList<JptResourceType> types) { + CollectionTools.addAll(types, MOST_RECENT_SUPPORTED_RESOURCE_TYPES); } + + // order should not be important here + protected static final JptResourceType[] MOST_RECENT_SUPPORTED_RESOURCE_TYPES = new JptResourceType[] { + JavaSourceFileDefinition.instance().getResourceType(), + JarDefinition.instance().getResourceType(), + GenericPersistenceXml2_0Definition.instance().getResourceType(), + GenericOrmXml2_0Definition.instance().getResourceType(), + org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_3Definition.instance().getResourceType(), + }; + + @Override + protected void addResourceModelProvidersTo(ArrayList<JpaResourceModelProvider> providers) { + CollectionTools.addAll(providers, RESOURCE_MODEL_PROVIDERS); + } + + // order should not be important here + protected static final JpaResourceModelProvider[] RESOURCE_MODEL_PROVIDERS = new JpaResourceModelProvider[] { + JavaResourceModelProvider.instance(), + JarResourceModelProvider.instance(), + PersistenceResourceModelProvider.instance(), + OrmResourceModelProvider.instance(), + EclipseLinkOrmResourceModelProvider.instance() + }; // ********** resource definitions ********** @Override protected void addResourceDefinitionsTo(ArrayList<ResourceDefinition> definitions) { - super.addResourceDefinitionsTo(definitions); CollectionTools.addAll(definitions, RESOURCE_DEFINITIONS); } protected static final ResourceDefinition[] RESOURCE_DEFINITIONS = new ResourceDefinition[] { + JavaSourceFileDefinition.instance(), + JarDefinition.instance(), + EclipseLinkPersistenceXmlDefinition.instance(), EclipseLink2_0PersistenceXmlDefinition.instance(), + GenericOrmXmlDefinition.instance(), + GenericOrmXml2_0Definition.instance(), + EclipseLinkOrmXmlDefinition.instance(), + EclipseLinkOrmXml1_1Definition.instance(), + EclipseLinkOrmXml1_2Definition.instance(), + EclipseLinkOrmXml2_0Definition.instance(), EclipseLinkOrmXml2_1Definition.instance(), EclipseLinkOrmXml2_2Definition.instance(), EclipseLinkOrmXml2_3Definition.instance() }; + // ********* Java type mappings ********* @Override protected void addJavaTypeMappingDefinitionsTo(ArrayList<JavaTypeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, JAVA_TYPE_MAPPING_DEFINITIONS); + CollectionTools.addAll(definitions, JAVA_TYPE_MAPPING_DEFINITIONS_2_3); } // order matches that used by EclipseLink // NB: no EclipseLink-specific mappings - protected static final JavaTypeMappingDefinition[] JAVA_TYPE_MAPPING_DEFINITIONS = new JavaTypeMappingDefinition[] { + protected static final JavaTypeMappingDefinition[] JAVA_TYPE_MAPPING_DEFINITIONS_2_3 = new JavaTypeMappingDefinition[] { EclipseLinkJavaEntityDefinition2_3.instance(), EclipseLinkJavaEmbeddableDefinition2_2.instance(), EclipseLinkJavaMappedSuperclassDefinition2_3.instance() @@ -114,12 +157,12 @@ public class EclipseLink2_3JpaPlatformProvider @Override protected void addDefaultJavaAttributeMappingDefinitionsTo(ArrayList<DefaultJavaAttributeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); + CollectionTools.addAll(definitions, DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_3); } // order matches that used by EclipseLink // NB: no change from EclipseLink 1.2 to 2.0 - protected static final DefaultJavaAttributeMappingDefinition[] DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new DefaultJavaAttributeMappingDefinition[] { + protected static final DefaultJavaAttributeMappingDefinition[] DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_3 = new DefaultJavaAttributeMappingDefinition[] { EclipseLinkJavaEmbeddedMappingDefinition2_2.instance(), EclipseLinkJavaOneToManyMappingDefinition2_2.instance(), EclipseLinkJavaOneToOneMappingDefinition2_2.instance(), @@ -129,11 +172,11 @@ public class EclipseLink2_3JpaPlatformProvider @Override protected void addSpecifiedJavaAttributeMappingDefinitionsTo(ArrayList<JavaAttributeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); + CollectionTools.addAll(definitions, SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_3); } // order matches that used by EclipseLink - protected static final JavaAttributeMappingDefinition[] SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new JavaAttributeMappingDefinition[] { + protected static final JavaAttributeMappingDefinition[] SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_3 = new JavaAttributeMappingDefinition[] { JavaTransientMappingDefinition.instance(), EclipseLinkJavaBasicCollectionMappingDefinition2_0.instance(), EclipseLinkJavaBasicMapMappingDefinition2_0.instance(), diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_4JpaPlatformFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_4JpaPlatformFactory.java index f68c7f01e9..a9022fcc93 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_4JpaPlatformFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_4JpaPlatformFactory.java @@ -1,30 +1,35 @@ /******************************************************************************* - * Copyright (c) 2011, 2012 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html + * Copyright (c) 2011, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. * - * Contributors: - * Oracle - initial API and implementation + * Contributors: + * Oracle - initial API and implementation *******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal; import org.eclipse.jpt.common.core.AnnotationProvider; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JpaFacet; import org.eclipse.jpt.jpa.core.JpaPlatform; +import org.eclipse.jpt.jpa.core.JpaPlatformFactory; import org.eclipse.jpt.jpa.core.JpaPlatformVariation; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.context.AccessType; import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatform; import org.eclipse.jpt.jpa.core.internal.JpaAnnotationProvider; import org.eclipse.jpt.jpa.core.internal.jpa2.Generic2_0JpaAnnotationDefinitionProvider; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; -import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkVersion; +import org.eclipse.jpt.jpa.core.jpa2.JpaProject2_0; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_1Definition; import org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar2_4; public class EclipseLink2_4JpaPlatformFactory - extends EclipseLink2_0JpaPlatformFactory { + implements JpaPlatformFactory +{ + /** + * Version string for EclipseLink platform version 2.4 + */ + public static final String VERSION = "2.4"; //$NON-NLS-1$ /** * zero-argument constructor @@ -33,7 +38,6 @@ public class EclipseLink2_4JpaPlatformFactory super(); } - @Override public JpaPlatform buildJpaPlatform(String id) { return new GenericJpaPlatform( id, @@ -45,21 +49,16 @@ public class EclipseLink2_4JpaPlatformFactory EclipseLinkJPQLGrammar2_4.instance()); } - @Override protected JpaPlatform.Version buildJpaVersion() { - return new EclipseLinkVersion( - JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_2_4, - JpaFacet.VERSION_2_0.getVersionString()); + return new EclipseLinkJpaPlatformVersion(VERSION, JpaProject2_0.FACET_VERSION_STRING); } - @Override protected AnnotationProvider buildAnnotationProvider() { return new JpaAnnotationProvider( Generic2_0JpaAnnotationDefinitionProvider.instance(), EclipseLink2_4JpaAnnotationDefinitionProvider.instance()); } - @Override protected JpaPlatformVariation buildJpaVariation() { return new JpaPlatformVariation() { public Supported getTablePerConcreteClassInheritanceIsSupported() { @@ -69,16 +68,10 @@ public class EclipseLink2_4JpaPlatformFactory return true; } public AccessType[] getSupportedAccessTypes(JptResourceType resourceType) { - if (resourceType.getContentType() == JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE) { - if (this.versionIsEclipseLink2_1Compatibile(resourceType)) { - return EclipseLink2_1JpaPlatformFactory.ECLIPSELINK_SUPPORTED_ACCESS_TYPES; - } - } - return GENERIC_SUPPORTED_ACCESS_TYPES; - } - protected boolean versionIsEclipseLink2_1Compatibile(JptResourceType resourceType) { - return JptJpaCorePlugin.resourceTypeIsCompatible(resourceType, JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE.getVersion()); + return resourceType.isKindOf(EclipseLinkOrmXml2_1Definition.instance().getResourceType()) ? + EclipseLink2_1JpaPlatformFactory.SUPPORTED_ACCESS_TYPES : + GENERIC_SUPPORTED_ACCESS_TYPES; } }; } -}
\ No newline at end of file +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_4JpaPlatformProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_4JpaPlatformProvider.java index 448eb63fe6..1d09283706 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_4JpaPlatformProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLink2_4JpaPlatformProvider.java @@ -1,25 +1,34 @@ /******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ + * Copyright (c) 2011, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal; import java.util.ArrayList; -import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jpt.common.core.JptResourceType; import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.JpaPlatformProvider; +import org.eclipse.jpt.jpa.core.JpaResourceModelProvider; import org.eclipse.jpt.jpa.core.ResourceDefinition; import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.java.JavaTypeMappingDefinition; +import org.eclipse.jpt.jpa.core.internal.AbstractJpaPlatformProvider; +import org.eclipse.jpt.jpa.core.internal.JarResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.JavaResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.OrmResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.PersistenceResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.context.java.JarDefinition; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaSourceFileDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaTransientMappingDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXmlDefinition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.orm.GenericOrmXml2_0Definition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.persistence.GenericPersistenceXml2_0Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaArrayMappingDefinition2_3; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicCollectionMappingDefinition2_0; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMapMappingDefinition2_0; @@ -39,20 +48,26 @@ import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJav import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaTransformationMappingDefinition2_0; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVariableOneToOneMappingDefinition2_0; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaVersionMappingDefinition2_2; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_1Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml1_2Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_0Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_1Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_2Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_3Definition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_4Definition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXmlDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLink2_4PersistenceXmlDefinition; +import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceXmlDefinition; - +/** + * EclipseLink 2.4 platform config + */ public class EclipseLink2_4JpaPlatformProvider - extends AbstractEclipseLink2_0JpaPlatformProvider { - + extends AbstractJpaPlatformProvider +{ // singleton private static final JpaPlatformProvider INSTANCE = new EclipseLink2_4JpaPlatformProvider(); - /** * Return the singleton */ @@ -60,7 +75,6 @@ public class EclipseLink2_4JpaPlatformProvider return INSTANCE; } - /** * Enforce singleton usage */ @@ -72,40 +86,69 @@ public class EclipseLink2_4JpaPlatformProvider // ********** resource models ********** @Override - public JptResourceType getMostRecentSupportedResourceType(IContentType contentType) { - if (contentType.equals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE)) { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_4_RESOURCE_TYPE; - } - return super.getMostRecentSupportedResourceType(contentType); + protected void addMostRecentSupportedResourceTypesTo(ArrayList<JptResourceType> types) { + CollectionTools.addAll(types, MOST_RECENT_SUPPORTED_RESOURCE_TYPES); + } + + // order should not be important here + protected static final JptResourceType[] MOST_RECENT_SUPPORTED_RESOURCE_TYPES = new JptResourceType[] { + JavaSourceFileDefinition.instance().getResourceType(), + JarDefinition.instance().getResourceType(), + GenericPersistenceXml2_0Definition.instance().getResourceType(), + GenericOrmXml2_0Definition.instance().getResourceType(), + org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXml2_4Definition.instance().getResourceType() + }; + + @Override + protected void addResourceModelProvidersTo(ArrayList<JpaResourceModelProvider> providers) { + CollectionTools.addAll(providers, RESOURCE_MODEL_PROVIDERS); } + // order should not be important here + protected static final JpaResourceModelProvider[] RESOURCE_MODEL_PROVIDERS = new JpaResourceModelProvider[] { + JavaResourceModelProvider.instance(), + JarResourceModelProvider.instance(), + PersistenceResourceModelProvider.instance(), + OrmResourceModelProvider.instance(), + EclipseLinkOrmResourceModelProvider.instance() + }; + // ********** resource definitions ********** @Override protected void addResourceDefinitionsTo(ArrayList<ResourceDefinition> definitions) { - super.addResourceDefinitionsTo(definitions); CollectionTools.addAll(definitions, RESOURCE_DEFINITIONS); } protected static final ResourceDefinition[] RESOURCE_DEFINITIONS = new ResourceDefinition[] { + JavaSourceFileDefinition.instance(), + JarDefinition.instance(), + EclipseLinkPersistenceXmlDefinition.instance(), EclipseLink2_4PersistenceXmlDefinition.instance(), + GenericOrmXmlDefinition.instance(), + GenericOrmXml2_0Definition.instance(), + EclipseLinkOrmXmlDefinition.instance(), + EclipseLinkOrmXml1_1Definition.instance(), + EclipseLinkOrmXml1_2Definition.instance(), + EclipseLinkOrmXml2_0Definition.instance(), EclipseLinkOrmXml2_1Definition.instance(), EclipseLinkOrmXml2_2Definition.instance(), EclipseLinkOrmXml2_3Definition.instance(), EclipseLinkOrmXml2_4Definition.instance() }; + // ********* Java type mappings ********* @Override protected void addJavaTypeMappingDefinitionsTo(ArrayList<JavaTypeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, JAVA_TYPE_MAPPING_DEFINITIONS); + CollectionTools.addAll(definitions, JAVA_TYPE_MAPPING_DEFINITIONS_2_4); } // order matches that used by EclipseLink // NB: no EclipseLink-specific mappings - protected static final JavaTypeMappingDefinition[] JAVA_TYPE_MAPPING_DEFINITIONS = new JavaTypeMappingDefinition[] { + protected static final JavaTypeMappingDefinition[] JAVA_TYPE_MAPPING_DEFINITIONS_2_4 = new JavaTypeMappingDefinition[] { EclipseLinkJavaEntityDefinition2_3.instance(), EclipseLinkJavaEmbeddableDefinition2_2.instance(), EclipseLinkJavaMappedSuperclassDefinition2_3.instance() @@ -116,12 +159,12 @@ public class EclipseLink2_4JpaPlatformProvider @Override protected void addDefaultJavaAttributeMappingDefinitionsTo(ArrayList<DefaultJavaAttributeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); + CollectionTools.addAll(definitions, DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_4); } // order matches that used by EclipseLink // NB: no change from EclipseLink 1.2 to 2.0 - protected static final DefaultJavaAttributeMappingDefinition[] DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new DefaultJavaAttributeMappingDefinition[] { + protected static final DefaultJavaAttributeMappingDefinition[] DEFAULT_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_4 = new DefaultJavaAttributeMappingDefinition[] { EclipseLinkJavaEmbeddedMappingDefinition2_2.instance(), EclipseLinkJavaOneToManyMappingDefinition2_2.instance(), EclipseLinkJavaOneToOneMappingDefinition2_2.instance(), @@ -131,11 +174,11 @@ public class EclipseLink2_4JpaPlatformProvider @Override protected void addSpecifiedJavaAttributeMappingDefinitionsTo(ArrayList<JavaAttributeMappingDefinition> definitions) { - CollectionTools.addAll(definitions, SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS); + CollectionTools.addAll(definitions, SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_4); } // order matches that used by EclipseLink - protected static final JavaAttributeMappingDefinition[] SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS = new JavaAttributeMappingDefinition[] { + protected static final JavaAttributeMappingDefinition[] SPECIFIED_JAVA_ATTRIBUTE_MAPPING_DEFINITIONS_2_4 = new JavaAttributeMappingDefinition[] { JavaTransientMappingDefinition.instance(), EclipseLinkJavaBasicCollectionMappingDefinition2_0.instance(), EclipseLinkJavaBasicMapMappingDefinition2_0.instance(), diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaPlatformFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaPlatformFactory.java index ec067a3fd5..598e5e15ca 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaPlatformFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaPlatformFactory.java @@ -11,16 +11,16 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal; import org.eclipse.jpt.common.core.AnnotationProvider; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JpaFacet; +import org.eclipse.jpt.common.utility.internal.VersionComparator; import org.eclipse.jpt.jpa.core.JpaPlatform; import org.eclipse.jpt.jpa.core.JpaPlatformFactory; import org.eclipse.jpt.jpa.core.JpaPlatformVariation; +import org.eclipse.jpt.jpa.core.JpaProject; import org.eclipse.jpt.jpa.core.context.AccessType; import org.eclipse.jpt.jpa.core.internal.GenericJpaAnnotationDefinitionProvider; import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatform; -import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatformFactory.SimpleVersion; +import org.eclipse.jpt.jpa.core.internal.GenericJpaPlatformFactory.GenericJpaPlatformVersion; import org.eclipse.jpt.jpa.core.internal.JpaAnnotationProvider; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar1; /** @@ -30,6 +30,11 @@ import org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar1; public class EclipseLinkJpaPlatformFactory implements JpaPlatformFactory { + /** + * Version string for EclipseLink platform version 1.0 + */ + public static final String VERSION = "1.0"; //$NON-NLS-1$ + /** * zero-argument constructor @@ -50,9 +55,7 @@ public class EclipseLinkJpaPlatformFactory } private JpaPlatform.Version buildJpaVersion() { - return new EclipseLinkVersion( - JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_1_0, - JpaFacet.VERSION_1_0.getVersionString()); + return new EclipseLinkJpaPlatformVersion(VERSION, JpaProject.FACET_VERSION_STRING); } protected AnnotationProvider buildAnnotationProvider() { @@ -75,12 +78,15 @@ public class EclipseLinkJpaPlatformFactory }; } - - public static class EclipseLinkVersion extends SimpleVersion { - + /** + * EclipseLink JPA platform version + */ + public static class EclipseLinkJpaPlatformVersion + extends GenericJpaPlatformVersion + { protected final String eclipseLinkVersion; - public EclipseLinkVersion(String eclipseLinkVersion, String jpaVersion) { + public EclipseLinkJpaPlatformVersion(String eclipseLinkVersion, String jpaVersion) { super(jpaVersion); this.eclipseLinkVersion = eclipseLinkVersion; } @@ -92,21 +98,21 @@ public class EclipseLinkJpaPlatformFactory /** * Return whether the platform is compatible with the specified EclipseLink version. - * @see JptJpaEclipseLinkCorePlugin#ECLIPSELINK_PLATFORM_VERSION_1_0 - * @see JptJpaEclipseLinkCorePlugin#ECLIPSELINK_PLATFORM_VERSION_1_1 - * @see JptJpaEclipseLinkCorePlugin#ECLIPSELINK_PLATFORM_VERSION_1_2 - * @see JptJpaEclipseLinkCorePlugin#ECLIPSELINK_PLATFORM_VERSION_2_0 - * @see JptJpaEclipseLinkCorePlugin#ECLIPSELINK_PLATFORM_VERSION_2_1 - * @see JptJpaEclipseLinkCorePlugin#ECLIPSELINK_PLATFORM_VERSION_2_2 - * @see JptJpaEclipseLinkCorePlugin#ECLIPSELINK_PLATFORM_VERSION_2_3 + * @see EclipseLinkJpaPlatformFactory#VERSION + * @see EclipseLink1_1JpaPlatformFactory#VERSION + * @see EclipseLink1_2JpaPlatformFactory#VERSION + * @see EclipseLink2_0JpaPlatformFactory#VERSION + * @see EclipseLink2_1JpaPlatformFactory#VERSION + * @see EclipseLink2_2JpaPlatformFactory#VERSION + * @see EclipseLink2_3JpaPlatformFactory#VERSION */ - public boolean isCompatibleWithVersion(String version) { - return VERSION_COMPARATOR.compare(this.eclipseLinkVersion, version) >= 0; + public boolean isCompatibleWithEclipseLinkVersion(String version) { + return VersionComparator.INTEGER_VERSION_COMPARATOR.compare(this.eclipseLinkVersion, version) >= 0; } @Override public String toString() { - return super.toString() + " EclipseLink version: " + this.getVersion(); //$NON-NLS-1$ + return super.toString() + "/EclipseLink " + this.eclipseLinkVersion; //$NON-NLS-1$ } } -}
\ No newline at end of file +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaPlatformProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaPlatformProvider.java index 641e5b14a1..6d935b2e95 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaPlatformProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaPlatformProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -10,13 +10,10 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal; import java.util.ArrayList; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jpt.common.core.JptCommonCorePlugin; import org.eclipse.jpt.common.core.JptResourceType; import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.JpaPlatformProvider; import org.eclipse.jpt.jpa.core.JpaResourceModelProvider; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.ResourceDefinition; import org.eclipse.jpt.jpa.core.context.java.DefaultJavaAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMappingDefinition; @@ -26,11 +23,13 @@ import org.eclipse.jpt.jpa.core.internal.JarResourceModelProvider; import org.eclipse.jpt.jpa.core.internal.JavaResourceModelProvider; import org.eclipse.jpt.jpa.core.internal.OrmResourceModelProvider; import org.eclipse.jpt.jpa.core.internal.PersistenceResourceModelProvider; +import org.eclipse.jpt.jpa.core.internal.context.java.JarDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaEmbeddedIdMappingDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaEmbeddedMappingDefinition; +import org.eclipse.jpt.jpa.core.internal.context.java.JavaSourceFileDefinition; import org.eclipse.jpt.jpa.core.internal.context.java.JavaTransientMappingDefinition; import org.eclipse.jpt.jpa.core.internal.jpa1.context.orm.GenericOrmXmlDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.persistence.GenericPersistenceXmlDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicCollectionMappingDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMapMappingDefinition; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMappingDefinition; @@ -49,15 +48,14 @@ import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmX import org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceXmlDefinition; /** - * EclipseLink platform + * EclipseLink 1.0 platform */ public class EclipseLinkJpaPlatformProvider - extends AbstractJpaPlatformProvider { - + extends AbstractJpaPlatformProvider +{ // singleton private static final JpaPlatformProvider INSTANCE = new EclipseLinkJpaPlatformProvider(); - /** * Return the singleton. */ @@ -65,7 +63,6 @@ public class EclipseLinkJpaPlatformProvider return INSTANCE; } - /** * Enforce singleton usage */ @@ -76,27 +73,20 @@ public class EclipseLinkJpaPlatformProvider // ********* resource models ********* - public JptResourceType getMostRecentSupportedResourceType(IContentType contentType) { - if (contentType.equals(JptCommonCorePlugin.JAVA_SOURCE_CONTENT_TYPE)) { - return JptCommonCorePlugin.JAVA_SOURCE_RESOURCE_TYPE; - } - else if (contentType.equals(JptCommonCorePlugin.JAR_CONTENT_TYPE)) { - return JptCommonCorePlugin.JAR_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaCorePlugin.PERSISTENCE_XML_CONTENT_TYPE)) { - return JptJpaCorePlugin.PERSISTENCE_XML_1_0_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaCorePlugin.ORM_XML_CONTENT_TYPE)) { - return JptJpaCorePlugin.ORM_XML_1_0_RESOURCE_TYPE; - } - else if (contentType.equals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE)) { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_1_0_RESOURCE_TYPE; - } - else { - throw new IllegalArgumentException(contentType.toString()); - } + @Override + protected void addMostRecentSupportedResourceTypesTo(ArrayList<JptResourceType> types) { + CollectionTools.addAll(types, MOST_RECENT_SUPPORTED_RESOURCE_TYPES); } + // order should not be important here + protected static final JptResourceType[] MOST_RECENT_SUPPORTED_RESOURCE_TYPES = new JptResourceType[] { + JavaSourceFileDefinition.instance().getResourceType(), + JarDefinition.instance().getResourceType(), + GenericPersistenceXmlDefinition.instance().getResourceType(), + GenericOrmXmlDefinition.instance().getResourceType(), + org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXmlDefinition.instance().getResourceType() + }; + @Override protected void addResourceModelProvidersTo(ArrayList<JpaResourceModelProvider> providers) { CollectionTools.addAll(providers, RESOURCE_MODEL_PROVIDERS); @@ -176,6 +166,8 @@ public class EclipseLinkJpaPlatformProvider } protected static final ResourceDefinition[] RESOURCE_DEFINITIONS = new ResourceDefinition[] { + JavaSourceFileDefinition.instance(), + JarDefinition.instance(), EclipseLinkPersistenceXmlDefinition.instance(), EclipseLinkOrmXmlDefinition.instance(), GenericOrmXmlDefinition.instance() diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaProjectImpl.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaProjectImpl.java index d354457ad5..4d16305210 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaProjectImpl.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkJpaProjectImpl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2010 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -13,7 +13,7 @@ import org.eclipse.jpt.jpa.core.JpaProject; import org.eclipse.jpt.jpa.core.internal.AbstractJpaProject; import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource; import org.eclipse.jpt.jpa.eclipselink.core.EclipseLinkJpaProject; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; /** * EclipseLink-specific JPA project. @@ -28,7 +28,7 @@ public class EclipseLinkJpaProjectImpl public JpaXmlResource getDefaultEclipseLinkOrmXmlResource() { return (JpaXmlResource) this.getResourceModel( - JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH, - JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE); + XmlEntityMappings.DEFAULT_RUNTIME_PATH, + XmlEntityMappings.CONTENT_TYPE); } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkOrmResourceModelProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkOrmResourceModelProvider.java index d6d8ed6086..8887127999 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkOrmResourceModelProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/EclipseLinkOrmResourceModelProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2009 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -14,8 +14,8 @@ import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jpt.jpa.core.JpaProject; import org.eclipse.jpt.jpa.core.JpaResourceModelProvider; import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.internal.resource.orm.EclipseLinkOrmXmlResourceProvider; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; /** * EclipseLink orm.xml @@ -44,7 +44,7 @@ public class EclipseLinkOrmResourceModelProvider public IContentType getContentType() { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE; + return XmlEntityMappings.CONTENT_TYPE; } public JpaXmlResource buildResourceModel(JpaProject jpaProject, IFile file) { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkEntityImpl.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkEntityImpl.java index bf03953941..324e1e264b 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkEntityImpl.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkEntityImpl.java @@ -17,6 +17,7 @@ import org.eclipse.jpt.common.utility.internal.NotNullFilter; import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable; import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable; import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable; +import org.eclipse.jpt.jpa.core.JpaPlatform.Version; import org.eclipse.jpt.jpa.core.context.AttributeMapping; import org.eclipse.jpt.jpa.core.context.InheritanceType; import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode; @@ -26,7 +27,6 @@ import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaEntity; import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaCacheable2_0; import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaCacheableHolder2_0; import org.eclipse.jpt.jpa.core.resource.java.EntityAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer; @@ -35,8 +35,11 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching; import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkConverterContainer; import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkEntity; import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMultitenancy2_3; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_3JpaPlatformFactory; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkEntityPrimaryKeyValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkTypeMappingValidator; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkClassExtractorAnnotation2_1; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -189,7 +192,12 @@ public class JavaEclipseLinkEntityImpl } protected boolean isEclipseLink2_3Compatible() { - return JptJpaEclipseLinkCorePlugin.nodeIsEclipseLink2_3Compatible(this); + return this.getJpaPlatformVersion().isCompatibleWithEclipseLinkVersion(EclipseLink2_3JpaPlatformFactory.VERSION); + } + + @Override + protected EclipseLinkJpaPlatformVersion getJpaPlatformVersion() { + return (EclipseLinkJpaPlatformVersion) super.getJpaPlatformVersion(); } public boolean isMultitenantMetadataAllowed() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMappedSuperclassImpl.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMappedSuperclassImpl.java index d35595468c..a7691ed13e 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMappedSuperclassImpl.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMappedSuperclassImpl.java @@ -26,7 +26,6 @@ import org.eclipse.jpt.jpa.core.jpa2.context.CacheableHolder2_0; import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaCacheable2_0; import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaCacheableHolder2_0; import org.eclipse.jpt.jpa.core.resource.java.MappedSuperclassAnnotation; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer; @@ -35,8 +34,11 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkCaching; import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkConverterContainer; import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMappedSuperclass; import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkMultitenancy2_3; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_3JpaPlatformFactory; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkMappedSuperclassPrimaryKeyValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkMappedSuperclassValidator; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLink; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; @@ -189,7 +191,12 @@ public class JavaEclipseLinkMappedSuperclassImpl } protected boolean isEclipseLink2_3Compatible() { - return JptJpaEclipseLinkCorePlugin.nodeIsEclipseLink2_3Compatible(this); + return this.getJpaPlatformVersion().isCompatibleWithEclipseLinkVersion(EclipseLink2_3JpaPlatformFactory.VERSION); + } + + @Override + protected EclipseLinkJpaPlatformVersion getJpaPlatformVersion() { + return (EclipseLinkJpaPlatformVersion) super.getJpaPlatformVersion(); } public boolean isMultitenantMetadataAllowed() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMultitenancyImpl2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMultitenancyImpl2_3.java index 28c377cd69..821a4f6be5 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMultitenancyImpl2_3.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/java/JavaEclipseLinkMultitenancyImpl2_3.java @@ -24,7 +24,7 @@ import org.eclipse.jpt.common.utility.internal.iterables.SuperListIterableWrappe import org.eclipse.jpt.jpa.core.context.DiscriminatorType; import org.eclipse.jpt.jpa.core.context.Entity; import org.eclipse.jpt.jpa.core.context.InheritanceType; -import org.eclipse.jpt.jpa.core.context.MappingFileRoot; +import org.eclipse.jpt.jpa.core.context.MappingFile; import org.eclipse.jpt.jpa.core.context.ReadOnlyNamedColumn; import org.eclipse.jpt.jpa.core.context.ReadOnlyNamedDiscriminatorColumn; import org.eclipse.jpt.jpa.core.context.TypeMapping; @@ -33,7 +33,6 @@ import org.eclipse.jpt.jpa.core.internal.context.JptValidator; import org.eclipse.jpt.jpa.core.internal.context.NamedColumnTextRangeResolver; import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaJpaContextNode; import org.eclipse.jpt.jpa.db.Table; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkEntity; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMappedSuperclass; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMultitenantType2_3; @@ -48,6 +47,8 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkEntityMapping import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.TargetDatabase; import org.eclipse.jpt.jpa.eclipselink.core.internal.DefaultEclipseLinkJpaValidationMessages; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_4JpaPlatformFactory; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaValidationMessages; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.TenantDiscriminatorColumnValidator2_3; import org.eclipse.jpt.jpa.eclipselink.core.internal.resource.java.NullEclipseLinkTenantDiscriminatorColumnAnnotation2_3; @@ -585,7 +586,7 @@ public class JavaEclipseLinkMultitenancyImpl2_3 } public EclipseLinkEntityMappings getEclipseLinkEntityMappings() { - MappingFileRoot mfRoot = super.getMappingFileRoot(); + MappingFile.Root mfRoot = super.getMappingFileRoot(); if (mfRoot instanceof EclipseLinkEntityMappings) { return (EclipseLinkEntityMappings) mfRoot; } @@ -674,7 +675,7 @@ public class JavaEclipseLinkMultitenancyImpl2_3 @Override public void validate(List<IMessage> messages, IReporter reporter, CompilationUnit astRoot) { super.validate(messages, reporter, astRoot); - if (getSpecifiedType() == EclipseLinkMultitenantType2_3.TABLE_PER_TENANT && !JptJpaEclipseLinkCorePlugin.nodeIsEclipseLink2_4Compatible(this)) { + if (getSpecifiedType() == EclipseLinkMultitenantType2_3.TABLE_PER_TENANT && ! this.getJpaPlatformVersion().isCompatibleWithEclipseLinkVersion(EclipseLink2_4JpaPlatformFactory.VERSION)) { messages.add( DefaultEclipseLinkJpaValidationMessages.buildMessage( IMessage.NORMAL_SEVERITY, @@ -758,6 +759,11 @@ public class JavaEclipseLinkMultitenancyImpl2_3 } } + @Override + protected EclipseLinkJpaPlatformVersion getJpaPlatformVersion() { + return (EclipseLinkJpaPlatformVersion) super.getJpaPlatformVersion(); + } + public TextRange getValidationTextRange(CompilationUnit astRoot) { TextRange textRange = this.getMultitenantAnnotation().getTextRange(astRoot); return (textRange != null) ? textRange : this.getTypeMapping().getValidationTextRange(astRoot); diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkEntityMappingsImpl.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkEntityMappingsImpl.java index 4988ef0b6d..fb7ae7852e 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkEntityMappingsImpl.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkEntityMappingsImpl.java @@ -31,7 +31,6 @@ import org.eclipse.jpt.jpa.core.internal.context.JptValidator; import org.eclipse.jpt.jpa.core.internal.context.NamedColumnTextRangeResolver; import org.eclipse.jpt.jpa.core.internal.context.orm.AbstractEntityMappings; import org.eclipse.jpt.jpa.db.Table; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkTypeMapping; import org.eclipse.jpt.jpa.eclipselink.core.context.ReadOnlyTenantDiscriminatorColumn2_3; @@ -655,7 +654,7 @@ public class EclipseLinkEntityMappingsImpl @Override protected IContentType getContentType() { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE; + return XmlEntityMappings.CONTENT_TYPE; } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmElementCollectionMapping2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmElementCollectionMapping2_0.java index 184167e1c2..0fbdd7244c 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmElementCollectionMapping2_0.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmElementCollectionMapping2_0.java @@ -19,13 +19,13 @@ import org.eclipse.jpt.common.utility.internal.iterables.CompositeIterable; import org.eclipse.jpt.jpa.core.context.orm.OrmConverter; import org.eclipse.jpt.jpa.core.context.orm.OrmPersistentAttribute; import org.eclipse.jpt.jpa.core.internal.jpa2.context.orm.AbstractOrmElementCollectionMapping2_0; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkAccessType; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkElementCollectionMapping2_0; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkJoinFetch; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmConvertibleMapping; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterContainer; import org.eclipse.jpt.jpa.eclipselink.core.internal.DefaultEclipseLinkJpaValidationMessages; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_0JpaPlatformFactory; import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaValidationMessages; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlElementCollection; import org.eclipse.text.edits.ReplaceEdit; @@ -84,7 +84,7 @@ public class EclipseLinkOrmElementCollectionMapping2_0 // ********** join fetch ********** public EclipseLinkJoinFetch getJoinFetch() { - if (getJpaPlatformVersion().getVersion().equals(JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_2_0)) { + if (getJpaPlatformVersion().getVersion().equals(EclipseLink2_0JpaPlatformFactory.VERSION)) { throw new UnsupportedOperationException("join-fetch not supported in EclipseLink 2.0 platform"); //$NON-NLS-1$ } return this.joinFetch; diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmPersistentTypeImpl.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmPersistentTypeImpl.java index c63cd186a7..5b0ce1bb7a 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmPersistentTypeImpl.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmPersistentTypeImpl.java @@ -11,6 +11,8 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm; import java.util.List; import org.eclipse.jpt.common.core.resource.java.JavaResourceType; +import org.eclipse.jpt.jpa.core.JpaProject; +import org.eclipse.jpt.jpa.core.JpaPlatform.Version; import org.eclipse.jpt.jpa.core.context.PersistentType; import org.eclipse.jpt.jpa.core.context.ReadOnlyPersistentAttribute; import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType; @@ -21,11 +23,13 @@ import org.eclipse.jpt.jpa.core.internal.context.orm.SpecifiedOrmPersistentType; import org.eclipse.jpt.jpa.core.internal.validation.DefaultJpaValidationMessages; import org.eclipse.jpt.jpa.core.internal.validation.JpaValidationMessages; import org.eclipse.jpt.jpa.core.resource.orm.Attributes; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkAccessType; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkEntityMappings; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmPersistentType; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmTypeMapping; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_1JpaPlatformFactory; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethods; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAccessMethodsHolder; @@ -112,10 +116,15 @@ public class EclipseLinkOrmPersistentTypeImpl //and then the hierarchy affects the access type and we get stuck in an update. //Validation will check that virtual access is set if it is dynamic. protected boolean buildDynamic() { - return JptJpaEclipseLinkCorePlugin.nodeIsEclipseLinkVersionCompatible(this, JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_2_1) + return this.getJpaPlatformVersion().isCompatibleWithEclipseLinkVersion(EclipseLink2_1JpaPlatformFactory.VERSION) && this.resolveJavaResourceType() == null; } + @Override + protected EclipseLinkJpaPlatformVersion getJpaPlatformVersion() { + return (EclipseLinkJpaPlatformVersion) super.getJpaPlatformVersion(); + } + protected boolean isVirtualAccess() { return this.getAccess() == EclipseLinkAccessType.VIRTUAL; } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml1_1Definition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml1_1Definition.java index ba636b0de6..b085e4cb9c 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml1_1Definition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml1_1Definition.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -15,7 +15,8 @@ import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.orm.OrmXmlContextNodeFactory; import org.eclipse.jpt.jpa.core.context.orm.OrmXmlDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v1_1.EclipseLink1_1; public class EclipseLinkOrmXml1_1Definition extends AbstractEclipseLinkOrmXmlDefinition @@ -38,7 +39,7 @@ public class EclipseLinkOrmXml1_1Definition super(); } public JptResourceType getResourceType() { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_1_1_RESOURCE_TYPE; + return this.getResourceType(XmlEntityMappings.CONTENT_TYPE, EclipseLink1_1.SCHEMA_VERSION); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml1_2Definition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml1_2Definition.java index 77527bef2b..224d79805a 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml1_2Definition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml1_2Definition.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -15,7 +15,8 @@ import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.orm.OrmXmlContextNodeFactory; import org.eclipse.jpt.jpa.core.context.orm.OrmXmlDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v1_2.EclipseLink1_2; public class EclipseLinkOrmXml1_2Definition extends AbstractEclipseLinkOrmXmlDefinition @@ -39,7 +40,7 @@ public class EclipseLinkOrmXml1_2Definition } public JptResourceType getResourceType() { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_1_2_RESOURCE_TYPE; + return this.getResourceType(XmlEntityMappings.CONTENT_TYPE, EclipseLink1_2.SCHEMA_VERSION); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_0Definition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_0Definition.java index 2cd76ef0e9..6e730385b3 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_0Definition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_0Definition.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -27,8 +27,9 @@ import org.eclipse.jpt.jpa.core.internal.context.orm.OrmOneToOneMappingDefinitio import org.eclipse.jpt.jpa.core.internal.context.orm.OrmTransientMappingDefinition; import org.eclipse.jpt.jpa.core.internal.context.orm.OrmVersionMappingDefinition; import org.eclipse.jpt.jpa.core.internal.jpa2.context.orm.OrmElementCollectionMapping2_0Definition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_0JpaPlatformProvider; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_0.EclipseLink2_0; public class EclipseLinkOrmXml2_0Definition extends AbstractEclipseLinkOrmXmlDefinition @@ -52,7 +53,7 @@ public class EclipseLinkOrmXml2_0Definition } public JptResourceType getResourceType() { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_0_RESOURCE_TYPE; + return this.getResourceType(XmlEntityMappings.CONTENT_TYPE, EclipseLink2_0.SCHEMA_VERSION); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_1Definition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_1Definition.java index bb5f160db9..d06be14959 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_1Definition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_1Definition.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2011 Oracle. All rights reserved. + * Copyright (c) 2010, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -15,7 +15,8 @@ import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.orm.OrmXmlContextNodeFactory; import org.eclipse.jpt.jpa.core.context.orm.OrmXmlDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_1.EclipseLink2_1; public class EclipseLinkOrmXml2_1Definition extends AbstractEclipseLinkOrmXmlDefinition @@ -39,7 +40,7 @@ public class EclipseLinkOrmXml2_1Definition } public JptResourceType getResourceType() { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE; + return this.getResourceType(XmlEntityMappings.CONTENT_TYPE, EclipseLink2_1.SCHEMA_VERSION); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_2Definition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_2Definition.java index 0b9a42b08c..826bfd4aab 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_2Definition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_2Definition.java @@ -1,13 +1,12 @@ /******************************************************************************* - * Copyright (c) 2010, 2011 Oracle. - * All rights reserved. This program and the accompanying materials are - * made available under the terms of the Eclipse Public License v1.0 which - * accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ + * Copyright (c) 2010, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm; import java.util.ArrayList; @@ -16,14 +15,14 @@ import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.orm.OrmXmlContextNodeFactory; import org.eclipse.jpt.jpa.core.context.orm.OrmXmlDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_2.EclipseLink2_2; public class EclipseLinkOrmXml2_2Definition extends AbstractEclipseLinkOrmXmlDefinition { // singleton - private static final OrmXmlDefinition INSTANCE = - new EclipseLinkOrmXml2_2Definition(); + private static final OrmXmlDefinition INSTANCE = new EclipseLinkOrmXml2_2Definition(); /** @@ -32,7 +31,7 @@ public class EclipseLinkOrmXml2_2Definition public static OrmXmlDefinition instance() { return INSTANCE; } - + /** * Enforce singleton usage @@ -48,7 +47,7 @@ public class EclipseLinkOrmXml2_2Definition } public JptResourceType getResourceType() { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_2_RESOURCE_TYPE; + return this.getResourceType(XmlEntityMappings.CONTENT_TYPE, EclipseLink2_2.SCHEMA_VERSION); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_3Definition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_3Definition.java index 1b86429d5a..b44a6c2e0a 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_3Definition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_3Definition.java @@ -1,12 +1,12 @@ /******************************************************************************* - * Copyright (c) 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ + * Copyright (c) 2011, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm; import java.util.ArrayList; @@ -27,7 +27,9 @@ import org.eclipse.jpt.jpa.core.internal.context.orm.OrmOneToOneMappingDefinitio import org.eclipse.jpt.jpa.core.internal.context.orm.OrmTransientMappingDefinition; import org.eclipse.jpt.jpa.core.internal.context.orm.OrmVersionMappingDefinition; import org.eclipse.jpt.jpa.core.internal.jpa2.context.orm.OrmElementCollectionMapping2_0Definition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_3JpaPlatformProvider; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_3.EclipseLink2_3; public class EclipseLinkOrmXml2_3Definition @@ -43,7 +45,7 @@ public class EclipseLinkOrmXml2_3Definition public static OrmXmlDefinition instance() { return INSTANCE; } - + /** * Enforce singleton usage @@ -54,7 +56,7 @@ public class EclipseLinkOrmXml2_3Definition public JptResourceType getResourceType() { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_3_RESOURCE_TYPE; + return this.getResourceType(XmlEntityMappings.CONTENT_TYPE, EclipseLink2_3.SCHEMA_VERSION); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_4Definition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_4Definition.java index a5669b4c8d..785cd6c05f 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_4Definition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXml2_4Definition.java @@ -1,12 +1,12 @@ /******************************************************************************* - * Copyright (c) 2011, 2012 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ + * Copyright (c) 2011, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm; import java.util.ArrayList; @@ -15,7 +15,8 @@ import org.eclipse.jpt.common.utility.internal.CollectionTools; import org.eclipse.jpt.jpa.core.context.orm.OrmAttributeMappingDefinition; import org.eclipse.jpt.jpa.core.context.orm.OrmXmlContextNodeFactory; import org.eclipse.jpt.jpa.core.context.orm.OrmXmlDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_4.EclipseLink2_4; public class EclipseLinkOrmXml2_4Definition @@ -42,7 +43,7 @@ public class EclipseLinkOrmXml2_4Definition public JptResourceType getResourceType() { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_4_RESOURCE_TYPE; + return this.getResourceType(XmlEntityMappings.CONTENT_TYPE, EclipseLink2_4.SCHEMA_VERSION); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXmlDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXmlDefinition.java index 751e36ce08..15f287768e 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXmlDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/EclipseLinkOrmXmlDefinition.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -26,8 +26,9 @@ import org.eclipse.jpt.jpa.core.internal.context.orm.OrmOneToManyMappingDefiniti import org.eclipse.jpt.jpa.core.internal.context.orm.OrmOneToOneMappingDefinition; import org.eclipse.jpt.jpa.core.internal.context.orm.OrmTransientMappingDefinition; import org.eclipse.jpt.jpa.core.internal.context.orm.OrmVersionMappingDefinition; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformProvider; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLink; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; public class EclipseLinkOrmXmlDefinition extends AbstractEclipseLinkOrmXmlDefinition @@ -51,7 +52,7 @@ public class EclipseLinkOrmXmlDefinition } public JptResourceType getResourceType() { - return JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_1_0_RESOURCE_TYPE; + return this.getResourceType(XmlEntityMappings.CONTENT_TYPE, EclipseLink.SCHEMA_VERSION); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java index 894ed5a3bd..eb03727958 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkEntityImpl.java @@ -31,7 +31,6 @@ import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmCacheable2_0; import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmCacheableHolder2_0; import org.eclipse.jpt.jpa.core.resource.orm.XmlClassReference; import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer; @@ -42,10 +41,13 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkConverterC import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkEntity; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMultitenancy2_3; import org.eclipse.jpt.jpa.eclipselink.core.internal.DefaultEclipseLinkJpaValidationMessages; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_3JpaPlatformFactory; import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaValidationMessages; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkDynamicTypeMappingValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkEntityPrimaryKeyValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkTypeMappingValidator; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.resource.java.EclipseLinkClassExtractorAnnotation2_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntity; import org.eclipse.text.edits.ReplaceEdit; @@ -206,7 +208,12 @@ public class OrmEclipseLinkEntityImpl } protected boolean isEclipseLink2_3Compatible() { - return JptJpaEclipseLinkCorePlugin.nodeIsEclipseLink2_3Compatible(this); + return this.getJpaPlatformVersion().isCompatibleWithEclipseLinkVersion(EclipseLink2_3JpaPlatformFactory.VERSION); + } + + @Override + protected EclipseLinkJpaPlatformVersion getJpaPlatformVersion() { + return (EclipseLinkJpaPlatformVersion) super.getJpaPlatformVersion(); } public boolean isMultitenantMetadataAllowed() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java index 86fe9361e7..c2e2e80170 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMappedSuperclassImpl.java @@ -27,7 +27,6 @@ import org.eclipse.jpt.jpa.core.internal.context.orm.AbstractOrmMappedSuperclass import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmCacheable2_0; import org.eclipse.jpt.jpa.core.jpa2.context.orm.OrmCacheableHolder2_0; import org.eclipse.jpt.jpa.core.resource.orm.v2_0.XmlCacheable_2_0; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkChangeTracking; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkConverter; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkCustomizer; @@ -38,10 +37,13 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMappedSupe import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmEclipseLinkMultitenancy2_3; import org.eclipse.jpt.jpa.eclipselink.core.context.orm.EclipseLinkOrmPersistentType; import org.eclipse.jpt.jpa.eclipselink.core.internal.DefaultEclipseLinkJpaValidationMessages; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_3JpaPlatformFactory; import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaValidationMessages; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkDynamicTypeMappingValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkMappedSuperclassPrimaryKeyValidator; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.EclipseLinkMappedSuperclassValidator; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlMappedSuperclass; import org.eclipse.text.edits.ReplaceEdit; import org.eclipse.wst.validation.internal.provisional.core.IMessage; @@ -208,9 +210,15 @@ public class OrmEclipseLinkMappedSuperclassImpl } protected boolean isEclipseLink2_3Compatible() { - return JptJpaEclipseLinkCorePlugin.nodeIsEclipseLink2_3Compatible(this); + return this.getJpaPlatformVersion().isCompatibleWithEclipseLinkVersion(EclipseLink2_3JpaPlatformFactory.VERSION); } + @Override + protected EclipseLinkJpaPlatformVersion getJpaPlatformVersion() { + return (EclipseLinkJpaPlatformVersion) super.getJpaPlatformVersion(); + } + + // ********** query container ********** public OrmQueryContainer getQueryContainer() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMultitenancyImpl2_3.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMultitenancyImpl2_3.java index 9b298be332..2e54001c3f 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMultitenancyImpl2_3.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/OrmEclipseLinkMultitenancyImpl2_3.java @@ -28,7 +28,6 @@ import org.eclipse.jpt.jpa.core.internal.context.NamedColumnTextRangeResolver; import org.eclipse.jpt.jpa.core.internal.context.orm.AbstractOrmXmlContextNode; import org.eclipse.jpt.jpa.core.resource.orm.XmlTypeMapping; import org.eclipse.jpt.jpa.db.Table; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkEntity; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMappedSuperclass; import org.eclipse.jpt.jpa.eclipselink.core.context.EclipseLinkMultitenantType2_3; @@ -46,6 +45,8 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.orm.OrmVirtualTenantDiscrimi import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.EclipseLinkPersistenceUnit; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.TargetDatabase; import org.eclipse.jpt.jpa.eclipselink.core.internal.DefaultEclipseLinkJpaValidationMessages; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_4JpaPlatformFactory; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaValidationMessages; import org.eclipse.jpt.jpa.eclipselink.core.internal.context.TenantDiscriminatorColumnValidator2_3; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; @@ -694,7 +695,7 @@ public class OrmEclipseLinkMultitenancyImpl2_3 @Override public void validate(List<IMessage> messages, IReporter reporter) { super.validate(messages, reporter); - if (getType() == EclipseLinkMultitenantType2_3.TABLE_PER_TENANT && !JptJpaEclipseLinkCorePlugin.nodeIsEclipseLink2_4Compatible(this)) { + if (getType() == EclipseLinkMultitenantType2_3.TABLE_PER_TENANT && ! this.getJpaPlatformVersion().isCompatibleWithEclipseLinkVersion(EclipseLink2_4JpaPlatformFactory.VERSION)) { messages.add( DefaultEclipseLinkJpaValidationMessages.buildMessage( IMessage.NORMAL_SEVERITY, @@ -767,6 +768,11 @@ public class OrmEclipseLinkMultitenancyImpl2_3 } } + @Override + protected EclipseLinkJpaPlatformVersion getJpaPlatformVersion() { + return (EclipseLinkJpaPlatformVersion) super.getJpaPlatformVersion(); + } + public TextRange getValidationTextRange() { TextRange textRange = this.getXmlMultitenantValidationTextRange(); return (textRange != null) ? textRange : this.getTypeMapping().getValidationTextRange(); diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/VirtualJavaPersistentAttribute.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/VirtualJavaPersistentAttribute.java index d457409419..6162ce8504 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/VirtualJavaPersistentAttribute.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/orm/VirtualJavaPersistentAttribute.java @@ -34,8 +34,8 @@ import org.eclipse.jpt.jpa.core.internal.jpa1.context.java.GenericJavaNullAttrib import org.eclipse.jpt.jpa.core.jpa2.context.MetamodelField; import org.eclipse.jpt.jpa.core.jpa2.context.java.JavaPersistentAttribute2_0; import org.eclipse.jpt.jpa.core.jpa2.resource.java.JPA2_0; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.java.JavaEclipseLinkPersistentAttribute; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlAttributeMapping; public class VirtualJavaPersistentAttribute @@ -212,7 +212,7 @@ public class VirtualJavaPersistentAttribute this.interfaceIsValidForVariableOneToOne(); } catch (JavaModelException e) { - JptJpaEclipseLinkCorePlugin.log(e); + JptJpaEclipseLinkCorePlugin.instance().logError(e); return false; } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLink2_0PersistenceXmlDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLink2_0PersistenceXmlDefinition.java index 1b37aec558..474d0e3c05 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLink2_0PersistenceXmlDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLink2_0PersistenceXmlDefinition.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -11,10 +11,10 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence; import org.eclipse.emf.ecore.EFactory; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXmlContextNodeFactory; import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXmlDefinition; import org.eclipse.jpt.jpa.core.internal.context.persistence.AbstractPersistenceXmlDefinition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.persistence.GenericPersistenceXml2_0Definition; import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Factory; public class EclipseLink2_0PersistenceXmlDefinition @@ -39,7 +39,7 @@ public class EclipseLink2_0PersistenceXmlDefinition } public JptResourceType getResourceType() { - return JptJpaCorePlugin.PERSISTENCE_XML_2_0_RESOURCE_TYPE; + return GenericPersistenceXml2_0Definition.instance().getResourceType(); } public EFactory getResourceNodeFactory() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLink2_4PersistenceXmlDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLink2_4PersistenceXmlDefinition.java index f8a5d3fee3..eb18ffe6fc 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLink2_4PersistenceXmlDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLink2_4PersistenceXmlDefinition.java @@ -11,14 +11,15 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence; import org.eclipse.emf.ecore.EFactory; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXmlContextNodeFactory; import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXmlDefinition; import org.eclipse.jpt.jpa.core.internal.context.persistence.AbstractPersistenceXmlDefinition; +import org.eclipse.jpt.jpa.core.internal.jpa2.context.persistence.GenericPersistenceXml2_0Definition; import org.eclipse.jpt.jpa.core.resource.persistence.v2_0.PersistenceV2_0Factory; -public class EclipseLink2_4PersistenceXmlDefinition extends AbstractPersistenceXmlDefinition { - +public class EclipseLink2_4PersistenceXmlDefinition + extends AbstractPersistenceXmlDefinition +{ // singleton private static final PersistenceXmlDefinition INSTANCE = new EclipseLink2_4PersistenceXmlDefinition(); @@ -42,7 +43,7 @@ public class EclipseLink2_4PersistenceXmlDefinition extends AbstractPersistenceX } public JptResourceType getResourceType() { - return JptJpaCorePlugin.PERSISTENCE_XML_2_0_RESOURCE_TYPE; + return GenericPersistenceXml2_0Definition.instance().getResourceType(); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLinkPersistenceXmlDefinition.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLinkPersistenceXmlDefinition.java index e522115f3a..f5cd68c226 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLinkPersistenceXmlDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/context/persistence/EclipseLinkPersistenceXmlDefinition.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2010 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -11,10 +11,10 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal.context.persistence; import org.eclipse.emf.ecore.EFactory; import org.eclipse.jpt.common.core.JptResourceType; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXmlContextNodeFactory; import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXmlDefinition; import org.eclipse.jpt.jpa.core.internal.context.persistence.AbstractPersistenceXmlDefinition; +import org.eclipse.jpt.jpa.core.internal.jpa1.context.persistence.GenericPersistenceXmlDefinition; import org.eclipse.jpt.jpa.core.resource.persistence.PersistenceFactory; public class EclipseLinkPersistenceXmlDefinition @@ -39,7 +39,7 @@ public class EclipseLinkPersistenceXmlDefinition } public JptResourceType getResourceType() { - return JptJpaCorePlugin.PERSISTENCE_XML_1_0_RESOURCE_TYPE; + return GenericPersistenceXmlDefinition.instance().getResourceType(); } public EFactory getResourceNodeFactory() { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/ddlgen/AbstractEclipseLinkDDLGenerator.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/ddlgen/AbstractEclipseLinkDDLGenerator.java index 349532ad0f..22922d19ea 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/ddlgen/AbstractEclipseLinkDDLGenerator.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/ddlgen/AbstractEclipseLinkDDLGenerator.java @@ -36,7 +36,6 @@ import org.eclipse.jpt.jpa.core.JpaProject; import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXmlEnumValue; import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource; import org.eclipse.jpt.jpa.db.ConnectionProfile; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Connection; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Customization; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.DdlGenerationType; @@ -44,6 +43,9 @@ import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.Logging; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.LoggingLevel; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.OutputMode; import org.eclipse.jpt.jpa.eclipselink.core.context.persistence.SchemaGeneration; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLink2_1JpaPlatformFactory; +import org.eclipse.jpt.jpa.eclipselink.core.internal.EclipseLinkJpaPlatformFactory.EclipseLinkJpaPlatformVersion; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; import org.eclipse.osgi.util.ManifestElement; import org.osgi.framework.Bundle; import org.osgi.framework.BundleException; @@ -142,7 +144,8 @@ public abstract class AbstractEclipseLinkDDLGenerator extends AbstractJptGenerat } protected void appendDynamicArgument(StringBuffer sb) { - if (JptJpaEclipseLinkCorePlugin.nodeIsEclipseLinkVersionCompatible(this.jpaProject, JptJpaEclipseLinkCorePlugin.ECLIPSELINK_PLATFORM_VERSION_2_1)) { + EclipseLinkJpaPlatformVersion jpaVersion = (EclipseLinkJpaPlatformVersion) this.jpaProject.getJpaPlatform().getJpaVersion(); + if (jpaVersion.isCompatibleWithEclipseLinkVersion(EclipseLink2_1JpaPlatformFactory.VERSION)) { sb.append(' ').append(DYNAMIC_PROGRAM_ARGUMENT); } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationDataModelProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationDataModelProvider.java index 2d6b3e56eb..971753a851 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationDataModelProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationDataModelProvider.java @@ -9,13 +9,13 @@ ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.internal.operations; -import org.eclipse.jpt.jpa.core.JpaProject; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; +import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.common.utility.internal.ArrayTools; +import org.eclipse.jpt.jpa.core.JpaPlatform; import org.eclipse.jpt.jpa.core.internal.operations.OrmFileCreationDataModelProvider; -import org.eclipse.jpt.jpa.core.platform.JpaPlatformDescription; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.platform.EclipseLinkPlatform; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLink; +import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v1_1.EclipseLink1_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v1_2.EclipseLink1_2; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_0.EclipseLink2_0; @@ -43,36 +43,29 @@ public class EclipseLinkOrmFileCreationDataModelProvider @Override protected String getDefaultFileName() { - return JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH.lastSegment(); + return XmlEntityMappings.DEFAULT_RUNTIME_PATH.lastSegment(); } @Override - protected String getDefaultVersion() { - JpaProject jpaProject = this.getJpaProject(); - if (jpaProject == null) { - return null; - } - try { - return jpaProject.getJpaPlatform().getMostRecentSupportedResourceType( - JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE).getVersion(); - } - catch (IllegalArgumentException iae) { - // eclipselink content not supported for project - return null; - } + protected IContentType getContentType() { + return XmlEntityMappings.CONTENT_TYPE; } @Override protected boolean fileVersionSupported(String fileVersion) { - return fileVersion.equals(EclipseLink.SCHEMA_VERSION) - || fileVersion.equals(EclipseLink1_1.SCHEMA_VERSION) - || fileVersion.equals(EclipseLink1_2.SCHEMA_VERSION) - || fileVersion.equals(EclipseLink2_0.SCHEMA_VERSION) - || fileVersion.equals(EclipseLink2_1.SCHEMA_VERSION) - || fileVersion.equals(EclipseLink2_2.SCHEMA_VERSION) - || fileVersion.equals(EclipseLink2_3.SCHEMA_VERSION) - || fileVersion.equals(EclipseLink2_4.SCHEMA_VERSION); + return ArrayTools.contains(ECLIPSE_LINK_SCHEMA_VERSIONS, fileVersion); } + + protected static final String[] ECLIPSE_LINK_SCHEMA_VERSIONS = new String[] { + EclipseLink.SCHEMA_VERSION, + EclipseLink1_1.SCHEMA_VERSION, + EclipseLink1_2.SCHEMA_VERSION, + EclipseLink2_0.SCHEMA_VERSION, + EclipseLink2_1.SCHEMA_VERSION, + EclipseLink2_2.SCHEMA_VERSION, + EclipseLink2_3.SCHEMA_VERSION, + EclipseLink2_4.SCHEMA_VERSION + }; @Override protected boolean fileVersionSupportedForFacetVersion(String fileVersion, String jpaFacetVersion) { @@ -81,11 +74,7 @@ public class EclipseLinkOrmFileCreationDataModelProvider } @Override - protected boolean isSupportedPlatformId(String id) { - JpaPlatformDescription platform = JptJpaCorePlugin.getJpaPlatformManager().getJpaPlatform(id); - if (platform == null) { - return false; - } - return EclipseLinkPlatform.GROUP.equals(platform.getGroup()); + protected boolean platformIsSupported(JpaPlatform jpaPlatform) { + return jpaPlatform.getDescription().getGroupDescription().equals(EclipseLinkPlatform.GROUP); } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationOperation.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationOperation.java index 06573a32b5..4ea778af34 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationOperation.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/operations/EclipseLinkOrmFileCreationOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2009 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -11,7 +11,7 @@ package org.eclipse.jpt.jpa.eclipselink.core.internal.operations; import org.eclipse.core.resources.IFile; import org.eclipse.jpt.jpa.core.internal.operations.OrmFileCreationOperation; -import org.eclipse.jpt.jpa.core.resource.AbstractXmlResourceProvider; +import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResourceProvider; import org.eclipse.jpt.jpa.eclipselink.core.internal.resource.orm.EclipseLinkOrmXmlResourceProvider; import org.eclipse.wst.common.frameworks.datamodel.IDataModel; @@ -23,7 +23,7 @@ public class EclipseLinkOrmFileCreationOperation extends OrmFileCreationOperatio @Override - protected AbstractXmlResourceProvider getXmlResourceProvider(IFile file) { + protected JpaXmlResourceProvider getXmlResourceProvider(IFile file) { return EclipseLinkOrmXmlResourceProvider.getXmlResourceProvider(file); } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/plugin/JptJpaEclipseLinkCorePlugin.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/plugin/JptJpaEclipseLinkCorePlugin.java new file mode 100644 index 0000000000..7118c88530 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/plugin/JptJpaEclipseLinkCorePlugin.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2008, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + *******************************************************************************/ +package org.eclipse.jpt.jpa.eclipselink.core.internal.plugin; + +import org.eclipse.jpt.common.core.internal.utility.JptPlugin; + +public class JptJpaEclipseLinkCorePlugin + extends JptPlugin +{ + // ********** singleton ********** + + private static volatile JptJpaEclipseLinkCorePlugin INSTANCE; + + /** + * Return the singleton Dali EclipseLink core plug-in. + */ + public static JptJpaEclipseLinkCorePlugin instance() { + return INSTANCE; + } + + + // ********** Dali plug-in ********** + + public JptJpaEclipseLinkCorePlugin() { + super(); + } + + @Override + protected void setInstance(JptPlugin plugin) { + INSTANCE = (JptJpaEclipseLinkCorePlugin) plugin; + } +} diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/orm/EclipseLinkOrmXmlResourceProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/orm/EclipseLinkOrmXmlResourceProvider.java index d6d6be213c..d2d9511e38 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/orm/EclipseLinkOrmXmlResourceProvider.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/internal/resource/orm/EclipseLinkOrmXmlResourceProvider.java @@ -13,16 +13,15 @@ import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IPath; import org.eclipse.jpt.jpa.core.internal.operations.OrmFileCreationDataModelProperties; -import org.eclipse.jpt.jpa.core.resource.AbstractXmlResourceProvider; +import org.eclipse.jpt.jpa.core.internal.resource.xml.AbstractJpaXmlResourceProvider; import org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitDefaults; import org.eclipse.jpt.jpa.core.resource.orm.XmlPersistenceUnitMetadata; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.EclipseLinkOrmFactory; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.XmlEntityMappings; import org.eclipse.wst.common.frameworks.datamodel.IDataModel; public class EclipseLinkOrmXmlResourceProvider - extends AbstractXmlResourceProvider + extends AbstractJpaXmlResourceProvider implements OrmFileCreationDataModelProperties { /** @@ -46,7 +45,7 @@ public class EclipseLinkOrmXmlResourceProvider * the given project in the default runtime location */ public static EclipseLinkOrmXmlResourceProvider getDefaultXmlResourceProvider(IProject project) { - return getXmlResourceProvider(project, JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH); + return getXmlResourceProvider(project, XmlEntityMappings.DEFAULT_RUNTIME_PATH); } private static EclipseLinkOrmXmlResourceProvider getXmlResourceProvider_(IProject project, IPath fullPath) { @@ -55,11 +54,11 @@ public class EclipseLinkOrmXmlResourceProvider public EclipseLinkOrmXmlResourceProvider(IProject project) { - this(project, JptJpaEclipseLinkCorePlugin.DEFAULT_ECLIPSELINK_ORM_XML_RUNTIME_PATH); + this(project, XmlEntityMappings.DEFAULT_RUNTIME_PATH); } public EclipseLinkOrmXmlResourceProvider(IProject project, IPath filePath) { - super(project, filePath, JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE); + super(project, filePath, XmlEntityMappings.CONTENT_TYPE); } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/platform/EclipseLinkPlatform.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/platform/EclipseLinkPlatform.java index b6401dd3e1..f13d7eb218 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/platform/EclipseLinkPlatform.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/platform/EclipseLinkPlatform.java @@ -1,17 +1,19 @@ /******************************************************************************* - * Copyright (c) 2010, 2011 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Oracle - initial API and implementation - *******************************************************************************/ + * Copyright (c) 2010, 2012 Oracle. All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0, which accompanies this distribution + * and is available at http://www.eclipse.org/legal/epl-v10.html. + * + * Contributors: + * Oracle - initial API and implementation + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.platform; -import org.eclipse.jpt.jpa.core.JptJpaCorePlugin; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.jpt.jpa.core.JpaWorkspace; import org.eclipse.jpt.jpa.core.platform.JpaPlatformDescription; import org.eclipse.jpt.jpa.core.platform.JpaPlatformGroupDescription; +import org.eclipse.jpt.jpa.core.platform.JpaPlatformManager; /** * Constants pertaining to the EclipseLink JPA platforms and their group @@ -27,33 +29,39 @@ import org.eclipse.jpt.jpa.core.platform.JpaPlatformGroupDescription; */ public class EclipseLinkPlatform { - public static final JpaPlatformGroupDescription GROUP - = JptJpaCorePlugin.getJpaPlatformManager().getJpaPlatformGroup("eclipselink"); //$NON-NLS-1$ + public static final JpaPlatformGroupDescription GROUP = getJpaPlatformGroupDescription("eclipselink"); //$NON-NLS-1$ - public static final JpaPlatformDescription VERSION_1_0 - = JptJpaCorePlugin.getJpaPlatformManager().getJpaPlatform("org.eclipse.eclipselink.platform"); //$NON-NLS-1$ + public static final JpaPlatformDescription VERSION_1_0 = getJpaPlatformDescription("org.eclipse.eclipselink.platform"); //$NON-NLS-1$ - public static final JpaPlatformDescription VERSION_1_1 - = JptJpaCorePlugin.getJpaPlatformManager().getJpaPlatform("eclipselink1_1"); //$NON-NLS-1$ + public static final JpaPlatformDescription VERSION_1_1 = getJpaPlatformDescription("eclipselink1_1"); //$NON-NLS-1$ - public static final JpaPlatformDescription VERSION_1_2 - = JptJpaCorePlugin.getJpaPlatformManager().getJpaPlatform("eclipselink1_2"); //$NON-NLS-1$ + public static final JpaPlatformDescription VERSION_1_2 = getJpaPlatformDescription("eclipselink1_2"); //$NON-NLS-1$ - public static final JpaPlatformDescription VERSION_2_0 - = JptJpaCorePlugin.getJpaPlatformManager().getJpaPlatform("eclipselink2_0"); //$NON-NLS-1$ + public static final JpaPlatformDescription VERSION_2_0 = getJpaPlatformDescription("eclipselink2_0"); //$NON-NLS-1$ - public static final JpaPlatformDescription VERSION_2_1 - = JptJpaCorePlugin.getJpaPlatformManager().getJpaPlatform("eclipselink2_1"); //$NON-NLS-1$ + public static final JpaPlatformDescription VERSION_2_1 = getJpaPlatformDescription("eclipselink2_1"); //$NON-NLS-1$ - public static final JpaPlatformDescription VERSION_2_2 - = JptJpaCorePlugin.getJpaPlatformManager().getJpaPlatform("eclipselink2_2"); //$NON-NLS-1$ + public static final JpaPlatformDescription VERSION_2_2 = getJpaPlatformDescription("eclipselink2_2"); //$NON-NLS-1$ - public static final JpaPlatformDescription VERSION_2_3 - = JptJpaCorePlugin.getJpaPlatformManager().getJpaPlatform("eclipselink2_3"); //$NON-NLS-1$ + public static final JpaPlatformDescription VERSION_2_3 = getJpaPlatformDescription("eclipselink2_3"); //$NON-NLS-1$ - public static final JpaPlatformDescription VERSION_2_4 - = JptJpaCorePlugin.getJpaPlatformManager().getJpaPlatform("eclipselink2_4"); //$NON-NLS-1$ + public static final JpaPlatformDescription VERSION_2_4 = getJpaPlatformDescription("eclipselink2_4"); //$NON-NLS-1$ + private static JpaPlatformGroupDescription getJpaPlatformGroupDescription(String platformGroupID) { + return getJpaPlatformManager().getJpaPlatformGroupDescription(platformGroupID); + } + + private static JpaPlatformDescription getJpaPlatformDescription(String platformID) { + return getJpaPlatformManager().getJpaPlatformDescription(platformID); + } + + private static JpaPlatformManager getJpaPlatformManager() { + return getJpaWorkspace().getJpaPlatformManager(); + } + + private static JpaWorkspace getJpaWorkspace() { + return (JpaWorkspace) ResourcesPlugin.getWorkspace().getAdapter(JpaWorkspace.class); + } /** * Not for instantiation diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLinkOrmXmlResourceFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLinkOrmXmlResourceFactory.java index 57154bbb46..ce0b3e6aed 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLinkOrmXmlResourceFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/EclipseLinkOrmXmlResourceFactory.java @@ -1,18 +1,16 @@ /******************************************************************************* - * Copyright (c) 2008, 2009 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. * * Contributors: * Oracle - initial API and implementation - *******************************************************************************/ - + ******************************************************************************/ package org.eclipse.jpt.jpa.eclipselink.core.resource.orm; import org.eclipse.emf.common.util.URI; import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource; -import org.eclipse.jpt.jpa.eclipselink.core.JptJpaEclipseLinkCorePlugin; import org.eclipse.wst.common.internal.emf.resource.Renderer; import org.eclipse.wst.common.internal.emf.resource.RendererFactory; import org.eclipse.wst.common.internal.emf.resource.TranslatorResource; @@ -48,6 +46,6 @@ public class EclipseLinkOrmXmlResourceFactory extends TranslatorResourceFactory */ @Override protected TranslatorResource createResource(URI uri, Renderer renderer) { - return new JpaXmlResource(uri, renderer, JptJpaEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_CONTENT_TYPE, XmlEntityMappings.getRootTranslator()); + return new JpaXmlResource(uri, renderer, XmlEntityMappings.CONTENT_TYPE, XmlEntityMappings.getRootTranslator()); } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEntityMappings.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEntityMappings.java index 37deb173ec..1c9b4c77f5 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEntityMappings.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core/src/org/eclipse/jpt/jpa/eclipselink/core/resource/orm/XmlEntityMappings.java @@ -12,7 +12,9 @@ package org.eclipse.jpt.jpa.eclipselink.core.resource.orm; import java.util.Collection; import java.util.HashMap; -import java.util.Map; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.content.IContentType; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.common.util.EList; @@ -28,6 +30,7 @@ import org.eclipse.jpt.jpa.core.resource.orm.SqlResultSetMapping; import org.eclipse.jpt.jpa.core.resource.orm.XmlNamedNativeQuery; import org.eclipse.jpt.jpa.core.resource.orm.XmlNamedQuery; import org.eclipse.jpt.jpa.core.resource.orm.XmlSequenceGenerator; +import org.eclipse.jpt.jpa.eclipselink.core.internal.plugin.JptJpaEclipseLinkCorePlugin; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v1_1.EclipseLink1_1; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v1_2.EclipseLink1_2; import org.eclipse.jpt.jpa.eclipselink.core.resource.orm.v2_0.EclipseLink2_0; @@ -1336,21 +1339,24 @@ public class XmlEntityMappings extends org.eclipse.jpt.jpa.core.resource.orm.Xml } return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); } - - - // **************** version -> schema location mapping ******************** - - private static String namespace = EclipseLink.SCHEMA_NAMESPACE; - + + + // ********** version -> schema location mapping ********** + @Override protected String getNamespace() { - return namespace; + return EclipseLink.SCHEMA_NAMESPACE; } - - private static Map<String, String> versionsToSchemaLocations = buildVersionsToSchemaLocations(); - - private static Map<String, String> buildVersionsToSchemaLocations() { - Map<String, String> map = new HashMap<String, String>(); + + @Override + protected String getSchemaLocationForVersion(String schemaVersion) { + return SCHEMA_LOCATIONS.get(schemaVersion); + } + + private static HashMap<String, String> SCHEMA_LOCATIONS = buildSchemaLocations(); + + private static HashMap<String, String> buildSchemaLocations() { + HashMap<String, String> map = new HashMap<String, String>(); map.put(EclipseLink.SCHEMA_VERSION, EclipseLink.SCHEMA_LOCATION); map.put(EclipseLink1_1.SCHEMA_VERSION, EclipseLink1_1.SCHEMA_LOCATION); map.put(EclipseLink1_2.SCHEMA_VERSION, EclipseLink1_2.SCHEMA_LOCATION); @@ -1362,13 +1368,24 @@ public class XmlEntityMappings extends org.eclipse.jpt.jpa.core.resource.orm.Xml return map; } - @Override - protected String getSchemaLocationForVersion(String version) { - return versionsToSchemaLocations.get(version); - } - + + // ********** content/resource type ********** + + /** + * The content type for <code>eclipselink-orm.xml</code> mapping files. + * @see org.eclipse.jpt.jpa.core.resource.ResourceMappingFile.Root#CONTENT_TYPE + */ + public static final IContentType CONTENT_TYPE = JptJpaEclipseLinkCorePlugin.instance().getContentType("orm"); //$NON-NLS-1$ + + + // ********** default runtime path ********** - // **************** translators ******************************************* + public static final String DEFAULT_RUNTIME_PATH_NAME = "META-INF/eclipselink-orm.xml"; //$NON-NLS-1$ + + public static final IPath DEFAULT_RUNTIME_PATH = new Path(DEFAULT_RUNTIME_PATH_NAME); + + + // ********** translators ********** private static final Translator ROOT_TRANSLATOR = buildRootTranslator(); @@ -1377,18 +1394,15 @@ public class XmlEntityMappings extends org.eclipse.jpt.jpa.core.resource.orm.Xml } private static Translator buildRootTranslator() { - return new SimpleRootTranslator( - JPA.ENTITY_MAPPINGS, - EclipseLinkOrmPackage.eINSTANCE.getXmlEntityMappings(), - buildTranslatorChildren()); + return new SimpleRootTranslator(JPA.ENTITY_MAPPINGS, EclipseLinkOrmPackage.eINSTANCE.getXmlEntityMappings(), buildTranslatorChildren()); } private static Translator[] buildTranslatorChildren() { return new Translator[] { - buildVersionTranslator(versionsToSchemaLocations), - buildNamespaceTranslator(namespace), + buildVersionTranslator(SCHEMA_LOCATIONS), + buildNamespaceTranslator(EclipseLink.SCHEMA_NAMESPACE), buildSchemaNamespaceTranslator(), - buildSchemaLocationTranslator(namespace, versionsToSchemaLocations), + buildSchemaLocationTranslator(EclipseLink.SCHEMA_NAMESPACE, SCHEMA_LOCATIONS), buildDescriptionTranslator(), XmlPersistenceUnitMetadata.buildTranslator(JPA.PERSISTENCE_UNIT_METADATA, OrmPackage.eINSTANCE.getXmlEntityMappings_PersistenceUnitMetadata()), buildPackageTranslator(), @@ -1430,5 +1444,4 @@ public class XmlEntityMappings extends org.eclipse.jpt.jpa.core.resource.orm.Xml protected static Translator buildAccessMethodsTranslator() { return XmlAccessMethods.buildTranslator(EclipseLink.ACCESS_METHODS, EclipseLinkOrmPackage.eINSTANCE.getXmlAccessMethodsHolder_AccessMethods()); } - } |