Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src')
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/JpaPlatformUi.java97
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/ResourceUiDefinition.java7
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/details/JpaDetailsProvider.java24
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/AbstractEntityMappingsDetailsProvider.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentAttributeDetailsPage.java23
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentAttributeMapAsComposite.java30
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeDetailsPage.java32
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeMapAsComposite.java14
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/TargetEntityComposite.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/AbstractJavaResourceUiDefinition.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/JavaPersistentAttributeDetailsProvider.java28
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/java/JavaPersistentTypeDetailsProvider.java29
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/AbstractOrmXmlResourceUiDefinition.java3
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/EntityMappingsDetailsProvider.java24
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmPersistentAttributeDetailsProvider.java29
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmPersistentTypeDetailsProvider.java32
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/orm/OrmXmlUiDefinition.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/dialogs/AddPersistentAttributeToXmlAndMapDialog.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/editors/PersistenceEditor.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/EntityMappings2_0DetailsProvider.java24
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/details/orm/OrmXml2_0UiDefinition.java23
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/persistence/PersistenceXml2_0UiDefinition.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/structure/Orm2_0ResourceModelStructureProvider.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/jpa2/structure/Persistence2_0ResourceModelStructureProvider.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/MapAsContribution.java8
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/PersistentAttributeMapAsContribution.java24
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/menus/PersistentTypeMapAsContribution.java22
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceXmlUiDefinition.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/base/BaseJpaPlatformUi.java149
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/platform/generic/GenericJpaPlatformUi.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/JavaResourceModelStructureProvider.java19
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/OrmResourceModelStructureProvider.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/structure/PersistenceResourceModelStructureProvider.java18
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java22
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/structure/JpaStructureProvider.java18
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();
-
}

Back to the top