diff options
author | kmoore | 2010-04-19 22:03:48 +0000 |
---|---|---|
committer | kmoore | 2010-04-19 22:03:48 +0000 |
commit | 527ff0f620d4c11ab44f8eb2e254d099b8ecadaf (patch) | |
tree | 2588f84c9489d0f9922d6da900d39f48abb7c3fa /jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui | |
parent | 59955c1d87b93c814501f12c5472f6000513291d (diff) | |
download | webtools.dali-527ff0f620d4c11ab44f8eb2e254d099b8ecadaf.tar.gz webtools.dali-527ff0f620d4c11ab44f8eb2e254d099b8ecadaf.tar.xz webtools.dali-527ff0f620d4c11ab44f8eb2e254d099b8ecadaf.zip |
309482- element collection join-fetch support in 2.1 and 2.0 EclipseLink platforms
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui')
8 files changed, 365 insertions, 4 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/EclipseLink2_0JavaUiFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/EclipseLink2_0JavaUiFactory.java index 6bb29fcad2..863c2fd2a6 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/EclipseLink2_0JavaUiFactory.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/EclipseLink2_0JavaUiFactory.java @@ -21,7 +21,6 @@ import org.eclipse.jpt.core.jpa2.context.java.JavaElementCollectionMapping2_0; import org.eclipse.jpt.eclipselink.ui.internal.v1_2.details.java.EclipseLink1_2JavaUiFactory; import org.eclipse.jpt.ui.WidgetFactory; import org.eclipse.jpt.ui.details.JpaComposite; -import org.eclipse.jpt.ui.internal.jpa2.details.ElementCollectionMapping2_0Composite; import org.eclipse.jpt.ui.internal.jpa2.details.EmbeddedIdMapping2_0Composite; import org.eclipse.jpt.ui.jpa2.details.java.JavaUiFactory2_0; import org.eclipse.jpt.utility.model.value.PropertyValueModel; @@ -78,7 +77,7 @@ public class EclipseLink2_0JavaUiFactory PropertyValueModel<JavaElementCollectionMapping2_0> subjectHolder, Composite parent, WidgetFactory widgetFactory) { - return new ElementCollectionMapping2_0Composite(subjectHolder, parent, widgetFactory); + return new JavaEclipseLinkElementCollectionMapping2_0Composite(subjectHolder, parent, widgetFactory); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkElementCollectionMapping2_0Composite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkElementCollectionMapping2_0Composite.java new file mode 100644 index 0000000000..7e71436a3e --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/java/JavaEclipseLinkElementCollectionMapping2_0Composite.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 2009, 2010 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.eclipselink.ui.internal.v2_0.details.java; + +import org.eclipse.jpt.core.jpa2.context.java.JavaElementCollectionMapping2_0; +import org.eclipse.jpt.eclipselink.core.context.EclipseLinkJoinFetch; +import org.eclipse.jpt.eclipselink.core.v2_0.context.EclipseLinkElementCollectionMapping2_0; +import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite; +import org.eclipse.jpt.ui.WidgetFactory; +import org.eclipse.jpt.ui.internal.details.FetchTypeComposite; +import org.eclipse.jpt.ui.internal.jpa2.details.AbstractElementCollectionMapping2_0Composite; +import org.eclipse.jpt.ui.internal.jpa2.details.CollectionTable2_0Composite; +import org.eclipse.jpt.ui.internal.jpa2.details.TargetClassComposite; +import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; +import org.eclipse.jpt.utility.model.value.PropertyValueModel; +import org.eclipse.swt.widgets.Composite; + +public class JavaEclipseLinkElementCollectionMapping2_0Composite extends AbstractElementCollectionMapping2_0Composite<JavaElementCollectionMapping2_0> +{ + /** + * Creates a new <code>EclipseLink1_1OrmBasicMappingComposite</code>. + * + * @param subjectHolder The holder of the subject <code>BasicMapping</code> + * @param parent The parent container + * @param widgetFactory The factory used to create various common widgets + */ + public JavaEclipseLinkElementCollectionMapping2_0Composite(PropertyValueModel<? extends JavaElementCollectionMapping2_0> subjectHolder, + Composite parent, + WidgetFactory widgetFactory) { + + super(subjectHolder, parent, widgetFactory); + } + + @Override + protected void initializeElementCollectionSection(Composite container) { + new TargetClassComposite(this, container); + new FetchTypeComposite(this, container); + new EclipseLinkJoinFetchComposite(this, buildJoinFetchHolder(), container); + new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container); + } + + protected PropertyValueModel<EclipseLinkJoinFetch> buildJoinFetchHolder() { + return new PropertyAspectAdapter<JavaElementCollectionMapping2_0, EclipseLinkJoinFetch>(getSubjectHolder()) { + @Override + protected EclipseLinkJoinFetch buildValue_() { + return ((EclipseLinkElementCollectionMapping2_0) this.subject).getJoinFetch(); + } + }; + } +}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkOrmXml2_0UiDefinition.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkOrmXml2_0UiDefinition.java index 5fa54b4a7e..c2d4f0b131 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkOrmXml2_0UiDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_0/details/orm/EclipseLinkOrmXml2_0UiDefinition.java @@ -69,8 +69,7 @@ public class EclipseLinkOrmXml2_0UiDefinition } public boolean providesUi(JpaResourceType resourceType) { - return resourceType.equals(JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_0_RESOURCE_TYPE) - || resourceType.equals(JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE); + return resourceType.equals(JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_0_RESOURCE_TYPE); } public JpaStructureProvider getStructureProvider() { diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/details/orm/EclipseLinkOrmXml2_1UiDefinition.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/details/orm/EclipseLinkOrmXml2_1UiDefinition.java new file mode 100644 index 0000000000..92fde5f734 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/details/orm/EclipseLinkOrmXml2_1UiDefinition.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 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.eclipselink.ui.internal.v2_1.details.orm; + +import java.util.List; +import org.eclipse.jpt.core.JpaResourceType; +import org.eclipse.jpt.core.context.AttributeMapping; +import org.eclipse.jpt.core.context.TypeMapping; +import org.eclipse.jpt.eclipselink.core.internal.JptEclipseLinkCorePlugin; +import org.eclipse.jpt.eclipselink.ui.internal.details.orm.OrmEclipseLinkBasicCollectionMappingUiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.details.orm.OrmEclipseLinkBasicMapMappingUiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.details.orm.OrmEclipseLinkTransformationMappingUiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.details.orm.OrmEclipseLinkVariableOneToOneMappingUiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.structure.EclipseLinkOrmResourceModelStructureProvider; +import org.eclipse.jpt.ui.ResourceUiDefinition; +import org.eclipse.jpt.ui.details.orm.OrmAttributeMappingUiDefinition; +import org.eclipse.jpt.ui.details.orm.OrmTypeMappingUiDefinition; +import org.eclipse.jpt.ui.details.orm.OrmXmlUiFactory; +import org.eclipse.jpt.ui.internal.details.orm.AbstractOrmXmlResourceUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmBasicMappingUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddableUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddedIdMappingUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmEmbeddedMappingUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmEntityUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmIdMappingUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmManyToManyMappingUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmManyToOneMappingUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmMappedSuperclassUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmOneToManyMappingUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmOneToOneMappingUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmTransientMappingUiDefinition; +import org.eclipse.jpt.ui.internal.details.orm.OrmVersionMappingUiDefinition; +import org.eclipse.jpt.ui.internal.jpa2.details.orm.OrmElementCollectionMapping2_0UiDefinition; +import org.eclipse.jpt.ui.structure.JpaStructureProvider; + +public class EclipseLinkOrmXml2_1UiDefinition extends AbstractOrmXmlResourceUiDefinition +{ + // singleton + private static final ResourceUiDefinition INSTANCE = new EclipseLinkOrmXml2_1UiDefinition(); + + + /** + * Return the singleton + */ + public static ResourceUiDefinition instance() { + return INSTANCE; + } + + + /** + * Enforce singleton usage + */ + private EclipseLinkOrmXml2_1UiDefinition() { + super(); + } + + + @Override + protected OrmXmlUiFactory buildOrmXmlUiFactory() { + return new EclipseLinkOrmXml2_1UiFactory(); + } + + public boolean providesUi(JpaResourceType resourceType) { + return resourceType.equals(JptEclipseLinkCorePlugin.ECLIPSELINK_ORM_XML_2_1_RESOURCE_TYPE); + } + + public JpaStructureProvider getStructureProvider() { + return EclipseLinkOrmResourceModelStructureProvider.instance(); + } + + @Override + protected void addOrmAttributeMappingUiDefinitionsTo(List<OrmAttributeMappingUiDefinition<? extends AttributeMapping>> definitions) { + definitions.add(OrmIdMappingUiDefinition.instance()); + definitions.add(OrmEmbeddedIdMappingUiDefinition.instance()); + definitions.add(OrmBasicMappingUiDefinition.instance()); + definitions.add(OrmVersionMappingUiDefinition.instance()); + definitions.add(OrmManyToOneMappingUiDefinition.instance()); + definitions.add(OrmOneToManyMappingUiDefinition.instance()); + definitions.add(OrmOneToOneMappingUiDefinition.instance()); + definitions.add(OrmManyToManyMappingUiDefinition.instance()); + definitions.add(OrmEmbeddedMappingUiDefinition.instance()); + definitions.add(OrmTransientMappingUiDefinition.instance()); + + definitions.add(OrmEclipseLinkBasicCollectionMappingUiDefinition.instance()); + definitions.add(OrmEclipseLinkBasicMapMappingUiDefinition.instance()); + definitions.add(OrmEclipseLinkVariableOneToOneMappingUiDefinition.instance()); + definitions.add(OrmEclipseLinkTransformationMappingUiDefinition.instance()); + + definitions.add(OrmElementCollectionMapping2_0UiDefinition.instance()); + } + + @Override + protected void addOrmTypeMappingUiDefinitionsTo(List<OrmTypeMappingUiDefinition<? extends TypeMapping>> definitions) { + definitions.add(OrmEntityUiDefinition.instance()); + definitions.add(OrmMappedSuperclassUiDefinition.instance()); + definitions.add(OrmEmbeddableUiDefinition.instance()); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/details/orm/EclipseLinkOrmXml2_1UiFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/details/orm/EclipseLinkOrmXml2_1UiFactory.java new file mode 100644 index 0000000000..19b1eacf87 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/details/orm/EclipseLinkOrmXml2_1UiFactory.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2010 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.eclipselink.ui.internal.v2_1.details.orm; + +import org.eclipse.jpt.core.jpa2.context.orm.OrmElementCollectionMapping2_0; +import org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.orm.EclipseLinkOrmXml2_0UiFactory; +import org.eclipse.jpt.ui.WidgetFactory; +import org.eclipse.jpt.ui.details.JpaComposite; +import org.eclipse.jpt.utility.model.value.PropertyValueModel; +import org.eclipse.swt.widgets.Composite; + +public class EclipseLinkOrmXml2_1UiFactory + extends EclipseLinkOrmXml2_0UiFactory +{ + + + @Override + public JpaComposite createOrmElementCollectionMapping2_0Composite( + PropertyValueModel<OrmElementCollectionMapping2_0> subjectHolder, + Composite parent, + WidgetFactory widgetFactory) { + return new OrmEclipseLinkElementCollectionMapping2_1Composite(subjectHolder, parent, widgetFactory); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/details/orm/OrmEclipseLinkElementCollectionMapping2_1Composite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/details/orm/OrmEclipseLinkElementCollectionMapping2_1Composite.java new file mode 100644 index 0000000000..4a4c63a94c --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/details/orm/OrmEclipseLinkElementCollectionMapping2_1Composite.java @@ -0,0 +1,71 @@ +/******************************************************************************* + * Copyright (c) 2009, 2010 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.eclipselink.ui.internal.v2_1.details.orm; + +import org.eclipse.jpt.core.context.AccessHolder; +import org.eclipse.jpt.core.jpa2.context.orm.OrmElementCollectionMapping2_0; +import org.eclipse.jpt.eclipselink.core.context.EclipseLinkJoinFetch; +import org.eclipse.jpt.eclipselink.core.v2_0.context.EclipseLinkElementCollectionMapping2_0; +import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkJoinFetchComposite; +import org.eclipse.jpt.ui.WidgetFactory; +import org.eclipse.jpt.ui.internal.details.AccessTypeComposite; +import org.eclipse.jpt.ui.internal.details.FetchTypeComposite; +import org.eclipse.jpt.ui.internal.details.orm.OrmMappingNameChooser; +import org.eclipse.jpt.ui.internal.jpa2.details.AbstractElementCollectionMapping2_0Composite; +import org.eclipse.jpt.ui.internal.jpa2.details.CollectionTable2_0Composite; +import org.eclipse.jpt.ui.internal.jpa2.details.TargetClassComposite; +import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; +import org.eclipse.jpt.utility.model.value.PropertyValueModel; +import org.eclipse.swt.widgets.Composite; + +public class OrmEclipseLinkElementCollectionMapping2_1Composite extends AbstractElementCollectionMapping2_0Composite<OrmElementCollectionMapping2_0> +{ + /** + * Creates a new <code>EclipseLink1_1OrmBasicMappingComposite</code>. + * + * @param subjectHolder The holder of the subject <code>BasicMapping</code> + * @param parent The parent container + * @param widgetFactory The factory used to create various common widgets + */ + public OrmEclipseLinkElementCollectionMapping2_1Composite(PropertyValueModel<? extends OrmElementCollectionMapping2_0> subjectHolder, + Composite parent, + WidgetFactory widgetFactory) { + + super(subjectHolder, parent, widgetFactory); + } + + @Override + protected void initializeElementCollectionSection(Composite container) { + new TargetClassComposite(this, container); + new OrmMappingNameChooser(this, getSubjectHolder(), container); + new AccessTypeComposite(this, buildAccessHolderHolder(), container); + new FetchTypeComposite(this, container); + new EclipseLinkJoinFetchComposite(this, buildJoinFetchHolder(), container); + new CollectionTable2_0Composite(this, buildCollectionTableHolder(), container); + } + + protected PropertyValueModel<AccessHolder> buildAccessHolderHolder() { + return new PropertyAspectAdapter<OrmElementCollectionMapping2_0, AccessHolder>(getSubjectHolder()) { + @Override + protected AccessHolder buildValue_() { + return this.subject.getPersistentAttribute(); + } + }; + } + + protected PropertyValueModel<EclipseLinkJoinFetch> buildJoinFetchHolder() { + return new PropertyAspectAdapter<OrmElementCollectionMapping2_0, EclipseLinkJoinFetch>(getSubjectHolder()) { + @Override + protected EclipseLinkJoinFetch buildValue_() { + return ((EclipseLinkElementCollectionMapping2_0) this.subject).getJoinFetch(); + } + }; + } +}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/platform/EclipseLink2_1JpaPlatformUiFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/platform/EclipseLink2_1JpaPlatformUiFactory.java index b18ed1f83d..6e3ebfc4f2 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/platform/EclipseLink2_1JpaPlatformUiFactory.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/platform/EclipseLink2_1JpaPlatformUiFactory.java @@ -10,7 +10,10 @@ *******************************************************************************/ package org.eclipse.jpt.eclipselink.ui.internal.v2_1.platform; +import org.eclipse.jpt.eclipselink.ui.internal.platform.EclipseLinkNavigatorProvider; +import org.eclipse.jpt.eclipselink.ui.internal.v2_0.platform.EclipseLink2_0JpaPlatformUi; import org.eclipse.jpt.eclipselink.ui.internal.v2_0.platform.EclipseLink2_0JpaPlatformUiFactory; +import org.eclipse.jpt.ui.JpaPlatformUi; public class EclipseLink2_1JpaPlatformUiFactory extends EclipseLink2_0JpaPlatformUiFactory @@ -21,4 +24,11 @@ public class EclipseLink2_1JpaPlatformUiFactory public EclipseLink2_1JpaPlatformUiFactory() { super(); } + @Override + public JpaPlatformUi buildJpaPlatformUi() { + return new EclipseLink2_0JpaPlatformUi( + new EclipseLinkNavigatorProvider(), + EclipseLink2_1JpaPlatformUiProvider.instance() + ); + } } diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/platform/EclipseLink2_1JpaPlatformUiProvider.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/platform/EclipseLink2_1JpaPlatformUiProvider.java new file mode 100644 index 0000000000..74646a0a56 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/v2_1/platform/EclipseLink2_1JpaPlatformUiProvider.java @@ -0,0 +1,89 @@ +/******************************************************************************* +* Copyright (c) 2010 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.eclipselink.ui.internal.v2_1.platform; + +import java.util.List; +import org.eclipse.jpt.eclipselink.ui.internal.details.orm.EclipseLinkEntityMappingsDetailsProvider; +import org.eclipse.jpt.eclipselink.ui.internal.details.orm.EclipseLinkOrmXmlUiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.persistence.EclipseLinkPersistenceXmlUiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.v1_1.details.orm.EclipseLinkOrmXml1_1UiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.v1_2.details.orm.EclipseLinkOrmXml1_2UiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.java.EclipseLink2_0JavaResourceUiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.orm.EclipseLinkEntityMappings2_0DetailsProvider; +import org.eclipse.jpt.eclipselink.ui.internal.v2_0.details.orm.EclipseLinkOrmXml2_0UiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.v2_0.persistence.EclipseLinkPersistenceXml2_0UiDefinition; +import org.eclipse.jpt.eclipselink.ui.internal.v2_1.details.orm.EclipseLinkOrmXml2_1UiDefinition; +import org.eclipse.jpt.ui.JpaPlatformUiProvider; +import org.eclipse.jpt.ui.ResourceUiDefinition; +import org.eclipse.jpt.ui.details.JpaDetailsProvider; +import org.eclipse.jpt.ui.internal.AbstractJpaPlatformUiProvider; +import org.eclipse.jpt.ui.internal.details.java.JavaPersistentAttributeDetailsProvider; +import org.eclipse.jpt.ui.internal.details.java.JavaPersistentTypeDetailsProvider; +import org.eclipse.jpt.ui.internal.details.orm.EntityMappingsDetailsProvider; +import org.eclipse.jpt.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider; +import org.eclipse.jpt.ui.internal.details.orm.OrmPersistentTypeDetailsProvider; +import org.eclipse.jpt.ui.internal.details.orm.OrmXmlUiDefinition; +import org.eclipse.jpt.ui.internal.jpa2.details.orm.EntityMappings2_0DetailsProvider; +import org.eclipse.jpt.ui.internal.jpa2.details.orm.OrmXml2_0UiDefinition; + +/** + * EclipseLink2_1JpaPlatformUiProvider + */ +public class EclipseLink2_1JpaPlatformUiProvider extends AbstractJpaPlatformUiProvider +{ + + // singleton + private static final JpaPlatformUiProvider INSTANCE = new EclipseLink2_1JpaPlatformUiProvider(); + + /** + * Return the singleton. + */ + public static JpaPlatformUiProvider instance() { + return INSTANCE; + } + + /** + * Ensure single instance. + */ + private EclipseLink2_1JpaPlatformUiProvider() { + super(); + } + + + // ********** details providers ********** + + @Override + protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) { + providers.add(JavaPersistentTypeDetailsProvider.instance()); + providers.add(JavaPersistentAttributeDetailsProvider.instance()); + providers.add(EntityMappingsDetailsProvider.instance()); + providers.add(OrmPersistentTypeDetailsProvider.instance()); + providers.add(OrmPersistentAttributeDetailsProvider.instance()); + providers.add(EntityMappings2_0DetailsProvider.instance()); + providers.add(EclipseLinkEntityMappingsDetailsProvider.instance()); + providers.add(EclipseLinkEntityMappings2_0DetailsProvider.instance()); + } + + // ********** resource ui definitions ********** + + @Override + protected void addResourceUiDefinitionsTo(List<ResourceUiDefinition> definitions) { + definitions.add(EclipseLink2_0JavaResourceUiDefinition.instance()); + definitions.add(OrmXmlUiDefinition.instance()); + definitions.add(OrmXml2_0UiDefinition.instance()); + definitions.add(EclipseLinkOrmXmlUiDefinition.instance()); + definitions.add(EclipseLinkOrmXml1_1UiDefinition.instance()); + definitions.add(EclipseLinkOrmXml1_2UiDefinition.instance()); + definitions.add(EclipseLinkOrmXml2_0UiDefinition.instance()); + definitions.add(EclipseLinkOrmXml2_1UiDefinition.instance()); + definitions.add(EclipseLinkPersistenceXmlUiDefinition.instance()); + definitions.add(EclipseLinkPersistenceXml2_0UiDefinition.instance()); + } +}
\ No newline at end of file |