Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2009-02-06 18:48:35 +0000
committerkmoore2009-02-06 18:48:35 +0000
commitb1427db962ae3b03f1cd925e49dcd5f9d9fa5c10 (patch)
tree89b7467539c636587056fbf19ef65e35934b806c /jpa/plugins/org.eclipse.jpt.eclipselink.ui/src
parente692423dcdcce613dce7164d6441ef8eaa4cd0ca (diff)
downloadwebtools.dali-b1427db962ae3b03f1cd925e49dcd5f9d9fa5c10.tar.gz
webtools.dali-b1427db962ae3b03f1cd925e49dcd5f9d9fa5c10.tar.xz
webtools.dali-b1427db962ae3b03f1cd925e49dcd5f9d9fa5c10.zip
eclipselink1.1 orm resource and context model support. a mapping file creation wizard is included
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.eclipselink.ui/src')
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/EclipseLinkUiMessages.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/platform/EclipseLink1_1JpaPlatformUi.java31
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/structure/EclipseLink1_1OrmResourceModelStructureProvider.java52
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLink1_1MappingFileWizard.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLinkMappingFileWizard.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLinkMappingFileWizardPage.java7
6 files changed, 136 insertions, 6 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/EclipseLinkUiMessages.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/EclipseLinkUiMessages.java
index 76a9e56fca..76ba93a513 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/EclipseLinkUiMessages.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/EclipseLinkUiMessages.java
@@ -19,6 +19,10 @@ public class EclipseLinkUiMessages {
public static String MappingFileWizard_title;
public static String MappingFileWizardPage_title;
public static String MappingFileWizardPage_desc;
+
+ public static String EclipseLink1_1MappingFileWizard_title;
+ public static String EclipseLink1_1MappingFileWizardPage_title;
+ public static String EclipseLink1_1MappingFileWizardPage_desc;
public static String Boolean_True;
public static String Boolean_False;
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/platform/EclipseLink1_1JpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/platform/EclipseLink1_1JpaPlatformUi.java
index bd6e257357..8536965ee2 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/platform/EclipseLink1_1JpaPlatformUi.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/platform/EclipseLink1_1JpaPlatformUi.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2009 Oracle. All rights reserved.
+ * Copyright (c) 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -9,7 +9,14 @@
*******************************************************************************/
package org.eclipse.jpt.eclipselink.ui.internal.platform;
+import java.util.List;
+import org.eclipse.jpt.core.JpaStructureNode;
+import org.eclipse.jpt.core.context.orm.OrmStructureNode;
+import org.eclipse.jpt.eclipselink.core.internal.JptEclipseLinkCorePlugin;
import org.eclipse.jpt.eclipselink.ui.internal.EclipseLink1_1JpaUiFactory;
+import org.eclipse.jpt.eclipselink.ui.internal.structure.EclipseLink1_1OrmResourceModelStructureProvider;
+import org.eclipse.jpt.ui.details.JpaDetailsProvider;
+import org.eclipse.jpt.ui.structure.JpaStructureProvider;
public class EclipseLink1_1JpaPlatformUi
extends EclipseLinkJpaPlatformUi //TODO just extend for now, but we need to change this to match the JpaPlatform
@@ -22,4 +29,26 @@ public class EclipseLink1_1JpaPlatformUi
protected EclipseLink1_1JpaUiFactory buildJpaUiFactory() {
return new EclipseLink1_1JpaUiFactory();
}
+
+ @Override
+ protected void addJpaStructureProvidersTo(List<JpaStructureProvider> providers) {
+ super.addJpaStructureProvidersTo(providers);
+ providers.add(EclipseLink1_1OrmResourceModelStructureProvider.instance());
+ }
+
+ @Override
+ //EclipseLink has to be able to build UI for both the orm.xml and the eclipselink-orm.xml so we can't
+ //just override the ormDetailsProviders and replace them with EclipseLink, we have to instead determine
+ //which details providers we need based on the selected structurenode. Need to find a better way to do this
+ protected synchronized JpaDetailsProvider[] getDetailsProviders(JpaStructureNode structureNode) {
+ // TODO - overhaul this class hierarchy!
+ //it's getting better, but still an instanceof here - KFB
+ if (structureNode instanceof OrmStructureNode) {
+ if (((OrmStructureNode) structureNode).getContentType().equals(JptEclipseLinkCorePlugin.ECLIPSELINK1_1_ORM_XML_CONTENT_TYPE)) {
+ return getEclipseLinkDetailsProviders();
+ }
+ }
+ return super.getDetailsProviders(structureNode);
+ }
+
}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/structure/EclipseLink1_1OrmResourceModelStructureProvider.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/structure/EclipseLink1_1OrmResourceModelStructureProvider.java
new file mode 100644
index 0000000000..c6723461f6
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/structure/EclipseLink1_1OrmResourceModelStructureProvider.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.ui.internal.structure;
+
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.jpt.eclipselink.core.internal.JptEclipseLinkCorePlugin;
+import org.eclipse.jpt.ui.internal.structure.OrmItemContentProviderFactory;
+import org.eclipse.jpt.ui.internal.structure.OrmItemLabelProviderFactory;
+import org.eclipse.jpt.ui.jface.ItemLabelProviderFactory;
+import org.eclipse.jpt.ui.jface.TreeItemContentProviderFactory;
+import org.eclipse.jpt.ui.structure.JpaStructureProvider;
+
+public class EclipseLink1_1OrmResourceModelStructureProvider
+ implements JpaStructureProvider
+{
+ // singleton
+ private static final JpaStructureProvider INSTANCE = new EclipseLink1_1OrmResourceModelStructureProvider();
+
+ /**
+ * Return the singleton.
+ */
+ public static JpaStructureProvider instance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Ensure single instance.
+ */
+ private EclipseLink1_1OrmResourceModelStructureProvider() {
+ super();
+ }
+
+ public IContentType getContentType() {
+ return JptEclipseLinkCorePlugin.ECLIPSELINK1_1_ORM_XML_CONTENT_TYPE;
+ }
+
+ public TreeItemContentProviderFactory getTreeItemContentProviderFactory() {
+ return new OrmItemContentProviderFactory();
+ }
+
+ public ItemLabelProviderFactory getItemLabelProviderFactory() {
+ return new OrmItemLabelProviderFactory();
+ }
+
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLink1_1MappingFileWizard.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLink1_1MappingFileWizard.java
new file mode 100644
index 0000000000..63b515ea72
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLink1_1MappingFileWizard.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle.
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jpt.eclipselink.ui.internal.wizards;
+
+import org.eclipse.jpt.eclipselink.core.internal.operations.EclipseLink1_1OrmFileCreationDataModelProvider;
+import org.eclipse.jpt.eclipselink.ui.internal.EclipseLinkUiMessages;
+import org.eclipse.jpt.ui.internal.wizards.orm.MappingFileWizard;
+import org.eclipse.jpt.ui.internal.wizards.orm.MappingFileWizardPage;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
+
+/**
+ * This is referenced in the plugin.xml as an org.eclipse.ui.newWizards extension
+ */
+public class EclipseLink1_1MappingFileWizard extends MappingFileWizard
+ implements INewWizard
+{
+ public EclipseLink1_1MappingFileWizard() {
+ this(null);
+ }
+
+ public EclipseLink1_1MappingFileWizard(IDataModel dataModel) {
+ super(dataModel);
+ setWindowTitle(EclipseLinkUiMessages.EclipseLink1_1MappingFileWizard_title);
+ }
+
+
+ @Override
+ protected MappingFileWizardPage buildMappingFileWizardPage() {
+ return new EclipseLinkMappingFileWizardPage(getDataModel(), "Page_1", EclipseLinkUiMessages.EclipseLink1_1MappingFileWizardPage_title, EclipseLinkUiMessages.EclipseLink1_1MappingFileWizardPage_desc);
+ }
+
+ @Override
+ protected IDataModelProvider getDefaultProvider() {
+ return new EclipseLink1_1OrmFileCreationDataModelProvider();
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLinkMappingFileWizard.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLinkMappingFileWizard.java
index 27946daf55..ce9e1172fa 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLinkMappingFileWizard.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLinkMappingFileWizard.java
@@ -36,7 +36,7 @@ public class EclipseLinkMappingFileWizard extends MappingFileWizard
@Override
protected MappingFileWizardPage buildMappingFileWizardPage() {
- return new EclipseLinkMappingFileWizardPage(getDataModel(), "Page_1");
+ return new EclipseLinkMappingFileWizardPage(getDataModel(), "Page_1", EclipseLinkUiMessages.MappingFileWizardPage_title, EclipseLinkUiMessages.MappingFileWizardPage_desc);
}
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLinkMappingFileWizardPage.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLinkMappingFileWizardPage.java
index 04fd13761e..5f168cd5ed 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLinkMappingFileWizardPage.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/wizards/EclipseLinkMappingFileWizardPage.java
@@ -10,16 +10,15 @@
*******************************************************************************/
package org.eclipse.jpt.eclipselink.ui.internal.wizards;
-import org.eclipse.jpt.eclipselink.ui.internal.EclipseLinkUiMessages;
import org.eclipse.jpt.ui.internal.wizards.orm.MappingFileWizardPage;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
public class EclipseLinkMappingFileWizardPage extends MappingFileWizardPage
{
- public EclipseLinkMappingFileWizardPage(IDataModel dataModel, String pageName) {
+ public EclipseLinkMappingFileWizardPage(IDataModel dataModel, String pageName, String title, String desc) {
super(dataModel, pageName);
- setTitle(EclipseLinkUiMessages.MappingFileWizardPage_title);
- setDescription(EclipseLinkUiMessages.MappingFileWizardPage_desc);
+ setTitle(title);
+ setDescription(desc);
setPageComplete(false);
}
}

Back to the top