diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src')
35 files changed, 427 insertions, 437 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/JpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/JpaPlatformUi.java index e8fdd7106c..e5ab9c871e 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/JpaPlatformUi.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/JpaPlatformUi.java @@ -10,10 +10,11 @@ package org.eclipse.jpt.ui; import java.util.Iterator; -import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jpt.core.JpaFile; +import org.eclipse.jpt.core.JpaPlatform; import org.eclipse.jpt.core.JpaProject; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.core.context.AttributeMapping; import org.eclipse.jpt.core.context.TypeMapping; @@ -46,75 +47,77 @@ import org.eclipse.swt.widgets.Composite; */ public interface JpaPlatformUi { - - // ********** details providers ********** - - JpaDetailsPage<? extends JpaStructureNode> buildJpaDetailsPage( - Composite parent, - JpaStructureNode structureNode, - WidgetFactory widgetFactory); - + // ********** navigator provider ********** + + /** + * Return the {@link JpaNavigatorProvider} for this platform, + * which determines Project Explorer content and look + */ + JpaNavigatorProvider getNavigatorProvider(); + // ********** structure providers ********** - + /** * Return a structure provider for the specified JPA file. */ JpaStructureProvider getStructureProvider(JpaFile jpaFile); - + + + // ********** details providers ********** + + JpaDetailsPage<? extends JpaStructureNode> buildJpaDetailsPage( + Composite parent, + JpaStructureNode structureNode, + WidgetFactory widgetFactory); + // ********** file ui definitions ********** - - /** - * Return a file ui definition for the specified content type. - */ - ResourceUiDefinition getFileUiDefinition(IContentType contentType); - - // ********** navigator provider ********** - /** - * Return the {@link JpaNavigatorProvider} for this platform, - * which determines Project Explorer content and look + * Return a resource ui definition for the specified resource type. */ - JpaNavigatorProvider getNavigatorProvider(); - + ResourceUiDefinition getResourceUiDefinition(JpaResourceType resourceType); + // ********** type mappings ********** JpaComposite buildTypeMappingComposite( - IContentType contentType, - String key, - Composite parent, - PropertyValueModel<TypeMapping> mappingHolder, - WidgetFactory widgetFactory); + JpaResourceType resourceType, + String mappingKey, + Composite parent, + PropertyValueModel<TypeMapping> mappingHolder, + WidgetFactory widgetFactory); - DefaultMappingUiDefinition<? extends TypeMapping> getDefaultTypeMappingUiDefinition(IContentType contentType); + DefaultMappingUiDefinition<? extends TypeMapping> getDefaultTypeMappingUiDefinition( + JpaResourceType resourceType); + + Iterator<? extends MappingUiDefinition<? extends TypeMapping>> typeMappingUiDefinitions( + JpaResourceType resourceType); - Iterator<? extends MappingUiDefinition<? extends TypeMapping>> typeMappingUiDefinitions(IContentType contentType); - // ********** attribute mappings ********** - + JpaComposite buildAttributeMappingComposite( - IContentType contentType, - String key, - Composite parent, - PropertyValueModel<AttributeMapping> mappingHolder, - WidgetFactory widgetFactory); + JpaResourceType resourceType, + String mappingKey, + Composite parent, + PropertyValueModel<AttributeMapping> mappingHolder, + WidgetFactory widgetFactory); + + DefaultMappingUiDefinition<? extends AttributeMapping> getDefaultAttributeMappingUiDefinition( + JpaResourceType resourceType, String mappingKey); + + Iterator<? extends MappingUiDefinition<? extends AttributeMapping>> attributeMappingUiDefinitions( + JpaResourceType resourceType); + - DefaultMappingUiDefinition<? extends AttributeMapping> getDefaultAttributeMappingUiDefinition(IContentType contentType, String key); - - Iterator<? extends MappingUiDefinition<? extends AttributeMapping>> attributeMappingUiDefinitions(IContentType contentType); - - // ********** entity generation ********** - + void generateEntities(JpaProject project, IStructuredSelection selection); - - + + // ********** DDL generation ********** - + void generateDDL(JpaProject project, IStructuredSelection selection); - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/ResourceUiDefinition.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/ResourceUiDefinition.java index 9695132848..eee4213601 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/ResourceUiDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/ResourceUiDefinition.java @@ -9,7 +9,7 @@ ******************************************************************************/ package org.eclipse.jpt.ui; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.ui.structure.JpaStructureProvider; /** @@ -23,13 +23,12 @@ import org.eclipse.jpt.ui.structure.JpaStructureProvider; public interface ResourceUiDefinition { /** - * Return the associated mapping file content type. + * Return whether this definition provides UI for resource of the given type */ - IContentType getContentType(); + boolean providesUi(JpaResourceType resourceType); /** * Return the structure provider association with this mapping file type. */ JpaStructureProvider getStructureProvider(); - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/details/JpaDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/details/JpaDetailsProvider.java index 33c99eab28..55c30f547e 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/details/JpaDetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/details/JpaDetailsProvider.java @@ -9,7 +9,6 @@ ******************************************************************************/ package org.eclipse.jpt.ui.details; -import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.ui.WidgetFactory; import org.eclipse.swt.widgets.Composite; @@ -20,7 +19,7 @@ import org.eclipse.swt.widgets.Composite; * * @see JpaDetailsPage * - * @version 2.2 + * @version 3.0 * @since 2.0 * * Provisional API: This interface is part of an interim API that is still @@ -32,6 +31,11 @@ import org.eclipse.swt.widgets.Composite; public interface JpaDetailsProvider { /** + * Return whether this provider returns a details page for the given structure node + */ + boolean providesDetails(JpaStructureNode structureNode); + + /** * Creates a new details page based on the given content node id. * * @param parent The parent container @@ -41,16 +45,6 @@ public interface JpaDetailsProvider */ //TODO Should we pass in JpaUiFactory so these pages can be built using the factory and overriden? JpaDetailsPage<? extends JpaStructureNode> buildDetailsPage( - Composite parent, - WidgetFactory widgetFactory); - - /** - * Return the id of the corresponding JpaStructureNode. - */ - String getId(); - - /** - * Return the content type of the reosurce - */ - IContentType getContentType(); -}
\ No newline at end of file + Composite parent, + WidgetFactory widgetFactory); +} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityMappingsDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityMappingsDetailsProvider.java index 108565617b..9325433331 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityMappingsDetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityMappingsDetailsProvider.java @@ -9,19 +9,24 @@ *******************************************************************************/ package org.eclipse.jpt.ui.internal.details; +import org.eclipse.jpt.core.JpaResourceType; +import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.core.context.orm.OrmStructureNodes; import org.eclipse.jpt.ui.details.JpaDetailsProvider; +import org.eclipse.jpt.utility.internal.StringTools; -/** - * AbstractEntityMappingsDetailsProvider - */ public abstract class AbstractEntityMappingsDetailsProvider implements JpaDetailsProvider { - protected AbstractEntityMappingsDetailsProvider() {} - - public String getId() { - return OrmStructureNodes.ENTITY_MAPPINGS_ID; + protected AbstractEntityMappingsDetailsProvider() { + super(); + } + + + public final boolean providesDetails(JpaStructureNode structureNode) { + return StringTools.stringsAreEqual(structureNode.getId(), OrmStructureNodes.ENTITY_MAPPINGS_ID) + && providesDetails(structureNode.getResourceType()); } + protected abstract boolean providesDetails(JpaResourceType resourceType); } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentAttributeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentAttributeDetailsPage.java index 6dab5bf3a8..7ca5b234d8 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentAttributeDetailsPage.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentAttributeDetailsPage.java @@ -51,12 +51,14 @@ public abstract class PersistentAttributeDetailsPage<T extends PersistentAttribu * @param parent The parent container * @param widgetFactory The factory used to create various common widgets */ - protected PersistentAttributeDetailsPage(Composite parent, - WidgetFactory widgetFactory) { - + protected PersistentAttributeDetailsPage( + Composite parent, + WidgetFactory widgetFactory) { + super(parent, widgetFactory); } - + + @Override protected void initialize() { super.initialize(); @@ -116,13 +118,12 @@ public abstract class PersistentAttributeDetailsPage<T extends PersistentAttribu } protected JpaComposite buildMappingComposite(PageBook pageBook, String mappingKey) { - return getJpaPlatformUi(). - buildAttributeMappingComposite( - getSubject().getContentType(), - mappingKey, - pageBook, - buildMappingHolder(mappingKey), - getWidgetFactory()); + return getJpaPlatformUi().buildAttributeMappingComposite( + getSubject().getResourceType(), + mappingKey, + pageBook, + buildMappingHolder(mappingKey), + getWidgetFactory()); } private PropertyValueModel<AttributeMapping> buildMappingHolder(final String key) { diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentAttributeMapAsComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentAttributeMapAsComposite.java index 9bb4d87ff9..777b7613f5 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentAttributeMapAsComposite.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentAttributeMapAsComposite.java @@ -25,24 +25,24 @@ import org.eclipse.swt.widgets.Composite; * * @see JavaPersistentAttributeMapAsComposite * @see OrmPersistentAttributeMapAsComposite - * - * @version 2.2 - * @since 2.0 */ -public class PersistentAttributeMapAsComposite extends MapAsComposite<PersistentAttribute> { - +public class PersistentAttributeMapAsComposite + extends MapAsComposite<PersistentAttribute> +{ /** * Creates a new <code>PersistentAttributeMapAsComposite</code>. * * @param parentPane The parent pane of this one * @param parent The parent container */ - public PersistentAttributeMapAsComposite(Pane<? extends PersistentAttribute> parentPane, - Composite parent) { - + public PersistentAttributeMapAsComposite( + Pane<? extends PersistentAttribute> parentPane, + Composite parent) { + super(parentPane, parent); } - + + @Override protected String getMappingKey() { return getSubject().getMappingKey(); @@ -93,24 +93,18 @@ public class PersistentAttributeMapAsComposite extends MapAsComposite<Persistent }; } - /** - * Retrieves the list of definitions that are registered with the JPT plugin. - * - * @return The supported types of mapping - */ protected Iterator<? extends MappingUiDefinition<? extends AttributeMapping>> attributeMappingUiDefinitions() { - return getJpaPlatformUi().attributeMappingUiDefinitions(getSubject().getContentType()); + return getJpaPlatformUi().attributeMappingUiDefinitions(getSubject().getResourceType()); } - + @Override protected DefaultMappingUiDefinition<?> getDefaultDefinition() { return getDefaultDefinition(getSubject().getDefaultMappingKey()); - } @Override protected DefaultMappingUiDefinition<?> getDefaultDefinition(String mappingKey) { - return getJpaPlatformUi().getDefaultAttributeMappingUiDefinition(getSubject().getContentType(), mappingKey); + return getJpaPlatformUi().getDefaultAttributeMappingUiDefinition(getSubject().getResourceType(), mappingKey); } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeDetailsPage.java index 86ec7a7b55..2389055614 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeDetailsPage.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeDetailsPage.java @@ -50,12 +50,14 @@ public class PersistentTypeDetailsPage extends AbstractJpaDetailsPage<Persistent * @param parent The parent container * @param widgetFactory The factory used to create various common widgets */ - public PersistentTypeDetailsPage(Composite parent, - WidgetFactory widgetFactory) { - + public PersistentTypeDetailsPage( + Composite parent, + WidgetFactory widgetFactory) { + super(parent, widgetFactory); } - + + @Override protected void initialize() { super.initialize(); @@ -195,28 +197,24 @@ public class PersistentTypeDetailsPage extends AbstractJpaDetailsPage<Persistent this.repaintDetailsView(this.typeMappingPageBook); } - private JpaComposite getMappingCompositeFor(String key) { - JpaComposite mappingComposite = this.mappingComposites.get(key); + private JpaComposite getMappingCompositeFor(String mappingKey) { + JpaComposite mappingComposite = this.mappingComposites.get(mappingKey); if (mappingComposite != null) { return mappingComposite; } - - mappingComposite = buildMappingComposite(this.typeMappingPageBook, key); - + mappingComposite = buildMappingComposite(this.typeMappingPageBook, mappingKey); if (mappingComposite != null) { - this.mappingComposites.put(key, mappingComposite); + this.mappingComposites.put(mappingKey, mappingComposite); } - return mappingComposite; } - protected JpaComposite buildMappingComposite(PageBook pageBook, String key) { - return getJpaPlatformUi(). - buildTypeMappingComposite( - getSubject().getContentType(), - key, + protected JpaComposite buildMappingComposite(PageBook pageBook, String mappingKey) { + return getJpaPlatformUi().buildTypeMappingComposite( + getSubject().getResourceType(), + mappingKey, pageBook, - buildMappingHolder(key), + buildMappingHolder(mappingKey), getWidgetFactory()); } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeMapAsComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeMapAsComposite.java index fe32e22565..af53e624e8 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeMapAsComposite.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeMapAsComposite.java @@ -36,12 +36,14 @@ public class PersistentTypeMapAsComposite extends MapAsComposite<PersistentType> * @param parentPane The parent pane of this one * @param parent The parent container */ - public PersistentTypeMapAsComposite(Pane<? extends PersistentType> parentPane, - Composite parent) { - + public PersistentTypeMapAsComposite( + Pane<? extends PersistentType> parentPane, + Composite parent) { + super(parentPane, parent); } - + + @Override protected String getMappingKey() { return getSubject().getMappingKey(); @@ -91,12 +93,12 @@ public class PersistentTypeMapAsComposite extends MapAsComposite<PersistentType> * @return The supported types of mapping */ protected Iterator<? extends MappingUiDefinition<? extends TypeMapping>> typeMappingUiDefinitions() { - return getJpaPlatformUi().typeMappingUiDefinitions(getSubject().getContentType()); + return getJpaPlatformUi().typeMappingUiDefinitions(getSubject().getResourceType()); } @Override protected DefaultMappingUiDefinition<?> getDefaultDefinition() { - return getJpaPlatformUi().getDefaultTypeMappingUiDefinition(getSubject().getContentType()); + return getJpaPlatformUi().getDefaultTypeMappingUiDefinition(getSubject().getResourceType()); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/TargetEntityComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/TargetEntityComposite.java index c2f2170eef..f84c660df5 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/TargetEntityComposite.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/TargetEntityComposite.java @@ -53,7 +53,7 @@ import org.eclipse.ui.forms.widgets.Hyperlink; * ----------------------------------------------------------------------------- * | -------------------------------------------- ------------- | * | Target Entity: | I |v| | Browse... | | - * | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -------------------------------------------- ------------- | + * | -------------------------------------------- ------------- | * -----------------------------------------------------------------------------</pre> * * @see RelationshipMapping @@ -61,9 +61,6 @@ import org.eclipse.ui.forms.widgets.Hyperlink; * @see ManyToOneMappingComposite - A container of this pane * @see OneToManyMappingComposite - A container of this pane * @see OneToOneMappingComposite - A container of this pane - * - * @version 2.0 - * @since 1.0 */ @SuppressWarnings("nls") public class TargetEntityComposite extends FormPane<RelationshipMapping> diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/AbstractJavaResourceUiDefinition.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/AbstractJavaResourceUiDefinition.java index cf42e64ee5..9866f76e04 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/AbstractJavaResourceUiDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/AbstractJavaResourceUiDefinition.java @@ -13,7 +13,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.ListIterator; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.core.context.AttributeMapping; import org.eclipse.jpt.core.context.TypeMapping; @@ -41,14 +41,12 @@ import org.eclipse.swt.widgets.Composite; public abstract class AbstractJavaResourceUiDefinition implements ResourceUiDefinition, MappingResourceUiDefinition { - private JavaTypeMappingUiDefinition<? extends TypeMapping>[] specifiedTypeMappingUiDefinitions; - + private JavaAttributeMappingUiDefinition<? extends AttributeMapping>[] specifiedAttributeMappingUiDefinitions; - + private DefaultJavaAttributeMappingUiDefinition<?>[] defaultAttributeMappingUiDefinitions; - private final JavaUiFactory factory; @@ -66,8 +64,8 @@ public abstract class AbstractJavaResourceUiDefinition return this.factory; } - public IContentType getContentType() { - return JptCorePlugin.JAVA_SOURCE_CONTENT_TYPE; + public boolean providesUi(JpaResourceType resourceType) { + return resourceType.equals(JptCorePlugin.JAVA_SOURCE_RESOURCE_TYPE); } public JpaStructureProvider getStructureProvider() { diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/JavaPersistentAttributeDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/JavaPersistentAttributeDetailsProvider.java index de1ba052e6..8db5a44360 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/JavaPersistentAttributeDetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/JavaPersistentAttributeDetailsProvider.java @@ -9,13 +9,14 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.details.java; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.core.context.java.JavaPersistentAttribute; import org.eclipse.jpt.core.context.java.JavaStructureNodes; import org.eclipse.jpt.ui.WidgetFactory; import org.eclipse.jpt.ui.details.JpaDetailsPage; import org.eclipse.jpt.ui.details.JpaDetailsProvider; +import org.eclipse.jpt.utility.internal.StringTools; import org.eclipse.swt.widgets.Composite; /** @@ -25,35 +26,34 @@ import org.eclipse.swt.widgets.Composite; public class JavaPersistentAttributeDetailsProvider implements JpaDetailsProvider { - // singleton private static final JpaDetailsProvider INSTANCE = new JavaPersistentAttributeDetailsProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaDetailsProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private JavaPersistentAttributeDetailsProvider() { super(); } - public String getId() { - return JavaStructureNodes.PERSISTENT_ATTRIBUTE_ID; - } - public IContentType getContentType() { - return JptCorePlugin.JAVA_SOURCE_CONTENT_TYPE; + public boolean providesDetails(JpaStructureNode structureNode) { + return StringTools.stringsAreEqual(structureNode.getId(), JavaStructureNodes.PERSISTENT_ATTRIBUTE_ID) + && structureNode.getResourceType().getContentType().equals(JptCorePlugin.JAVA_SOURCE_CONTENT_TYPE); } - + public JpaDetailsPage<JavaPersistentAttribute> buildDetailsPage( - Composite parent, - WidgetFactory widgetFactory) { + Composite parent, + WidgetFactory widgetFactory) { return new JavaPersistentAttributeDetailsPage(parent, widgetFactory); } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/JavaPersistentTypeDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/JavaPersistentTypeDetailsProvider.java index a41a007bb8..a64b188ac6 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/JavaPersistentTypeDetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/JavaPersistentTypeDetailsProvider.java @@ -9,7 +9,7 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.details.java; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.core.context.PersistentType; import org.eclipse.jpt.core.context.java.JavaStructureNodes; @@ -17,6 +17,7 @@ import org.eclipse.jpt.ui.WidgetFactory; import org.eclipse.jpt.ui.details.JpaDetailsPage; import org.eclipse.jpt.ui.details.JpaDetailsProvider; import org.eclipse.jpt.ui.internal.details.PersistentTypeDetailsPage; +import org.eclipse.jpt.utility.internal.StringTools; import org.eclipse.swt.widgets.Composite; /** @@ -26,37 +27,35 @@ import org.eclipse.swt.widgets.Composite; public class JavaPersistentTypeDetailsProvider implements JpaDetailsProvider { - // singleton private static final JpaDetailsProvider INSTANCE = new JavaPersistentTypeDetailsProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaDetailsProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private JavaPersistentTypeDetailsProvider() { super(); } - public String getId() { - return JavaStructureNodes.PERSISTENT_TYPE_ID; - } - public IContentType getContentType() { - return JptCorePlugin.JAVA_SOURCE_CONTENT_TYPE; + public boolean providesDetails(JpaStructureNode structureNode) { + return StringTools.stringsAreEqual(structureNode.getId(), JavaStructureNodes.PERSISTENT_TYPE_ID) + && structureNode.getResourceType().getContentType().equals(JptCorePlugin.JAVA_SOURCE_CONTENT_TYPE); } public JpaDetailsPage<PersistentType> buildDetailsPage( - Composite parent, - WidgetFactory widgetFactory) { - + Composite parent, + WidgetFactory widgetFactory) { + return new PersistentTypeDetailsPage(parent, widgetFactory); } - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/AbstractOrmXmlResourceUiDefinition.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/AbstractOrmXmlResourceUiDefinition.java index 3da3f8cc0b..895c3b9e8a 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/AbstractOrmXmlResourceUiDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/AbstractOrmXmlResourceUiDefinition.java @@ -16,7 +16,6 @@ import java.util.ListIterator; import org.eclipse.jpt.core.context.AttributeMapping; import org.eclipse.jpt.core.context.TypeMapping; import org.eclipse.jpt.ui.MappingResourceUiDefinition; -import org.eclipse.jpt.ui.ResourceUiDefinition; import org.eclipse.jpt.ui.WidgetFactory; import org.eclipse.jpt.ui.details.DefaultMappingUiDefinition; import org.eclipse.jpt.ui.details.JpaComposite; @@ -34,7 +33,7 @@ import org.eclipse.swt.widgets.Composite; * All the state in the definition should be "static" (i.e. unchanging once it is initialized). */ public abstract class AbstractOrmXmlResourceUiDefinition - implements ResourceUiDefinition, MappingResourceUiDefinition + implements MappingResourceUiDefinition { private OrmTypeMappingUiDefinition<? extends TypeMapping>[] ormTypeMappingUiDefintions; diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/EntityMappingsDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/EntityMappingsDetailsProvider.java index fa3354a7b2..6e9855ff86 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/EntityMappingsDetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/EntityMappingsDetailsProvider.java @@ -9,7 +9,7 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.details.orm; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.core.context.orm.EntityMappings; import org.eclipse.jpt.ui.WidgetFactory; @@ -28,29 +28,33 @@ public class EntityMappingsDetailsProvider { // singleton private static final JpaDetailsProvider INSTANCE = new EntityMappingsDetailsProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaDetailsProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private EntityMappingsDetailsProvider() { super(); } - public IContentType getContentType() { - return JptCorePlugin.ORM_XML_CONTENT_TYPE; + + @Override + protected boolean providesDetails(JpaResourceType resourceType) { + return resourceType.equals(JptCorePlugin.ORM_XML_1_0_RESOURCE_TYPE); } public JpaDetailsPage<EntityMappings> buildDetailsPage( - Composite parent, - WidgetFactory widgetFactory) { - + Composite parent, + WidgetFactory widgetFactory) { + return new EntityMappingsDetailsPage(parent, widgetFactory); } } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmPersistentAttributeDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmPersistentAttributeDetailsProvider.java index 2726bbfe7e..6122affbdc 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmPersistentAttributeDetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmPersistentAttributeDetailsProvider.java @@ -9,13 +9,14 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.details.orm; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; import org.eclipse.jpt.core.context.orm.OrmStructureNodes; import org.eclipse.jpt.ui.WidgetFactory; import org.eclipse.jpt.ui.details.JpaDetailsPage; import org.eclipse.jpt.ui.details.JpaDetailsProvider; +import org.eclipse.jpt.utility.internal.StringTools; import org.eclipse.swt.widgets.Composite; /** @@ -28,33 +29,33 @@ public class OrmPersistentAttributeDetailsProvider { // singleton private static final JpaDetailsProvider INSTANCE = new OrmPersistentAttributeDetailsProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaDetailsProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private OrmPersistentAttributeDetailsProvider() { super(); } - - public String getId() { - return OrmStructureNodes.PERSISTENT_ATTRIBUTE_ID; - } - public IContentType getContentType() { - return JptCorePlugin.ORM_XML_CONTENT_TYPE; + + public boolean providesDetails(JpaStructureNode structureNode) { + return StringTools.stringsAreEqual(structureNode.getId(), OrmStructureNodes.PERSISTENT_ATTRIBUTE_ID) + && structureNode.getResourceType().getContentType().equals(JptCorePlugin.ORM_XML_CONTENT_TYPE); } public JpaDetailsPage<OrmPersistentAttribute> buildDetailsPage( - Composite parent, - WidgetFactory widgetFactory) { - + Composite parent, + WidgetFactory widgetFactory) { + return new OrmPersistentAttributeDetailsPage(parent, widgetFactory); } } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmPersistentTypeDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmPersistentTypeDetailsProvider.java index 7ac5e6b6ed..4452782005 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmPersistentTypeDetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmPersistentTypeDetailsProvider.java @@ -9,7 +9,7 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.details.orm; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.core.context.PersistentType; import org.eclipse.jpt.core.context.orm.OrmStructureNodes; @@ -17,6 +17,7 @@ import org.eclipse.jpt.ui.WidgetFactory; import org.eclipse.jpt.ui.details.JpaDetailsPage; import org.eclipse.jpt.ui.details.JpaDetailsProvider; import org.eclipse.jpt.ui.internal.details.PersistentTypeDetailsPage; +import org.eclipse.jpt.utility.internal.StringTools; import org.eclipse.swt.widgets.Composite; /** @@ -29,34 +30,33 @@ public class OrmPersistentTypeDetailsProvider { // singleton private static final JpaDetailsProvider INSTANCE = new OrmPersistentTypeDetailsProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaDetailsProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private OrmPersistentTypeDetailsProvider() { super(); } - - public String getId() { - return OrmStructureNodes.PERSISTENT_TYPE_ID; - } - public IContentType getContentType() { - return JptCorePlugin.ORM_XML_CONTENT_TYPE; + + public boolean providesDetails(JpaStructureNode structureNode) { + return StringTools.stringsAreEqual(structureNode.getId(), OrmStructureNodes.PERSISTENT_TYPE_ID) + && structureNode.getResourceType().getContentType().equals(JptCorePlugin.ORM_XML_CONTENT_TYPE); } - + public JpaDetailsPage<PersistentType> buildDetailsPage( - Composite parent, - WidgetFactory widgetFactory) { - + Composite parent, + WidgetFactory widgetFactory) { + return new PersistentTypeDetailsPage(parent, widgetFactory); } - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmXmlUiDefinition.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmXmlUiDefinition.java index 3c9615c75f..ff8a35594d 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmXmlUiDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmXmlUiDefinition.java @@ -11,7 +11,7 @@ package org.eclipse.jpt.ui.internal.details.orm; import java.util.List; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.core.context.AttributeMapping; import org.eclipse.jpt.core.context.TypeMapping; @@ -26,30 +26,33 @@ public class OrmXmlUiDefinition extends AbstractOrmXmlResourceUiDefinition { // singleton private static final ResourceUiDefinition INSTANCE = new OrmXmlUiDefinition(); - + + /** - * Return the singleton. + * Return the singleton */ public static ResourceUiDefinition instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private OrmXmlUiDefinition() { super(); } + @Override protected OrmXmlUiFactory buildOrmXmlUiFactory() { return new GenericOrmXmlUiFactory(); } - public IContentType getContentType() { - return JptCorePlugin.ORM_XML_CONTENT_TYPE; + public boolean providesUi(JpaResourceType resourceType) { + return resourceType.equals(JptCorePlugin.ORM_XML_1_0_RESOURCE_TYPE); } - + public JpaStructureProvider getStructureProvider() { return OrmResourceModelStructureProvider.instance(); } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/dialogs/AddPersistentAttributeToXmlAndMapDialog.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/dialogs/AddPersistentAttributeToXmlAndMapDialog.java index c4d4998c60..b0ecd1130a 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/dialogs/AddPersistentAttributeToXmlAndMapDialog.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/dialogs/AddPersistentAttributeToXmlAndMapDialog.java @@ -10,7 +10,6 @@ package org.eclipse.jpt.ui.internal.dialogs; import java.util.Comparator; - import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.jface.dialogs.StatusDialog; @@ -37,7 +36,6 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; - import com.ibm.icu.text.Collator; public class AddPersistentAttributeToXmlAndMapDialog extends StatusDialog @@ -84,7 +82,7 @@ public class AddPersistentAttributeToXmlAndMapDialog extends StatusDialog public Object[] getElements(Object inputElement) { return ArrayTools.array( CollectionTools.sort( - ((JpaPlatformUi) inputElement).attributeMappingUiDefinitions(unmappedPersistentAttribute.getContentType()), + ((JpaPlatformUi) inputElement).attributeMappingUiDefinitions(unmappedPersistentAttribute.getResourceType()), getProvidersComparator())); } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/editors/PersistenceEditor.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/editors/PersistenceEditor.java index 3ea59409b9..8a427678c7 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/editors/PersistenceEditor.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/editors/PersistenceEditor.java @@ -126,7 +126,7 @@ public class PersistenceEditor extends FormEditor String platformId = jpaProject.getJpaPlatform().getId(); JpaPlatformUi jpaPlatformUI = JpaPlatformUiRegistry.instance().getJpaPlatformUi(platformId); PersistenceXmlResourceUiDefinition definition = - (PersistenceXmlResourceUiDefinition) jpaPlatformUI.getFileUiDefinition(jpaProject.getRootContextNode().getPersistenceXml().getContentType()); + (PersistenceXmlResourceUiDefinition) jpaPlatformUI.getResourceUiDefinition(jpaProject.getRootContextNode().getPersistenceXml().getResourceType()); ListIterator<JpaPageComposite> pages = definition.buildPersistenceUnitComposites( buildPersistenceUnitHolder(), diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/EntityMappings2_0DetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/EntityMappings2_0DetailsProvider.java index bddbb65628..89b9d0b7db 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/EntityMappings2_0DetailsProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/EntityMappings2_0DetailsProvider.java @@ -9,7 +9,7 @@ *******************************************************************************/ package org.eclipse.jpt.ui.internal.jpa2.details.orm; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.core.context.orm.EntityMappings; import org.eclipse.jpt.ui.WidgetFactory; @@ -26,29 +26,33 @@ public class EntityMappings2_0DetailsProvider { // singleton private static final JpaDetailsProvider INSTANCE = new EntityMappings2_0DetailsProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaDetailsProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private EntityMappings2_0DetailsProvider() { super(); } - public IContentType getContentType() { - return JptCorePlugin.ORM2_0_XML_CONTENT_TYPE; + + @Override + protected boolean providesDetails(JpaResourceType resourceType) { + return resourceType.equals(JptCorePlugin.ORM_XML_2_0_RESOURCE_TYPE); } public JpaDetailsPage<EntityMappings> buildDetailsPage( - Composite parent, - WidgetFactory widgetFactory) { - + Composite parent, + WidgetFactory widgetFactory) { + return new EntityMappings2_0DetailsPage(parent, widgetFactory); } } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmXml2_0UiDefinition.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmXml2_0UiDefinition.java index 9fcc104070..fdf97a5d3c 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmXml2_0UiDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmXml2_0UiDefinition.java @@ -10,7 +10,7 @@ package org.eclipse.jpt.ui.internal.jpa2.details.orm; import java.util.List; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.core.context.AttributeMapping; import org.eclipse.jpt.core.context.TypeMapping; @@ -40,30 +40,33 @@ public class OrmXml2_0UiDefinition extends AbstractOrmXmlResourceUiDefinition { // singleton private static final ResourceUiDefinition INSTANCE = new OrmXml2_0UiDefinition(); - + + /** - * Return the singleton. + * Return the singleton */ public static ResourceUiDefinition instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private OrmXml2_0UiDefinition() { super(); } + @Override protected OrmXmlUiFactory buildOrmXmlUiFactory() { return new GenericOrmXml2_0UiFactory(); } - - public IContentType getContentType() { - return JptCorePlugin.ORM2_0_XML_CONTENT_TYPE; + + public boolean providesUi(JpaResourceType resourceType) { + return resourceType.equals(JptCorePlugin.ORM_XML_2_0_RESOURCE_TYPE); } - + public JpaStructureProvider getStructureProvider() { return Orm2_0ResourceModelStructureProvider.instance(); } @@ -81,7 +84,7 @@ public class OrmXml2_0UiDefinition extends AbstractOrmXmlResourceUiDefinition definitions.add(OrmEmbeddedMappingUiDefinition.instance()); definitions.add(OrmTransientMappingUiDefinition.instance()); } - + @Override protected void addOrmTypeMappingUiDefinitionsTo(List<OrmTypeMappingUiDefinition<? extends TypeMapping>> definitions) { definitions.add(OrmEntityUiDefinition.instance()); diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/persistence/PersistenceXml2_0UiDefinition.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/persistence/PersistenceXml2_0UiDefinition.java index 264ef1b57c..b2b240a889 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/persistence/PersistenceXml2_0UiDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/persistence/PersistenceXml2_0UiDefinition.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.jpt.ui.internal.jpa2.persistence; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.ui.ResourceUiDefinition; import org.eclipse.jpt.ui.internal.jpa2.structure.Persistence2_0ResourceModelStructureProvider; @@ -22,30 +22,33 @@ public class PersistenceXml2_0UiDefinition extends AbstractPersistenceXmlResourc { // singleton private static final ResourceUiDefinition INSTANCE = new PersistenceXml2_0UiDefinition(); - + + /** - * Return the singleton. + * Return the singleton */ public static ResourceUiDefinition instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private PersistenceXml2_0UiDefinition() { super(); } + @Override protected PersistenceXmlUiFactory buildPersistenceXmlUiFactory() { return new Generic2_0PersistenceXmlUiFactory(); } - public IContentType getContentType() { - return JptCorePlugin.PERSISTENCE2_0_XML_CONTENT_TYPE; + public boolean providesUi(JpaResourceType resourceType) { + return resourceType.equals(JptCorePlugin.PERSISTENCE_XML_2_0_RESOURCE_TYPE); } - + public JpaStructureProvider getStructureProvider() { return Persistence2_0ResourceModelStructureProvider.instance(); } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/structure/Orm2_0ResourceModelStructureProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/structure/Orm2_0ResourceModelStructureProvider.java index 6168f45ca9..d93b10cd0d 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/structure/Orm2_0ResourceModelStructureProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/structure/Orm2_0ResourceModelStructureProvider.java @@ -9,8 +9,6 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.jpa2.structure; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.ui.internal.structure.OrmItemContentProviderFactory; import org.eclipse.jpt.ui.internal.structure.OrmItemLabelProviderFactory; import org.eclipse.jpt.ui.jface.ItemLabelProviderFactory; @@ -22,25 +20,24 @@ public class Orm2_0ResourceModelStructureProvider { // singleton private static final JpaStructureProvider INSTANCE = new Orm2_0ResourceModelStructureProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaStructureProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private Orm2_0ResourceModelStructureProvider() { super(); } - public IContentType getContentType() { - return JptCorePlugin.ORM2_0_XML_CONTENT_TYPE; - } - + public TreeItemContentProviderFactory getTreeItemContentProviderFactory() { return new OrmItemContentProviderFactory(); } @@ -48,5 +45,4 @@ public class Orm2_0ResourceModelStructureProvider public ItemLabelProviderFactory getItemLabelProviderFactory() { return new OrmItemLabelProviderFactory(); } - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/structure/Persistence2_0ResourceModelStructureProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/structure/Persistence2_0ResourceModelStructureProvider.java index 11c54b7dcd..9723b5ef09 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/structure/Persistence2_0ResourceModelStructureProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/structure/Persistence2_0ResourceModelStructureProvider.java @@ -9,8 +9,6 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.jpa2.structure; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.ui.internal.structure.PersistenceItemContentProviderFactory; import org.eclipse.jpt.ui.internal.structure.PersistenceItemLabelProviderFactory; import org.eclipse.jpt.ui.jface.ItemLabelProviderFactory; @@ -22,25 +20,24 @@ public class Persistence2_0ResourceModelStructureProvider { // singleton private static final JpaStructureProvider INSTANCE = new Persistence2_0ResourceModelStructureProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaStructureProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singelton usage */ private Persistence2_0ResourceModelStructureProvider() { super(); } - public IContentType getContentType() { - return JptCorePlugin.PERSISTENCE2_0_XML_CONTENT_TYPE; - } - + public TreeItemContentProviderFactory getTreeItemContentProviderFactory() { return new PersistenceItemContentProviderFactory(); } @@ -48,5 +45,4 @@ public class Persistence2_0ResourceModelStructureProvider public ItemLabelProviderFactory getItemLabelProviderFactory() { return new PersistenceItemLabelProviderFactory(); } - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/MapAsContribution.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/MapAsContribution.java index 29bd4d2c37..a480f51dc0 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/MapAsContribution.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/MapAsContribution.java @@ -13,11 +13,10 @@ import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.Map; - -import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jpt.core.JpaPlatform; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.ui.JpaPlatformUi; import org.eclipse.jpt.ui.JptUiPlugin; @@ -35,7 +34,6 @@ import org.eclipse.ui.menus.CommandContributionItem; import org.eclipse.ui.menus.CommandContributionItemParameter; import org.eclipse.ui.menus.IWorkbenchContribution; import org.eclipse.ui.services.IServiceLocator; - import com.ibm.icu.text.Collator; /** @@ -120,7 +118,7 @@ public abstract class MapAsContribution extends CompoundContributionItem Iterator<? extends MappingUiDefinition<?>> sortedMappingUiDefinitions = CollectionTools.sort( - mappingUiDefinitions(jpaPlatformUi, node.getContentType()), + mappingUiDefinitions(jpaPlatformUi, node.getResourceType()), getDefinitionsComparator()); DefaultMappingUiDefinition<?> defaultDefinition = getDefaultMappingUiDefinition(jpaPlatformUi, node); @@ -141,7 +139,7 @@ public abstract class MapAsContribution extends CompoundContributionItem * @return The list of registered {@link MappingUiDefinition}s */ protected abstract Iterator<? extends MappingUiDefinition<?>> - mappingUiDefinitions(JpaPlatformUi platformUi, IContentType contentType); + mappingUiDefinitions(JpaPlatformUi platformUi, JpaResourceType resourceType); /** * Creates the default provider responsible for clearing the mapping type. diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/PersistentAttributeMapAsContribution.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/PersistentAttributeMapAsContribution.java index d8fb9826e8..45d0bc1b4d 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/PersistentAttributeMapAsContribution.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/PersistentAttributeMapAsContribution.java @@ -10,7 +10,7 @@ package org.eclipse.jpt.ui.internal.menus; import java.util.Iterator; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.core.context.PersistentAttribute; import org.eclipse.jpt.ui.JpaPlatformUi; @@ -61,17 +61,25 @@ public class PersistentAttributeMapAsContribution extends MapAsContribution } @Override - protected Iterator<? extends MappingUiDefinition<?>> - mappingUiDefinitions(JpaPlatformUi jpaPlatformUi, IContentType contentType) { - return jpaPlatformUi.attributeMappingUiDefinitions(contentType); + protected Iterator<? extends MappingUiDefinition<?>> mappingUiDefinitions( + JpaPlatformUi jpaPlatformUi, JpaResourceType resourceType) { + + return jpaPlatformUi.attributeMappingUiDefinitions(resourceType); } @Override - protected DefaultMappingUiDefinition<?> getDefaultMappingUiDefinition(JpaPlatformUi jpaPlatformUi, JpaStructureNode node) { - return getDefaultMappingUiDefinition(jpaPlatformUi, ((PersistentAttribute) node).getDefaultMappingKey(), node.getContentType()); + protected DefaultMappingUiDefinition<?> getDefaultMappingUiDefinition( + JpaPlatformUi jpaPlatformUi, JpaStructureNode node) { + + return getDefaultMappingUiDefinition( + jpaPlatformUi, + ((PersistentAttribute) node).getDefaultMappingKey(), + node.getResourceType()); } - protected DefaultMappingUiDefinition<?> getDefaultMappingUiDefinition(JpaPlatformUi jpaPlatformUi, String defaultKey, IContentType contentType) { - return jpaPlatformUi.getDefaultAttributeMappingUiDefinition(contentType, defaultKey); + protected DefaultMappingUiDefinition<?> getDefaultMappingUiDefinition( + JpaPlatformUi jpaPlatformUi, String defaultMappingKey, JpaResourceType resourceType) { + + return jpaPlatformUi.getDefaultAttributeMappingUiDefinition(resourceType, defaultMappingKey); } } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/PersistentTypeMapAsContribution.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/PersistentTypeMapAsContribution.java index 8838afb53d..80fe864a69 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/PersistentTypeMapAsContribution.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/PersistentTypeMapAsContribution.java @@ -10,8 +10,8 @@ package org.eclipse.jpt.ui.internal.menus; import java.util.Iterator; -import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jpt.core.JpaPlatform; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.core.context.PersistentType; import org.eclipse.jpt.ui.JpaPlatformUi; @@ -27,9 +27,6 @@ import org.eclipse.jpt.ui.internal.commands.PersistentTypeMapAsHandler; * @see JpaPlatform * @see JpaPlatformUi * @see PersistentType - * - * @version 2.2 - * @since 2.0 */ public class PersistentTypeMapAsContribution extends MapAsContribution { @@ -40,6 +37,7 @@ public class PersistentTypeMapAsContribution extends MapAsContribution super(); } + @Override protected String getCommandId() { return PersistentTypeMapAsHandler.COMMAND_ID; @@ -49,16 +47,18 @@ public class PersistentTypeMapAsContribution extends MapAsContribution protected String getCommandParameterId() { return PersistentTypeMapAsHandler.COMMAND_PARAMETER_ID; } - + @Override - protected Iterator<? extends MappingUiDefinition<?>> - mappingUiDefinitions(JpaPlatformUi jpaPlatformUi, IContentType contentType) { - return jpaPlatformUi.typeMappingUiDefinitions(contentType); + protected Iterator<? extends MappingUiDefinition<?>> mappingUiDefinitions( + JpaPlatformUi jpaPlatformUi, JpaResourceType resourceType) { + + return jpaPlatformUi.typeMappingUiDefinitions(resourceType); } @Override - protected DefaultMappingUiDefinition<?> getDefaultMappingUiDefinition(JpaPlatformUi jpaPlatformUi, JpaStructureNode node) { - return jpaPlatformUi.getDefaultTypeMappingUiDefinition(node.getContentType()); + protected DefaultMappingUiDefinition<?> getDefaultMappingUiDefinition( + JpaPlatformUi jpaPlatformUi, JpaStructureNode node) { + + return jpaPlatformUi.getDefaultTypeMappingUiDefinition(node.getResourceType()); } - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceXmlUiDefinition.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceXmlUiDefinition.java index b9bfda74a1..b21f630346 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceXmlUiDefinition.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceXmlUiDefinition.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.jpt.ui.internal.persistence.details; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.ui.ResourceUiDefinition; import org.eclipse.jpt.ui.internal.structure.PersistenceResourceModelStructureProvider; @@ -20,30 +20,33 @@ public class PersistenceXmlUiDefinition extends AbstractPersistenceXmlResourceUi { // singleton private static final ResourceUiDefinition INSTANCE = new PersistenceXmlUiDefinition(); - + + /** - * Return the singleton. + * Return the singleton */ public static ResourceUiDefinition instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private PersistenceXmlUiDefinition() { super(); } + @Override protected PersistenceXmlUiFactory buildPersistenceXmlUiFactory() { return new GenericPersistenceXmlUiFactory(); } - public IContentType getContentType() { - return JptCorePlugin.PERSISTENCE_XML_CONTENT_TYPE; + public boolean providesUi(JpaResourceType resourceType) { + return resourceType.equals(JptCorePlugin.PERSISTENCE_XML_1_0_RESOURCE_TYPE); } - + public JpaStructureProvider getStructureProvider() { return PersistenceResourceModelStructureProvider.instance(); } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/base/BaseJpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/base/BaseJpaPlatformUi.java index 4537da4047..230fe18067 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/base/BaseJpaPlatformUi.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/base/BaseJpaPlatformUi.java @@ -11,17 +11,17 @@ package org.eclipse.jpt.ui.internal.platform.base; import java.util.Iterator; import java.util.ListIterator; -import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jpt.core.JpaFile; import org.eclipse.jpt.core.JpaProject; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.core.context.AttributeMapping; import org.eclipse.jpt.core.context.TypeMapping; -import org.eclipse.jpt.ui.MappingResourceUiDefinition; import org.eclipse.jpt.ui.JpaPlatformUi; import org.eclipse.jpt.ui.JpaPlatformUiProvider; +import org.eclipse.jpt.ui.MappingResourceUiDefinition; import org.eclipse.jpt.ui.ResourceUiDefinition; import org.eclipse.jpt.ui.WidgetFactory; import org.eclipse.jpt.ui.details.DefaultMappingUiDefinition; @@ -32,7 +32,6 @@ import org.eclipse.jpt.ui.details.MappingUiDefinition; import org.eclipse.jpt.ui.navigator.JpaNavigatorProvider; import org.eclipse.jpt.ui.structure.JpaStructureProvider; import org.eclipse.jpt.utility.internal.CollectionTools; -import org.eclipse.jpt.utility.internal.iterators.FilteringIterator; import org.eclipse.jpt.utility.model.value.PropertyValueModel; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; @@ -44,134 +43,136 @@ public abstract class BaseJpaPlatformUi private final JpaNavigatorProvider navigatorProvider; private final JpaPlatformUiProvider platformUiProvider; - + + protected BaseJpaPlatformUi( - JpaNavigatorProvider navigatorProvider, - JpaPlatformUiProvider platformUiProvider) { + JpaNavigatorProvider navigatorProvider, JpaPlatformUiProvider platformUiProvider) { + super(); this.navigatorProvider = navigatorProvider; this.platformUiProvider = platformUiProvider; } - - + + // ********** navigator provider ********** - + public JpaNavigatorProvider getNavigatorProvider() { return this.navigatorProvider; } + // ********** structure providers ********** + + public JpaStructureProvider getStructureProvider(JpaFile jpaFile) { + return getStructureProvider(jpaFile.getResourceModel().getResourceType()); + } + + protected JpaStructureProvider getStructureProvider(JpaResourceType resourceType) { + return getResourceUiDefinition(resourceType).getStructureProvider(); + } + + // ********** details providers ********** - - public JpaDetailsPage<? extends JpaStructureNode> buildJpaDetailsPage(Composite parent, JpaStructureNode structureNode, WidgetFactory widgetFactory) { + + public JpaDetailsPage<? extends JpaStructureNode> buildJpaDetailsPage( + Composite parent, JpaStructureNode structureNode, WidgetFactory widgetFactory) { + JpaDetailsProvider jpaDetailsProvider = getDetailsProvider(structureNode); return jpaDetailsProvider == null ? null : jpaDetailsProvider.buildDetailsPage(parent, widgetFactory); } protected JpaDetailsProvider getDetailsProvider(JpaStructureNode structureNode) { - return getDetailsProvider(structureNode.getContentType(), structureNode.getId()); - } - - protected JpaDetailsProvider getDetailsProvider(IContentType contentType, String id) { - for (JpaDetailsProvider provider : CollectionTools.iterable(this.detailsProviders(id))) { - if (provider.getContentType().isKindOf(contentType)) { + for (JpaDetailsProvider provider : CollectionTools.iterable(this.detailsProviders())) { + if (provider.providesDetails(structureNode)) { return provider; } } - if (contentType.getBaseType() != null) { - return getDetailsProvider(contentType.getBaseType(), id); - } return null;//return null, some structure nodes do not have a details page } - protected Iterator<JpaDetailsProvider> detailsProviders(final String id) { - return new FilteringIterator<JpaDetailsProvider, JpaDetailsProvider>(detailsProviders()) { - @Override - protected boolean accept(JpaDetailsProvider o) { - return o.getId() == id; - } - }; - } - protected ListIterator<JpaDetailsProvider> detailsProviders() { return this.platformUiProvider.detailsProviders(); } - - + + // ********** mapping ui definitions ********** - - public JpaComposite buildTypeMappingComposite(IContentType contentType, String key, Composite parent, PropertyValueModel<TypeMapping> mappingHolder, WidgetFactory widgetFactory) { - MappingResourceUiDefinition definition = (MappingResourceUiDefinition) getFileUiDefinition(contentType); - return definition.buildTypeMappingComposite(key, mappingHolder, parent, widgetFactory); - } - public JpaComposite buildAttributeMappingComposite(IContentType contentType, String key, Composite parent, PropertyValueModel<AttributeMapping> mappingHolder, WidgetFactory widgetFactory) { - MappingResourceUiDefinition definition = (MappingResourceUiDefinition) getFileUiDefinition(contentType); - return definition.buildAttributeMappingComposite(key, mappingHolder, parent, widgetFactory); + public JpaComposite buildTypeMappingComposite( + JpaResourceType resourceType, + String mappingKey, + Composite parent, + PropertyValueModel<TypeMapping> mappingHolder, + WidgetFactory widgetFactory) { + + return getMappingResourceUiDefinition(resourceType).buildTypeMappingComposite( + mappingKey, mappingHolder, parent, widgetFactory); } - public DefaultMappingUiDefinition<? extends AttributeMapping> getDefaultAttributeMappingUiDefinition(IContentType contentType, String key) { - MappingResourceUiDefinition definition = (MappingResourceUiDefinition) getFileUiDefinition(contentType); - return definition.getDefaultAttributeMappingUiDefinition(key); + public JpaComposite buildAttributeMappingComposite( + JpaResourceType resourceType, + String mappingKey, + Composite parent, + PropertyValueModel<AttributeMapping> mappingHolder, + WidgetFactory widgetFactory) { + + return getMappingResourceUiDefinition(resourceType).buildAttributeMappingComposite( + mappingKey, mappingHolder, parent, widgetFactory); } - public Iterator<? extends MappingUiDefinition<? extends AttributeMapping>> attributeMappingUiDefinitions(IContentType contentType) { - MappingResourceUiDefinition definition = (MappingResourceUiDefinition) getFileUiDefinition(contentType); - return definition.attributeMappingUiDefinitions(); + public DefaultMappingUiDefinition<? extends AttributeMapping> getDefaultAttributeMappingUiDefinition(JpaResourceType resourceType, String mappingKey) { + return getMappingResourceUiDefinition(resourceType).getDefaultAttributeMappingUiDefinition(mappingKey); } - public DefaultMappingUiDefinition<? extends TypeMapping> getDefaultTypeMappingUiDefinition(IContentType contentType) { - MappingResourceUiDefinition definition = (MappingResourceUiDefinition) getFileUiDefinition(contentType); - return definition.getDefaultTypeMappingUiDefinition(); + public Iterator<? extends MappingUiDefinition<? extends AttributeMapping>> attributeMappingUiDefinitions(JpaResourceType resourceType) { + return getMappingResourceUiDefinition(resourceType).attributeMappingUiDefinitions(); } - public Iterator<? extends MappingUiDefinition<? extends TypeMapping>> typeMappingUiDefinitions(IContentType contentType) { - MappingResourceUiDefinition definition = (MappingResourceUiDefinition) getFileUiDefinition(contentType); - return definition.typeMappingUiDefinitions(); + public DefaultMappingUiDefinition<? extends TypeMapping> getDefaultTypeMappingUiDefinition(JpaResourceType resourceType) { + return getMappingResourceUiDefinition(resourceType).getDefaultTypeMappingUiDefinition(); } - - - // ********** structure providers ********** - - public JpaStructureProvider getStructureProvider(JpaFile jpaFile) { - return this.getStructureProvider(jpaFile.getContentType()); + public Iterator<? extends MappingUiDefinition<? extends TypeMapping>> typeMappingUiDefinitions(JpaResourceType resourceType) { + return getMappingResourceUiDefinition(resourceType).typeMappingUiDefinitions(); } - protected JpaStructureProvider getStructureProvider(IContentType contentType) { - return getFileUiDefinition(contentType).getStructureProvider(); - } + // ********** resource ui definitions ********** - // ********** mapping file ui definitions ********** - - protected ListIterator<ResourceUiDefinition> fileUiDefinitions() { + protected ListIterator<ResourceUiDefinition> resourceUiDefinitions() { return this.platformUiProvider.fileUiDefinitions(); } - - public ResourceUiDefinition getFileUiDefinition(IContentType contentType) { - for (ResourceUiDefinition definition : CollectionTools.iterable(this.fileUiDefinitions())) { - if (definition.getContentType().equals(contentType)) { + + public ResourceUiDefinition getResourceUiDefinition(JpaResourceType resourceType) { + for (ResourceUiDefinition definition : CollectionTools.iterable(this.resourceUiDefinitions())) { + if (definition.providesUi(resourceType)) { return definition; } } - throw new IllegalArgumentException("No file ui definition for the contentType: " + contentType); //$NON-NLS-1$ + throw new IllegalArgumentException("No resource ui definition for the resource type: " + resourceType); //$NON-NLS-1$ } - + public MappingResourceUiDefinition getMappingResourceUiDefinition(JpaResourceType resourceType) { + try { + return (MappingResourceUiDefinition) getResourceUiDefinition(resourceType); + } + catch (ClassCastException cce) { + throw new IllegalArgumentException("No mapping resource ui definition for the resource type: " + resourceType, cce); //$NON-NLS-1$ + } + } + + // ********** entity generation ********** - + public void generateEntities(JpaProject project, IStructuredSelection selection) { //EntitiesGenerator.generate(project, selection); EntitiesGenerator2.generate(project, selection); } - - + + // ********** convenience methods ********** - + protected void displayMessage(String title, String message) { Shell currentShell = Display.getCurrent().getActiveShell(); MessageDialog.openInformation(currentShell, title, message); } - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericJpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericJpaPlatformUi.java index e1704a00a6..dd2503acad 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericJpaPlatformUi.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericJpaPlatformUi.java @@ -19,18 +19,16 @@ import org.eclipse.jpt.ui.navigator.JpaNavigatorProvider; public class GenericJpaPlatformUi extends BaseJpaPlatformUi { - public GenericJpaPlatformUi( - JpaNavigatorProvider navigatorProvider, - JpaPlatformUiProvider platformUiProvider) - { + JpaNavigatorProvider navigatorProvider, JpaPlatformUiProvider platformUiProvider) { + super(navigatorProvider, platformUiProvider); } - + + // ********** DDL generation ********** - + public void generateDDL(JpaProject project, IStructuredSelection selection) { this.displayMessage(JptUiMessages.GenericPlatformUiDialog_notSupportedMessageTitle, JptUiMessages.GenericPlatformUiDialog_notSupportedMessageText); } - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/JavaResourceModelStructureProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/JavaResourceModelStructureProvider.java index 1ee0586ef2..b0b5cd4a25 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/JavaResourceModelStructureProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/JavaResourceModelStructureProvider.java @@ -9,8 +9,6 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.structure; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.ui.jface.ItemLabelProviderFactory; import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory; import org.eclipse.jpt.ui.structure.JpaStructureProvider; @@ -20,25 +18,23 @@ public class JavaResourceModelStructureProvider { // singleton private static final JpaStructureProvider INSTANCE = new JavaResourceModelStructureProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaStructureProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private JavaResourceModelStructureProvider() { super(); } - - public IContentType getContentType() { - return JptCorePlugin.JAVA_SOURCE_CONTENT_TYPE; - } - + public TreeItemContentProviderFactory getTreeItemContentProviderFactory() { return new JavaItemContentProviderFactory(); } @@ -46,5 +42,4 @@ public class JavaResourceModelStructureProvider public ItemLabelProviderFactory getItemLabelProviderFactory() { return new JavaItemLabelProviderFactory(); } - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/OrmResourceModelStructureProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/OrmResourceModelStructureProvider.java index 4806a7ea93..c0aa373588 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/OrmResourceModelStructureProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/OrmResourceModelStructureProvider.java @@ -9,8 +9,6 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.structure; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.ui.jface.ItemLabelProviderFactory; import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory; import org.eclipse.jpt.ui.structure.JpaStructureProvider; @@ -20,25 +18,24 @@ public class OrmResourceModelStructureProvider { // singleton private static final JpaStructureProvider INSTANCE = new OrmResourceModelStructureProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaStructureProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private OrmResourceModelStructureProvider() { super(); } - public IContentType getContentType() { - return JptCorePlugin.ORM_XML_CONTENT_TYPE; - } - + public TreeItemContentProviderFactory getTreeItemContentProviderFactory() { return new OrmItemContentProviderFactory(); } @@ -46,5 +43,4 @@ public class OrmResourceModelStructureProvider public ItemLabelProviderFactory getItemLabelProviderFactory() { return new OrmItemLabelProviderFactory(); } - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceResourceModelStructureProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceResourceModelStructureProvider.java index 6c8a1e090f..d9d1945f5e 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceResourceModelStructureProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceResourceModelStructureProvider.java @@ -9,8 +9,6 @@ ******************************************************************************/ package org.eclipse.jpt.ui.internal.structure; -import org.eclipse.core.runtime.content.IContentType; -import org.eclipse.jpt.core.JptCorePlugin; import org.eclipse.jpt.ui.jface.ItemLabelProviderFactory; import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory; import org.eclipse.jpt.ui.structure.JpaStructureProvider; @@ -20,25 +18,24 @@ public class PersistenceResourceModelStructureProvider { // singleton private static final JpaStructureProvider INSTANCE = new PersistenceResourceModelStructureProvider(); - + + /** - * Return the singleton. + * Return the singleton */ public static JpaStructureProvider instance() { return INSTANCE; } - + + /** - * Ensure single instance. + * Enforce singleton usage */ private PersistenceResourceModelStructureProvider() { super(); } - public IContentType getContentType() { - return JptCorePlugin.PERSISTENCE_XML_CONTENT_TYPE; - } - + public TreeItemContentProviderFactory getTreeItemContentProviderFactory() { return new PersistenceItemContentProviderFactory(); } @@ -46,5 +43,4 @@ public class PersistenceResourceModelStructureProvider public ItemLabelProviderFactory getItemLabelProviderFactory() { return new PersistenceItemLabelProviderFactory(); } - } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java index d7a61ff97e..52daf481cd 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java @@ -10,7 +10,7 @@ package org.eclipse.jpt.ui.internal.views; import java.util.HashMap; import java.util.Map; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.core.JpaResourceType; import org.eclipse.jpt.core.JpaStructureNode; import org.eclipse.jpt.ui.JpaPlatformUi; import org.eclipse.jpt.ui.JptUiPlugin; @@ -44,10 +44,10 @@ public class JpaDetailsView extends AbstractJpaView //TODO this is crap, a Map of Maps of Maps. Needs to be done differently, the factory/platform should handle caching instead // key1 platform id - // key2 IContentType + // key2 JpaResourceType // key3 structure node type // value Composite page - private Map<String, Map<IContentType, Map<String, JpaDetailsPage<? extends JpaStructureNode>>>> detailsPages; + private Map<String, Map<JpaResourceType, Map<String, JpaDetailsPage<? extends JpaStructureNode>>>> detailsPages; /** * Creates a new <code>JpaDetailsView</code>. @@ -61,7 +61,7 @@ public class JpaDetailsView extends AbstractJpaView super.initialize(); this.currentSelection = JpaSelection.NULL_SELECTION; - this.detailsPages = new HashMap<String, Map<IContentType, Map<String, JpaDetailsPage<? extends JpaStructureNode>>>>(); + this.detailsPages = new HashMap<String, Map<JpaResourceType, Map<String, JpaDetailsPage<? extends JpaStructureNode>>>>(); } private JpaPlatformUi getJpaPlatformUi(JpaStructureNode structureNode) { @@ -76,8 +76,8 @@ public class JpaDetailsView extends AbstractJpaView private JpaDetailsPage<? extends JpaStructureNode> getDetailsPage(JpaStructureNode structureNode) { String platformId = structureNode.getJpaProject().getJpaPlatform().getId(); if (this.detailsPages.containsKey(platformId)) { - Map<IContentType, Map<String, JpaDetailsPage<? extends JpaStructureNode>>> platformDetailsPages = this.detailsPages.get(platformId); - Map<String, JpaDetailsPage<? extends JpaStructureNode>> contentTypeDetailsPages = platformDetailsPages.get(structureNode.getContentType()); + Map<JpaResourceType, Map<String, JpaDetailsPage<? extends JpaStructureNode>>> platformDetailsPages = this.detailsPages.get(platformId); + Map<String, JpaDetailsPage<? extends JpaStructureNode>> contentTypeDetailsPages = platformDetailsPages.get(structureNode.getResourceType()); if (contentTypeDetailsPages != null) { JpaDetailsPage<? extends JpaStructureNode> page = contentTypeDetailsPages.get(structureNode.getId()); if (page != null) { @@ -104,16 +104,16 @@ public class JpaDetailsView extends AbstractJpaView } String platformId = structureNode.getJpaProject().getJpaPlatform().getId(); - Map<IContentType, Map<String, JpaDetailsPage<? extends JpaStructureNode>>> platformDetailsPages = this.detailsPages.get(platformId); + Map<JpaResourceType, Map<String, JpaDetailsPage<? extends JpaStructureNode>>> platformDetailsPages = this.detailsPages.get(platformId); if (platformDetailsPages == null) { - platformDetailsPages = new HashMap<IContentType, Map<String, JpaDetailsPage<? extends JpaStructureNode>>>(); + platformDetailsPages = new HashMap<JpaResourceType, Map<String, JpaDetailsPage<? extends JpaStructureNode>>>(); this.detailsPages.put(platformId, platformDetailsPages); } - IContentType contentType = structureNode.getContentType(); - Map<String, JpaDetailsPage<? extends JpaStructureNode>> contentTypeDetailsPages = platformDetailsPages.get(contentType); + JpaResourceType resourceType = structureNode.getResourceType(); + Map<String, JpaDetailsPage<? extends JpaStructureNode>> contentTypeDetailsPages = platformDetailsPages.get(resourceType); if (contentTypeDetailsPages == null) { contentTypeDetailsPages = new HashMap<String, JpaDetailsPage<? extends JpaStructureNode>>(); - platformDetailsPages.put(contentType, contentTypeDetailsPages); + platformDetailsPages.put(resourceType, contentTypeDetailsPages); } contentTypeDetailsPages.put(structureNode.getId(), page); diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/structure/JpaStructureProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/structure/JpaStructureProvider.java index 6e72590701..9a4b256cb8 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/structure/JpaStructureProvider.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/structure/JpaStructureProvider.java @@ -9,35 +9,33 @@ ******************************************************************************/ package org.eclipse.jpt.ui.structure; -import org.eclipse.core.runtime.content.IContentType; +import org.eclipse.jpt.ui.jface.ItemLabelProvider; import org.eclipse.jpt.ui.jface.ItemLabelProviderFactory; +import org.eclipse.jpt.ui.jface.TreeItemContentProvider; import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory; /** * This provider is responsible to create the JPA Structure view contents and * labels for a given JPA resource. * + * @version 3.0 + * @since 2.0 + * * Provisional API: This interface 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. */ -public interface JpaStructureProvider { - - /** - * Return the type of content supported by the structure provider. - */ - IContentType getContentType(); - +public interface JpaStructureProvider +{ /** * Build an factory to create {@link TreeItemContentProvider}s */ TreeItemContentProviderFactory getTreeItemContentProviderFactory(); - + /** * Build a factory to create {@link ItemLabelProvider}s */ ItemLabelProviderFactory getItemLabelProviderFactory(); - } |