Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2007-07-18 21:29:15 +0000
committerkmoore2007-07-18 21:29:15 +0000
commitcde37ae68ea4e9cc97c059aaff47c092e95b1702 (patch)
treea270364c1895fd72111357f2b811fc976244b7be /jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt
parentf79dbb1114807fb075cf4645c02d31cd202accee (diff)
downloadwebtools.dali-cde37ae68ea4e9cc97c059aaff47c092e95b1702.tar.gz
webtools.dali-cde37ae68ea4e9cc97c059aaff47c092e95b1702.tar.xz
webtools.dali-cde37ae68ea4e9cc97c059aaff47c092e95b1702.zip
moving typeMappingUiProviders to IJpaPlatformUi
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt')
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/BaseJpaPlatformUi.java62
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/IJpaPlatformUi.java13
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/BaseJpaController.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/PersistentTypeDetailsPage.java64
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/dialogs/AddPersistentClassDialog.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/ITypeMappingUiProvider.java5
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/JavaPersistentTypeDetailsPage.java14
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/EmbeddableUiProvider.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/EntityUiProvider.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/MappedSuperclassUiProvider.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/NullTypeMappingUiProvider.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentTypeDetailsPage.java19
12 files changed, 124 insertions, 65 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/BaseJpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/BaseJpaPlatformUi.java
index c53e5d88da..ec679d6217 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/BaseJpaPlatformUi.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/BaseJpaPlatformUi.java
@@ -11,12 +11,18 @@ package org.eclipse.jpt.ui.internal;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jpt.core.internal.IJpaProject;
import org.eclipse.jpt.ui.internal.details.IJpaDetailsProvider;
import org.eclipse.jpt.ui.internal.generic.EntitiesGenerator;
+import org.eclipse.jpt.ui.internal.java.details.ITypeMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaDetailsProvider;
+import org.eclipse.jpt.ui.internal.java.mappings.properties.EmbeddableUiProvider;
+import org.eclipse.jpt.ui.internal.java.mappings.properties.EntityUiProvider;
+import org.eclipse.jpt.ui.internal.java.mappings.properties.MappedSuperclassUiProvider;
+import org.eclipse.jpt.ui.internal.java.mappings.properties.NullTypeMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.structure.JavaStructureProvider;
import org.eclipse.jpt.ui.internal.structure.IJpaStructureProvider;
import org.eclipse.jpt.ui.internal.xml.details.XmlDetailsProvider;
@@ -27,6 +33,8 @@ public abstract class BaseJpaPlatformUi implements IJpaPlatformUi
private Collection<IJpaDetailsProvider> detailsProviders;
private Collection<IJpaStructureProvider> structureProviders;
+ private List<ITypeMappingUiProvider> javaTypeMappingUiProviders;
+
protected BaseJpaPlatformUi() {
super();
}
@@ -35,35 +43,59 @@ public abstract class BaseJpaPlatformUi implements IJpaPlatformUi
public Collection<IJpaDetailsProvider> detailsProviders() {
if (this.detailsProviders == null) {
- this.detailsProviders = this.buildJpaDetailsProvider();
+ this.detailsProviders = new ArrayList<IJpaDetailsProvider>();
+ this.addDetailsProvidersTo(this.detailsProviders);
}
return this.detailsProviders;
}
-
- protected Collection<IJpaDetailsProvider> buildJpaDetailsProvider() {
- Collection<IJpaDetailsProvider> detailsProviders = new ArrayList<IJpaDetailsProvider>();
- detailsProviders.add(new JavaDetailsProvider());
- detailsProviders.add(new XmlDetailsProvider());
- return detailsProviders;
+
+ /**
+ * Override this to specify more or different details providers.
+ * The default includes the JPA spec-defined java and orm.xml
+ */
+ protected void addDetailsProvidersTo(Collection<IJpaDetailsProvider> providers) {
+ providers.add(new JavaDetailsProvider());
+ providers.add(new XmlDetailsProvider());
}
public Collection<IJpaStructureProvider> structureProviders() {
if (this.structureProviders == null) {
- this.structureProviders = this.buildJpaStructureProvider();
+ this.structureProviders = new ArrayList<IJpaStructureProvider>();
+ this.addStructureProvidersTo(this.structureProviders);
}
return this.structureProviders;
}
- protected Collection<IJpaStructureProvider> buildJpaStructureProvider() {
- Collection<IJpaStructureProvider> structureProviders = new ArrayList<IJpaStructureProvider>();
- structureProviders.add(new JavaStructureProvider());
- structureProviders.add(new XmlStructureProvider());
- return structureProviders;
+ /**
+ * Override this to specify more or different structure providers.
+ * The default includes the JPA spec-defined java and orm.xml
+ */
+ protected void addStructureProvidersTo(Collection<IJpaStructureProvider> providers) {
+ providers.add(new JavaStructureProvider());
+ providers.add(new XmlStructureProvider());
}
+ public List<ITypeMappingUiProvider> javaTypeMappingUiProviders() {
+ if (this.javaTypeMappingUiProviders == null) {
+ this.javaTypeMappingUiProviders = new ArrayList<ITypeMappingUiProvider>();
+ this.addJavaTypeMappingUiProvidersTo(this.javaTypeMappingUiProviders);
+ }
+ return this.javaTypeMappingUiProviders;
+ }
+
+ /**
+ * Override this to specify more or different structure providers.
+ * The default includes the JPA spec-defined entity, mapped superclass, embeddable,
+ * and null (when the others don't apply)
+ */
+ protected void addJavaTypeMappingUiProvidersTo(Collection<ITypeMappingUiProvider> providers) {
+ providers.add(NullTypeMappingUiProvider.instance());
+ providers.add(EntityUiProvider.instance());
+ providers.add(MappedSuperclassUiProvider.instance());
+ providers.add(EmbeddableUiProvider.instance());
+ }
+
public void generateEntities(IJpaProject project, IStructuredSelection selection) {
-
EntitiesGenerator.generate(project, selection);
}
-
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/IJpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/IJpaPlatformUi.java
index b7fcb1823e..e0a39cebc0 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/IJpaPlatformUi.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/IJpaPlatformUi.java
@@ -10,18 +10,31 @@
package org.eclipse.jpt.ui.internal;
import java.util.Collection;
+import java.util.List;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jpt.core.internal.IJpaProject;
import org.eclipse.jpt.ui.internal.details.IJpaDetailsProvider;
+import org.eclipse.jpt.ui.internal.java.details.ITypeMappingUiProvider;
import org.eclipse.jpt.ui.internal.structure.IJpaStructureProvider;
+
public interface IJpaPlatformUi
{
+ //TODO make these Collections IterableIterators(?) once Brian checks in
+ //changes to our utility Iterators to make them Iterable
+
Collection<IJpaStructureProvider> structureProviders();
Collection<IJpaDetailsProvider> detailsProviders();
+ /**
+ * Return the type mapping UI providers for java. This will populate
+ * the type mapping combo box in order and displaying ITypeMappingUiProvider.label().
+ * It will also be used to create the appropriate composite given a type mapping.
+ */
+ List<ITypeMappingUiProvider> javaTypeMappingUiProviders();
+
void generateDDL(IJpaProject project, IStructuredSelection selection);
void generateEntities(IJpaProject project, IStructuredSelection selection);
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/BaseJpaController.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/BaseJpaController.java
index e4401eba8a..84ac1dca1b 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/BaseJpaController.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/details/BaseJpaController.java
@@ -16,6 +16,8 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
public abstract class BaseJpaController
{
+ //****** we are using this commandStack in 0 places ********
+ //do we plan to use it in the future? *should* we be using it? are we removing emf?
protected CommandStack commandStack;
protected TabbedPropertySheetWidgetFactory widgetFactory;
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 84d0735e7c..373463bea5 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
@@ -8,10 +8,10 @@
******************************************************************************/
package org.eclipse.jpt.ui.internal.details;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import org.eclipse.emf.common.command.BasicCommandStack;
import org.eclipse.emf.common.notify.Adapter;
@@ -28,13 +28,10 @@ import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jpt.core.internal.IJpaContentNode;
import org.eclipse.jpt.core.internal.IJpaProject;
import org.eclipse.jpt.core.internal.IPersistentType;
+import org.eclipse.jpt.core.internal.ITypeMapping;
import org.eclipse.jpt.core.internal.JpaCorePackage;
import org.eclipse.jpt.ui.internal.JptUiMessages;
import org.eclipse.jpt.ui.internal.java.details.ITypeMappingUiProvider;
-import org.eclipse.jpt.ui.internal.java.mappings.properties.EmbeddableUiProvider;
-import org.eclipse.jpt.ui.internal.java.mappings.properties.EntityUiProvider;
-import org.eclipse.jpt.ui.internal.java.mappings.properties.MappedSuperclassUiProvider;
-import org.eclipse.jpt.ui.internal.java.mappings.properties.NullTypeMappingUiProvider;
import org.eclipse.jpt.ui.internal.widgets.CComboViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CCombo;
@@ -53,32 +50,19 @@ public abstract class PersistentTypeDetailsPage extends BaseJpaDetailsPage
private CComboViewer typeMappingCombo;
- /**
- * A Map of mapping Composites of type IPersistenceComposite that is keyed on IConfigurationElement
- */
- private Map composites;
+ private Map<String, IJpaComposite<ITypeMapping>> composites;
protected PageBook typeMappingPageBook;
- private IJpaComposite visibleMappingComposite;
-
- private Collection<ITypeMappingUiProvider> typeMappingUiProviders;
+ private IJpaComposite<ITypeMapping> visibleMappingComposite;
public PersistentTypeDetailsPage(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) {
super(parent, SWT.NONE, new BasicCommandStack(), widgetFactory);
this.persistentTypeListener = buildPersistentTypeListener();
- this.composites = new HashMap();
- this.typeMappingUiProviders = buildTypeMappingUiProviders();
+ this.composites = new HashMap<String, IJpaComposite<ITypeMapping>>();
}
- protected Collection<ITypeMappingUiProvider> buildTypeMappingUiProviders() {
- Collection<ITypeMappingUiProvider> typeMappingUiProviders = new ArrayList<ITypeMappingUiProvider>();
- typeMappingUiProviders.add(NullTypeMappingUiProvider.instance());
- typeMappingUiProviders.add(EntityUiProvider.instance());
- typeMappingUiProviders.add(MappedSuperclassUiProvider.instance());
- typeMappingUiProviders.add(EmbeddableUiProvider.instance());
- return typeMappingUiProviders;
- }
+ protected abstract List<ITypeMappingUiProvider> typeMappingUiProviders();
private Adapter buildPersistentTypeListener() {
return new AdapterImpl() {
@@ -127,7 +111,7 @@ public abstract class PersistentTypeDetailsPage extends BaseJpaDetailsPage
public Object[] getElements(Object inputElement) {
return (persistentType == null) ?
new String[] {}:
- PersistentTypeDetailsPage.this.typeMappingUiProviders.toArray();
+ PersistentTypeDetailsPage.this.typeMappingUiProviders().toArray();
}
public void inputChanged(
@@ -149,14 +133,10 @@ public abstract class PersistentTypeDetailsPage extends BaseJpaDetailsPage
typeMappingPageBook = new PageBook(parent, SWT.NONE);
return typeMappingPageBook;
}
-
- private IJpaProject getJpaProject() {
- return getPersistentType().getJpaProject();
- }
-
+
private ITypeMappingUiProvider typeMappingUiProvider(String key) {
- for (ITypeMappingUiProvider provider : this.typeMappingUiProviders) {
- if (provider.key() == key) {
+ for (ITypeMappingUiProvider provider : this.typeMappingUiProviders()) {
+ if (provider.mappingKey() == key) {
return provider;
}
}
@@ -169,7 +149,7 @@ public abstract class PersistentTypeDetailsPage extends BaseJpaDetailsPage
}
if (event.getSelection() instanceof StructuredSelection) {
ITypeMappingUiProvider provider = (ITypeMappingUiProvider) ((StructuredSelection) event.getSelection()).getFirstElement();
- persistentType.setMappingKey(provider.key());
+ persistentType.setMappingKey(provider.mappingKey());
}
}
@@ -211,7 +191,7 @@ public abstract class PersistentTypeDetailsPage extends BaseJpaDetailsPage
}
String mappingKey = persistentType.getMapping().getKey();
- setComboData(mappingKey, persistentType.candidateMappingKeys());
+ setComboData(mappingKey);
populateMappingPage(mappingKey);
}
@@ -239,7 +219,7 @@ public abstract class PersistentTypeDetailsPage extends BaseJpaDetailsPage
visibleMappingComposite.populate(persistentType.getMapping());
}
- private void setComboData(String mappingKey, Iterator availableMappingKeys) {
+ private void setComboData(String mappingKey) {
if (persistentType != typeMappingCombo.getInput()) {
typeMappingCombo.setInput(persistentType);
}
@@ -250,25 +230,23 @@ public abstract class PersistentTypeDetailsPage extends BaseJpaDetailsPage
}
}
- private IJpaComposite mappingCompositeFor(String key) {
- IJpaComposite mappingComposite = (IJpaComposite) composites.get(key);
+ private IJpaComposite<ITypeMapping> mappingCompositeFor(String key) {
+ IJpaComposite<ITypeMapping> mappingComposite = this.composites.get(key);
if (mappingComposite != null) {
return mappingComposite;
}
- mappingComposite = buildMappingComposite(typeMappingPageBook, key);
+ mappingComposite = buildMappingComposite(this.typeMappingPageBook, key);
if (mappingComposite != null) {
- composites.put(key, mappingComposite);
+ this.composites.put(key, mappingComposite);
}
return mappingComposite;
}
- protected IJpaComposite buildMappingComposite(PageBook pageBook, String key) {
- //TODO what about null composite?
+ protected IJpaComposite<ITypeMapping> buildMappingComposite(PageBook pageBook, String key) {
return typeMappingUiProvider(key).buildPersistentTypeMappingComposite(pageBook, this.commandStack, getWidgetFactory());
-// return new NullComposite(pageBook, commandStack);
}
//TODO focus??
@@ -279,14 +257,14 @@ public abstract class PersistentTypeDetailsPage extends BaseJpaDetailsPage
public void dispose() {
disengageListeners();
- for (Iterator i = composites.values().iterator(); i.hasNext(); ) {
- ((IJpaComposite) i.next()).dispose();
+ for (Iterator<IJpaComposite<ITypeMapping>> i = this.composites.values().iterator(); i.hasNext(); ) {
+ i.next().dispose();
}
super.dispose();
}
public IPersistentType getPersistentType() {
- return persistentType;
+ return this.persistentType;
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/dialogs/AddPersistentClassDialog.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/dialogs/AddPersistentClassDialog.java
index c247233085..836f0d3ec9 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/dialogs/AddPersistentClassDialog.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/dialogs/AddPersistentClassDialog.java
@@ -195,7 +195,7 @@ public class AddPersistentClassDialog extends StatusDialog
public String getMappingKey() {
StructuredSelection selection = (StructuredSelection) mappingCombo.getSelection();
- return (selection.isEmpty()) ? null : ((ITypeMappingUiProvider) selection.getFirstElement()).key();
+ return (selection.isEmpty()) ? null : ((ITypeMappingUiProvider) selection.getFirstElement()).mappingKey();
}
protected IType chooseType() {
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/ITypeMappingUiProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/ITypeMappingUiProvider.java
index d614a57bf6..51318e9568 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/ITypeMappingUiProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/ITypeMappingUiProvider.java
@@ -10,6 +10,7 @@
package org.eclipse.jpt.ui.internal.java.details;
import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.jpt.core.internal.ITypeMapping;
import org.eclipse.jpt.ui.internal.details.IJpaComposite;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
@@ -19,7 +20,7 @@ public interface ITypeMappingUiProvider
/**
* A unique string that corresponds to the key of a MappingProvider in the core
*/
- String key();
+ String mappingKey();
/**
* A label to be displayed to the label as an option in the mapping type combo box
@@ -37,7 +38,7 @@ public interface ITypeMappingUiProvider
* @param widgetFactory
* @return
*/
- IJpaComposite buildPersistentTypeMappingComposite(
+ IJpaComposite<ITypeMapping> buildPersistentTypeMappingComposite(
Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory);
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/JavaPersistentTypeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/JavaPersistentTypeDetailsPage.java
index 9b2d2735d9..ef732fa5e5 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/JavaPersistentTypeDetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/details/JavaPersistentTypeDetailsPage.java
@@ -9,6 +9,10 @@
******************************************************************************/
package org.eclipse.jpt.ui.internal.java.details;
+import java.util.Collection;
+import java.util.List;
+import org.eclipse.jpt.ui.internal.IJpaPlatformUi;
+import org.eclipse.jpt.ui.internal.PlatformRegistry;
import org.eclipse.jpt.ui.internal.details.PersistentTypeDetailsPage;
import org.eclipse.jpt.ui.internal.widgets.CComboViewer;
import org.eclipse.swt.SWT;
@@ -26,6 +30,16 @@ public class JavaPersistentTypeDetailsPage extends
super(parent, widgetFactory);
}
+ protected IJpaPlatformUi getJpaPlatformUi() {
+ String platformId = getPersistentType().getJpaProject().getPlatform().getId();
+ return PlatformRegistry.instance().getJpaPlatform(platformId);
+ }
+
+ @Override
+ protected List<ITypeMappingUiProvider> typeMappingUiProviders() {
+ return getJpaPlatformUi().javaTypeMappingUiProviders();
+ }
+
@Override
protected void initializeLayout(Composite composite) {
GridLayout gridLayout = new GridLayout();
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/EmbeddableUiProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/EmbeddableUiProvider.java
index f07402e6a1..b15444d07a 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/EmbeddableUiProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/EmbeddableUiProvider.java
@@ -37,7 +37,7 @@ public class EmbeddableUiProvider implements ITypeMappingUiProvider
super();
}
- public String key() {
+ public String mappingKey() {
return IMappingKeys.EMBEDDABLE_TYPE_MAPPING_KEY;
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/EntityUiProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/EntityUiProvider.java
index 093cf4e71f..64c4c2a55e 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/EntityUiProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/EntityUiProvider.java
@@ -37,7 +37,7 @@ public class EntityUiProvider implements ITypeMappingUiProvider
super();
}
- public String key() {
+ public String mappingKey() {
return IMappingKeys.ENTITY_TYPE_MAPPING_KEY;
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/MappedSuperclassUiProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/MappedSuperclassUiProvider.java
index 02e3a1be1e..e15397c483 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/MappedSuperclassUiProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/MappedSuperclassUiProvider.java
@@ -37,7 +37,7 @@ public class MappedSuperclassUiProvider implements ITypeMappingUiProvider
super();
}
- public String key() {
+ public String mappingKey() {
return IMappingKeys.MAPPED_SUPERCLASS_TYPE_MAPPING_KEY;
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/NullTypeMappingUiProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/NullTypeMappingUiProvider.java
index 8574140cf6..1b44936878 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/NullTypeMappingUiProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/java/mappings/properties/NullTypeMappingUiProvider.java
@@ -37,7 +37,7 @@ public class NullTypeMappingUiProvider implements ITypeMappingUiProvider
super();
}
- public String key() {
+ public String mappingKey() {
return null;
}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentTypeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentTypeDetailsPage.java
index 4654bd7240..164fbfcee6 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentTypeDetailsPage.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentTypeDetailsPage.java
@@ -10,6 +10,7 @@ package org.eclipse.jpt.ui.internal.xml.details;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jpt.core.internal.AccessType;
import org.eclipse.jpt.core.internal.IJpaContentNode;
@@ -41,10 +42,28 @@ public class XmlPersistentTypeDetailsPage extends PersistentTypeDetailsPage
private AccessTypeComboViewer accessComboViewer;
+ //Storing these here instead of querying IJpaPlatformUI, because the orm.xml schema
+ //is not extensible. We only need to support extensibility for java
+ private List<ITypeMappingUiProvider> xmlTypeMappingUiProviders;
+
public XmlPersistentTypeDetailsPage(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) {
super(parent, widgetFactory);
}
+
+ public List<ITypeMappingUiProvider> typeMappingUiProviders() {
+ if (this.xmlTypeMappingUiProviders == null) {
+ this.xmlTypeMappingUiProviders = new ArrayList<ITypeMappingUiProvider>();
+ this.addXmlTypeMappingUiProvidersTo(this.xmlTypeMappingUiProviders);
+ }
+ return this.xmlTypeMappingUiProviders;
+ }
+ protected void addXmlTypeMappingUiProvidersTo(Collection<ITypeMappingUiProvider> providers) {
+ providers.add(EntityUiProvider.instance());
+ providers.add(MappedSuperclassUiProvider.instance());
+ providers.add(EmbeddableUiProvider.instance());
+ }
+
protected Collection<ITypeMappingUiProvider> buildTypeMappingUiProviders() {
Collection<ITypeMappingUiProvider> typeMappingUiProviders = new ArrayList<ITypeMappingUiProvider>();
typeMappingUiProviders.add(EntityUiProvider.instance());

Back to the top