Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbvosburgh2012-04-03 15:35:18 +0000
committerbvosburgh2012-04-03 15:35:18 +0000
commitb7e53c0b7bf55ba278e9b63f8b232ac45c89c049 (patch)
treec35cf00f59e367de5128938eeefc8e87a4d38e44 /jpa/plugins/org.eclipse.jpt.jpa.ui/src/org
parente37fe558e61f33ed18c7a38c268b995d984b8f9d (diff)
downloadwebtools.dali-b7e53c0b7bf55ba278e9b63f8b232ac45c89c049.tar.gz
webtools.dali-b7e53c0b7bf55ba278e9b63f8b232ac45c89c049.tar.xz
webtools.dali-b7e53c0b7bf55ba278e9b63f8b232ac45c89c049.zip
[353149] metadata conversion UI
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.ui/src/org')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JptUiMessages.java57
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/AbstractJavaMetadataConversionHandler.java93
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/AbstractJpaJavaMetadataConversionHandler.java67
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JavaGeneratorConversionHandler.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JpaJavaQueryMetadataConversionHandler.java)10
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JavaQueryConversionHandler.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JpaJavaGeneratorMetadataConversionHandler.java)12
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaJavaGlobalMetadataConvertor.java59
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaPlatformUi.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/BaseJpaPlatformUi.java)55
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/GenericJpaJavaGeneratorMetadataConvertor.java32
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/GenericJpaJavaQueryMetadataConvertor.java31
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/generic/GenericJpaPlatformUi.java12
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/JpaMakePersistentWizardPage.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/SelectJPAProjectWizardPage.java37
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/SelectMappingFileDialog.java (renamed from jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/SelectJpaOrmMappingFileDialog.java)30
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaGeneratorConversionWizardPage.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaMetadataConversionWizardPage.java46
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaQueryConversionWizardPage.java48
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGeneratorMetadataConversionWizard.java38
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGeneratorMetadataConversionWizardPage.java50
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGlobalMetadataConversionWizard.java42
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGlobalMetadataConversionWizardPage.java56
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaQueryMetadataConversionWizard.java37
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaQueryMetadataConversionWizardPage.java51
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JavaMetadataConversionWizard.java41
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JavaMetadataConversionWizardPage.java625
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JpaJavaGlobalMetadataConversionWizard.java144
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JpaJavaGlobalMetadataConversionWizardPage.java422
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/entity/EntityClassWizardPage.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/orm/EmbeddedMappingFileWizard.java35
28 files changed, 1038 insertions, 1146 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JptUiMessages.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JptUiMessages.java
index 2926fa483b..de595118db 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JptUiMessages.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JptUiMessages.java
@@ -19,6 +19,12 @@ import org.eclipse.osgi.util.NLS;
*/
// TODO bjv rename...
public class JptUiMessages {
+ private static final String BUNDLE_NAME = "jpt_ui"; //$NON-NLS-1$
+ private static final Class<?> BUNDLE_CLASS = JptUiMessages.class;
+
+ static {
+ NLS.initializeMessages(BUNDLE_NAME, BUNDLE_CLASS);
+ }
public static String AccessTypeComposite_access;
public static String AddToEarComposite_earMemberShip;
@@ -153,41 +159,38 @@ public class JptUiMessages {
public static String JpaProblemSeveritiesPage_Ignore;
public static String JpaProblemSeveritiesPage_Info;
public static String JpaProblemSeveritiesPage_Warning;
- public static String SelectJpaOrmMappingFileDialog_title;
- public static String SelectJpaOrmMappingFileDialog_message;
public static String JpaEntityGenPreferencePage_Description;
public static String JpaEntityGenPreferencePage_generalGroup_title;
public static String JpaEntityGenPreferencePage_defaultPackageLabel;
- public static String SelectJpaOrmMappingFileDialog_newButton;
- public static String SelectJpaOrmMappingFileDialog_newBtnToolTip;
- public static String SynchronizingClasses_TaskName;
- public static String JpaGlobalMetadataConversionWizard_title;
- public static String JpaGlobalMetadataConversion_convertingJpaGlobalMetadataWarning;
- public static String JpaGlobalMetadataConversion_mappingFileDoesNotExist;
- public static String JpaGlobalMetadataConversion_mappingFileHasInvalidVersion;
- public static String JpaGlobalMetadataConversion_mappingFileNotListedInPersistenceXml;
- public static String JpaGlobalMetadataConversion_noGeneratorMetadataToConvert;
- public static String JpaGlobalMetadataConversion_noQueryMetadataToConvert;
- public static String JpaGlobalMetadataConversionWizardPage_browseMappingFileBtn;
- public static String JpaGlobalMetadataConversionWizardPage_browseMappingFileBtnToolTip;
- public static String JpaGlobalMetadataConversionWizardPage_label;
- public static String JpaGlobalMetadataConversionWizardPage_newMappingFileLink;
- public static String JpaGlobalMetadataConversionWizardPage_newMappingFileLinkToolTip;
- public static String JpaJavaGeneratorMetadataConversionWizardPage_description;
- public static String JpaJavaGeneratorMetadataConversionWizardPage_title;
- public static String JpaJavaQueryMetadataConversionWizardPage_description;
- public static String JpaJavaQueryMetadataConversionWizardPage_title;
+ public static String SelectJpaProjectWizardPage_title;
+ public static String SelectJpaProjectWizardPage_msg;
+ public static String SelectMappingFileDialog_title;
+ public static String SelectMappingFileDialog_message;
+ public static String SelectMappingFileDialog_newButton;
+ public static String SelectMappingFileDialog_newButtonToolTip;
- private static final String BUNDLE_NAME = "jpt_ui"; //$NON-NLS-1$
- private static final Class<?> BUNDLE_CLASS = JptUiMessages.class;
+ public static String SynchronizingClasses_TaskName;
- static {
- NLS.initializeMessages(BUNDLE_NAME, BUNDLE_CLASS);
- }
+ public static String JavaMetadataConversionWizard_title;
+ public static String JavaMetadataConversion_warning;
+ public static String JavaMetadataConversion_mappingFileDoesNotExist;
+ public static String JavaMetadataConversion_mappingFileVersionIsInvalid;
+ public static String JavaMetadataConversion_mappingFileNotListedInPersistenceXml;
+ public static String JavaMetadataConversion_noGeneratorsToConvert;
+ public static String JavaMetadataConversion_noQueriesToConvert;
+ public static String JavaMetadataConversionWizardPage_mappingFileBrowseButton;
+ public static String JavaMetadataConversionWizardPage_mappingFileBrowseButtonToolTip;
+ public static String JavaMetadataConversionWizardPage_label;
+ public static String JavaMetadataConversionWizardPage_newMappingFileLink;
+ public static String JavaMetadataConversionWizardPage_newMappingFileLinkToolTip;
+ public static String JavaGeneratorConversionWizardPage_title;
+ public static String JavaGeneratorConversionWizardPage_description;
+ public static String JavaQueryConversionWizardPage_title;
+ public static String JavaQueryConversionWizardPage_description;
private JptUiMessages() {
throw new UnsupportedOperationException();
}
-} \ No newline at end of file
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/AbstractJavaMetadataConversionHandler.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/AbstractJavaMetadataConversionHandler.java
new file mode 100644
index 0000000000..4fe1d873ae
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/AbstractJavaMetadataConversionHandler.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2011, 2012 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.jpa.ui.internal.commands;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jpt.common.core.internal.utility.PlatformTools;
+import org.eclipse.jpt.jpa.core.JpaProject;
+import org.eclipse.jpt.jpa.ui.JpaPlatformUi;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+public abstract class AbstractJavaMetadataConversionHandler
+ extends AbstractHandler
+{
+ public AbstractJavaMetadataConversionHandler() {
+ super();
+ }
+
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ this.execute_(event);
+ return null;
+ }
+
+ protected void execute_(ExecutionEvent event) throws ExecutionException {
+ IStructuredSelection selection = (IStructuredSelection) HandlerUtil.getCurrentSelectionChecked(event);
+ JpaProject jpaProject = this.convertSelectionToJpaProject(selection.getFirstElement());
+ if (jpaProject != null) {
+ this.convertJavaMetadata(jpaProject);
+ }
+ }
+
+ protected abstract void convertJavaMetadata(JpaProject jpaProject);
+
+ protected JpaProject convertSelectionToJpaProject(Object sel) {
+ try {
+ return (sel == null) ? null : this.convertSelectionToJpaProject_(sel);
+ } catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ return null;
+ }
+ }
+
+ protected JpaProject convertSelectionToJpaProject_(Object sel) throws InterruptedException {
+ // this will handle JpaProject and IProject (when the JpaProject is already present)
+ JpaProject jpaProject = PlatformTools.getAdapter(sel, JpaProject.class);
+ if (jpaProject != null) {
+ return jpaProject;
+ }
+ IProject project = this.convertSelectionToProject(sel);
+ if (project == null) {
+ return null;
+ }
+ JpaProject.Reference ref = (JpaProject.Reference) project.getAdapter(JpaProject.Reference.class);
+ // this will wait for the JpaProject if it is under construction
+ return (ref == null) ? null : ref.getValue();
+ }
+
+ protected IProject convertSelectionToProject(Object sel) {
+ // this will handle JpaProject and IProject
+ IResource resource = PlatformTools.getAdapter(sel, IResource.class);
+ if (resource != null) {
+ return resource.getProject();
+ }
+
+ IJavaProject javaProject = this.convertSelectionToJavaProject(sel);
+ return (javaProject == null) ? null : javaProject.getProject();
+ }
+
+ protected IJavaProject convertSelectionToJavaProject(Object sel) {
+ IJavaElement javaElement = PlatformTools.getAdapter(sel, IJavaElement.class);
+ return (javaElement == null) ? null : javaElement.getJavaProject();
+ }
+
+ /**
+ * Convenience method.
+ */
+ protected JpaPlatformUi getJpaPlatformUi(JpaProject jpaProject) {
+ return (JpaPlatformUi) jpaProject.getJpaPlatform().getAdapter(JpaPlatformUi.class);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/AbstractJpaJavaMetadataConversionHandler.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/AbstractJpaJavaMetadataConversionHandler.java
deleted file mode 100644
index fc9908083f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/AbstractJpaJavaMetadataConversionHandler.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.commands;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.ui.JpaPlatformUi;
-import org.eclipse.jpt.jpa.ui.internal.platform.JpaPlatformUiRegistry;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-public abstract class AbstractJpaJavaMetadataConversionHandler extends AbstractHandler {
-
- public AbstractJpaJavaMetadataConversionHandler() {
- super();
- }
-
-
- public Object execute(ExecutionEvent event) throws ExecutionException {
- IStructuredSelection selections = (IStructuredSelection)
- HandlerUtil.getCurrentSelectionChecked(event);
-
- Object selection = selections.iterator().next();
- JpaProject jpaProject = getJpaProjectFromSelection(selection);
- if (jpaProject != null) {
- converterJavaGlobalMetadata(jpaProject);
- }
- return null;
- }
-
-
- abstract protected void converterJavaGlobalMetadata(JpaProject jpaProject);
-
- protected JpaPlatformUi getJpaPlatformUi(JpaProject project) {
- String coreJpaPlatformId = project.getJpaPlatform().getId();
- return JpaPlatformUiRegistry.instance().getJpaPlatformUi(coreJpaPlatformId);
- }
-
- protected JpaProject getJpaProjectFromSelection(Object selection) {
- IProject project = getIProjectFromSelection(selection);
- if (project != null) {
- return (JpaProject) project.getAdapter(JpaProject.class);
- }
- return null;
- }
-
- protected IProject getIProjectFromSelection(Object selection) {
- if (selection instanceof IProject) {
- return (IProject) selection;
- }
- if (selection instanceof IJavaProject) {
- return ((IJavaProject) selection).getProject();
- }
- return null;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JpaJavaQueryMetadataConversionHandler.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JavaGeneratorConversionHandler.java
index 8e4ed93bc5..dadb127fbe 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JpaJavaQueryMetadataConversionHandler.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JavaGeneratorConversionHandler.java
@@ -11,13 +11,15 @@ package org.eclipse.jpt.jpa.ui.internal.commands;
import org.eclipse.jpt.jpa.core.JpaProject;
-public class JpaJavaQueryMetadataConversionHandler extends AbstractJpaJavaMetadataConversionHandler {
- public JpaJavaQueryMetadataConversionHandler() {
+public class JavaGeneratorConversionHandler
+ extends AbstractJavaMetadataConversionHandler
+{
+ public JavaGeneratorConversionHandler() {
super();
}
@Override
- protected void converterJavaGlobalMetadata(JpaProject jpaProject) {
- super.getJpaPlatformUi(jpaProject).convertJavaQueryMetadataToGlobal(jpaProject);
+ protected void convertJavaMetadata(JpaProject jpaProject) {
+ this.getJpaPlatformUi(jpaProject).convertJavaGeneratorMetadataToGlobal(jpaProject);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JpaJavaGeneratorMetadataConversionHandler.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JavaQueryConversionHandler.java
index b9d9149eb8..8aa38f790b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JpaJavaGeneratorMetadataConversionHandler.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/commands/JavaQueryConversionHandler.java
@@ -11,15 +11,15 @@ package org.eclipse.jpt.jpa.ui.internal.commands;
import org.eclipse.jpt.jpa.core.JpaProject;
-public class JpaJavaGeneratorMetadataConversionHandler extends AbstractJpaJavaMetadataConversionHandler {
-
- public JpaJavaGeneratorMetadataConversionHandler() {
+public class JavaQueryConversionHandler
+ extends AbstractJavaMetadataConversionHandler
+{
+ public JavaQueryConversionHandler() {
super();
}
@Override
- protected void converterJavaGlobalMetadata(JpaProject jpaProject) {
- super.getJpaPlatformUi(jpaProject).convertJavaGeneratorMetadataToGlobal(jpaProject);
-
+ protected void convertJavaMetadata(JpaProject jpaProject) {
+ this.getJpaPlatformUi(jpaProject).convertJavaQueryMetadataToGlobal(jpaProject);
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaJavaGlobalMetadataConvertor.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaJavaGlobalMetadataConvertor.java
deleted file mode 100644
index 65d75a6639..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaJavaGlobalMetadataConvertor.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.platform.base;
-
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-public abstract class AbstractJpaJavaGlobalMetadataConvertor {
-
- protected JpaProject jpaProject;
-
- public AbstractJpaJavaGlobalMetadataConvertor(JpaProject jpaProject) {
- super();
- this.jpaProject = jpaProject;
- }
-
- public static void convert(JpaProject jpaProject) {
- new GenericJpaJavaQueryMetadataConvertor(jpaProject).convert();
- }
-
- protected void convert() {
- WizardDialog dialog = new WizardDialog(this.getCurrentShell(), getWizard()) {
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
- newShell.setSize(520, 460);
- center(newShell);
- }
- };
- dialog.create();
- dialog.open();
- }
-
- abstract protected Wizard getWizard();
-
- protected Shell getCurrentShell() {
- return Display.getCurrent().getActiveShell();
- }
-
- protected void center(Shell shell) {
- Rectangle bounds = shell.getDisplay().getBounds();
- Point point = shell.getSize();
- int nLeft = (bounds.width - point.x) / 2;
- int nTop = (bounds.height - point.y) / 3;
- shell.setBounds(nLeft, nTop, point.x, point.y);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/BaseJpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaPlatformUi.java
index 567f09e21a..7942c16b0c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/BaseJpaPlatformUi.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractJpaPlatformUi.java
@@ -13,8 +13,11 @@ import java.util.Iterator;
import java.util.ListIterator;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.IWizard;
+import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.jpt.common.core.JptResourceType;
import org.eclipse.jpt.common.ui.WidgetFactory;
+import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
import org.eclipse.jpt.common.ui.jface.ItemTreeStateProviderFactoryProvider;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
@@ -35,11 +38,12 @@ import org.eclipse.jpt.jpa.ui.details.JpaComposite;
import org.eclipse.jpt.jpa.ui.details.JpaDetailsPageManager;
import org.eclipse.jpt.jpa.ui.details.JpaDetailsProvider;
import org.eclipse.jpt.jpa.ui.details.MappingUiDefinition;
+import org.eclipse.jpt.jpa.ui.internal.wizards.conversion.java.JavaMetadataConversionWizard;
+import org.eclipse.jpt.jpa.ui.internal.wizards.conversion.java.JavaMetadataConversionWizardPage;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
-public abstract class BaseJpaPlatformUi
+public abstract class AbstractJpaPlatformUi
implements JpaPlatformUi
{
private final ItemTreeStateProviderFactoryProvider navigatorFactoryProvider;
@@ -47,11 +51,14 @@ public abstract class BaseJpaPlatformUi
private final JpaPlatformUiProvider platformUiProvider;
- protected BaseJpaPlatformUi(
+ protected AbstractJpaPlatformUi(
ItemTreeStateProviderFactoryProvider navigatorFactoryProvider,
JpaPlatformUiProvider platformUiProvider
) {
super();
+ if ((navigatorFactoryProvider == null) || (platformUiProvider == null)) {
+ throw new NullPointerException();
+ }
this.navigatorFactoryProvider = navigatorFactoryProvider;
this.platformUiProvider = platformUiProvider;
}
@@ -182,7 +189,45 @@ public abstract class BaseJpaPlatformUi
// ********** convenience methods **********
protected void displayMessage(String title, String message) {
- Shell currentShell = Display.getCurrent().getActiveShell();
- MessageDialog.openInformation(currentShell, title, message);
+ MessageDialog.openInformation(SWTUtil.getShell(), title, message);
+ }
+
+ protected void openInDialog(JavaMetadataConversionWizardPage wizardPage) {
+ openInDialog(new JavaMetadataConversionWizard(wizardPage));
+ }
+
+ protected void openInDialog(IWizard wizard) {
+ new SizedWizardDialog(wizard).open();
+ }
+
+
+ // ********** wizard dialog **********
+
+ public class SizedWizardDialog
+ extends WizardDialog
+ {
+ private final int width;
+ private final int height;
+
+ public SizedWizardDialog(IWizard wizard) {
+ this(wizard, 520, 460);
+ }
+
+ public SizedWizardDialog(IWizard wizard, int width, int height) {
+ this(SWTUtil.getShell(), wizard, width, height);
+ }
+
+ public SizedWizardDialog(Shell shell, IWizard wizard, int width, int height) {
+ super(shell, wizard);
+ this.width = width;
+ this.height = height;
+ }
+
+ @Override
+ protected void configureShell(Shell shell) {
+ super.configureShell(shell);
+ shell.setSize(this.width, this.height);
+ SWTUtil.center(shell, this.getParentShell());
+ }
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/GenericJpaJavaGeneratorMetadataConvertor.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/GenericJpaJavaGeneratorMetadataConvertor.java
deleted file mode 100644
index ea25b11617..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/GenericJpaJavaGeneratorMetadataConvertor.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.platform.base;
-
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.ui.internal.wizards.conversion.java.GenericJpaJavaGeneratorMetadataConversionWizard;
-
-public class GenericJpaJavaGeneratorMetadataConvertor extends
- AbstractJpaJavaGlobalMetadataConvertor {
-
- public GenericJpaJavaGeneratorMetadataConvertor(JpaProject jpaProject) {
- super(jpaProject);
- }
-
-
- public static void convert(JpaProject jpaProject) {
- new GenericJpaJavaGeneratorMetadataConvertor(jpaProject).convert();
- }
-
- @Override
- protected Wizard getWizard() {
- return new GenericJpaJavaGeneratorMetadataConversionWizard(super.jpaProject);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/GenericJpaJavaQueryMetadataConvertor.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/GenericJpaJavaQueryMetadataConvertor.java
deleted file mode 100644
index 8e8080133e..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/GenericJpaJavaQueryMetadataConvertor.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.platform.base;
-
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.ui.internal.wizards.conversion.java.GenericJpaJavaQueryMetadataConversionWizard;
-
-public class GenericJpaJavaQueryMetadataConvertor extends
- AbstractJpaJavaGlobalMetadataConvertor {
-
- public GenericJpaJavaQueryMetadataConvertor(JpaProject jpaProject) {
- super(jpaProject);
- }
-
- public static void convert(JpaProject jpaProject) {
- new GenericJpaJavaQueryMetadataConvertor(jpaProject).convert();
- }
-
- @Override
- protected Wizard getWizard(){
- return new GenericJpaJavaQueryMetadataConversionWizard(super.jpaProject);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/generic/GenericJpaPlatformUi.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/generic/GenericJpaPlatformUi.java
index 7b37e22675..32e3e4743e 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/generic/GenericJpaPlatformUi.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/generic/GenericJpaPlatformUi.java
@@ -14,12 +14,12 @@ import org.eclipse.jpt.common.ui.jface.ItemTreeStateProviderFactoryProvider;
import org.eclipse.jpt.jpa.core.JpaProject;
import org.eclipse.jpt.jpa.ui.JpaPlatformUiProvider;
import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.platform.base.BaseJpaPlatformUi;
-import org.eclipse.jpt.jpa.ui.internal.platform.base.GenericJpaJavaGeneratorMetadataConvertor;
-import org.eclipse.jpt.jpa.ui.internal.platform.base.GenericJpaJavaQueryMetadataConvertor;
+import org.eclipse.jpt.jpa.ui.internal.platform.base.AbstractJpaPlatformUi;
+import org.eclipse.jpt.jpa.ui.internal.wizards.conversion.java.GenericJavaGeneratorConversionWizardPage;
+import org.eclipse.jpt.jpa.ui.internal.wizards.conversion.java.GenericJavaQueryConversionWizardPage;
public class GenericJpaPlatformUi
- extends BaseJpaPlatformUi
+ extends AbstractJpaPlatformUi
{
public GenericJpaPlatformUi(
ItemTreeStateProviderFactoryProvider navigatorFactoryProvider,
@@ -37,10 +37,10 @@ public class GenericJpaPlatformUi
// ********** metadata conversion **********
public void convertJavaQueryMetadataToGlobal(JpaProject jpaProject) {
- GenericJpaJavaQueryMetadataConvertor.convert(jpaProject);
+ this.openInDialog(new GenericJavaQueryConversionWizardPage(jpaProject));
}
public void convertJavaGeneratorMetadataToGlobal(JpaProject jpaProject) {
- GenericJpaJavaGeneratorMetadataConvertor.convert(jpaProject);
+ this.openInDialog(new GenericJavaGeneratorConversionWizardPage(jpaProject));
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/JpaMakePersistentWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/JpaMakePersistentWizardPage.java
index 8d919df218..49d8ed44ae 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/JpaMakePersistentWizardPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/JpaMakePersistentWizardPage.java
@@ -283,7 +283,7 @@ public class JpaMakePersistentWizardPage extends WizardPage {
ViewerFilter filter = buildMappingFileDialogViewerFilter();
ITreeContentProvider contentProvider = new WorkbenchContentProvider();
ILabelProvider labelProvider = new WorkbenchLabelProvider();
- SelectJpaOrmMappingFileDialog dialog = new SelectJpaOrmMappingFileDialog(getShell(), this.jpaProject.getProject(), labelProvider, contentProvider);
+ SelectMappingFileDialog dialog = new SelectMappingFileDialog(getShell(), this.jpaProject.getProject(), labelProvider, contentProvider);
dialog.setTitle(EntityWizardMsg.MAPPING_XML_TITLE);
dialog.setMessage(EntityWizardMsg.CHOOSE_MAPPING_XML_MESSAGE);
dialog.addFilter(filter);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/SelectJPAProjectWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/SelectJPAProjectWizardPage.java
deleted file mode 100644
index 1b4df67238..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/SelectJPAProjectWizardPage.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.ui.internal.wizards.conversion.java.JpaJavaGlobalMetadataConversionWizard;
-import org.eclipse.jpt.jpa.ui.internal.wizards.gen.PromptJPAProjectWizardPage;
-import org.eclipse.swt.widgets.TableItem;
-
-public class SelectJPAProjectWizardPage extends PromptJPAProjectWizardPage {
-
- public SelectJPAProjectWizardPage( final String helpContextId ) {
- super(SELECT_PROJECT_PAGE_NAME);
- }
-
- @Override
- protected void handleJpaProjectSelection() {
- if (projTable.getSelectionIndex() != -1) {
- TableItem item = projTable.getItem(projTable.getSelectionIndex());
- String projName = item.getText(0);
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projName);
- JpaProject jpaProject = (JpaProject)project.getAdapter(JpaProject.class);
- ((JpaJavaGlobalMetadataConversionWizard)getWizard()).setJpaProject(jpaProject);
- validate();
- }
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/SelectJpaOrmMappingFileDialog.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/SelectMappingFileDialog.java
index eab16c4331..5e27540411 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/SelectJpaOrmMappingFileDialog.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/SelectMappingFileDialog.java
@@ -9,7 +9,6 @@
******************************************************************************/
package org.eclipse.jpt.jpa.ui.internal.wizards;
-import java.io.File;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
@@ -37,15 +36,23 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
+import org.eclipse.ui.model.WorkbenchContentProvider;
+import org.eclipse.ui.model.WorkbenchLabelProvider;
-public class SelectJpaOrmMappingFileDialog extends ElementTreeSelectionDialog
+public class SelectMappingFileDialog
+ extends ElementTreeSelectionDialog
{
protected final IProject project;
protected Label messageLabel;
protected Tree treeWidget;
- public SelectJpaOrmMappingFileDialog(Shell parent, IProject project, ILabelProvider labelProvider, ITreeContentProvider contentProvider) {
+
+ public SelectMappingFileDialog(Shell parent, IProject project) {
+ this(parent, project, new WorkbenchLabelProvider(), new WorkbenchContentProvider());
+ }
+
+ public SelectMappingFileDialog(Shell parent, IProject project, ILabelProvider labelProvider, ITreeContentProvider contentProvider) {
super(parent, labelProvider, contentProvider);
setAllowMultiple(false);
this.project = project;
@@ -55,10 +62,10 @@ public class SelectJpaOrmMappingFileDialog extends ElementTreeSelectionDialog
protected Control createDialogArea(Composite parent) {
Composite composite = (Composite) super.createDialogArea(parent);
Button newButton = new Button(composite, SWT.PUSH);
- newButton.setText(JptUiMessages.SelectJpaOrmMappingFileDialog_newButton);
+ newButton.setText(JptUiMessages.SelectMappingFileDialog_newButton);
GridData browseButtonData = new GridData(GridData.HORIZONTAL_ALIGN_END);
newButton.setLayoutData(browseButtonData);
- newButton.setToolTipText(JptUiMessages.SelectJpaOrmMappingFileDialog_newBtnToolTip);
+ newButton.setToolTipText(JptUiMessages.SelectMappingFileDialog_newButtonToolTip);
newButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
openNewMappingFileWizard();
@@ -84,10 +91,6 @@ public class SelectJpaOrmMappingFileDialog extends ElementTreeSelectionDialog
return treeViewer;
}
- /**
- * @param project
- * @return the runtime path of the chosen element
- */
public String getChosenName() {
IPath resourcePath = null;
Object element = getFirstResult();
@@ -96,8 +99,7 @@ public class SelectJpaOrmMappingFileDialog extends ElementTreeSelectionDialog
} else {
resourcePath = ((IFile) element).getFullPath();
}
- String runtimePath = this.getProjectResourceLocator().getRuntimePath(resourcePath).toOSString();
- return runtimePath.replace(File.separatorChar, '/');
+ return this.getProjectResourceLocator().getRuntimePath(resourcePath).toString();
}
@Override
@@ -109,15 +111,15 @@ public class SelectJpaOrmMappingFileDialog extends ElementTreeSelectionDialog
TreeSelection selection = (TreeSelection)getTreeViewer().getSelection();
IResource selectedResource = (IResource) selection.getFirstElement();
if (selectedResource instanceof IFile) {
- updateStatus(new Status(IStatus.OK, JptJpaUiPlugin.PLUGIN_ID, ""));
+ updateStatus(new Status(IStatus.OK, JptJpaUiPlugin.PLUGIN_ID, "")); //$NON-NLS-1$
}
else {
- updateStatus(new Status(IStatus.ERROR, JptJpaUiPlugin.PLUGIN_ID, ""));
+ updateStatus(new Status(IStatus.ERROR, JptJpaUiPlugin.PLUGIN_ID, "")); //$NON-NLS-1$
}
}
protected void openNewMappingFileWizard() {
- IPath path = EmbeddedMappingFileWizard.createNewMappingFile(new StructuredSelection(this.project), null);
+ IPath path = EmbeddedMappingFileWizard.createNewMappingFile(new StructuredSelection(this.project));
updateDialog(path);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaGeneratorConversionWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaGeneratorConversionWizardPage.java
new file mode 100644
index 0000000000..3b549a5022
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaGeneratorConversionWizardPage.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jpt.jpa.core.JpaProject;
+import org.eclipse.jpt.jpa.core.context.orm.EntityMappings;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+
+public class GenericJavaGeneratorConversionWizardPage
+ extends GenericJavaMetadataConversionWizardPage
+{
+ public GenericJavaGeneratorConversionWizardPage(JpaProject jpaProject) {
+ super(jpaProject, JptUiMessages.JavaGeneratorConversionWizardPage_title, JptUiMessages.JavaGeneratorConversionWizardPage_description);
+ }
+
+ @Override
+ protected boolean hasConvertibleJavaMetadata_() {
+ return this.persistenceUnit.hasConvertibleJavaGenerators();
+ }
+
+ @Override
+ protected String getMissingJavaMetadataWarningMessage() {
+ return JptUiMessages.JavaMetadataConversion_noGeneratorsToConvert;
+ }
+
+ @Override
+ protected ConversionCommand.Strategy getConversionCommandStrategy() {
+ return CONVERSION_COMMAND_STRATEGY;
+ }
+
+ public static final ConversionCommandStrategy CONVERSION_COMMAND_STRATEGY = new ConversionCommandStrategy();
+
+ protected static class ConversionCommandStrategy
+ implements ConversionCommand.Strategy
+ {
+ public void execute(EntityMappings entityMappings, IProgressMonitor monitor) {
+ entityMappings.getPersistenceUnit().convertJavaGenerators(entityMappings, monitor);
+ }
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaMetadataConversionWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaMetadataConversionWizardPage.java
new file mode 100644
index 0000000000..cb5c6c253f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaMetadataConversionWizardPage.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jpt.jpa.core.JpaProject;
+import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
+import org.eclipse.jpt.jpa.ui.internal.wizards.SelectMappingFileDialog;
+import org.eclipse.jpt.jpa.ui.internal.wizards.orm.EmbeddedMappingFileWizard;
+
+public abstract class GenericJavaMetadataConversionWizardPage
+ extends JavaMetadataConversionWizardPage
+{
+ public GenericJavaMetadataConversionWizardPage(JpaProject jpaProject, String title, String description) {
+ super(jpaProject, title, description);
+ }
+
+ @Override
+ protected IPath getDefaultMappingFileRuntimPath() {
+ return JptJpaCorePlugin.DEFAULT_ORM_XML_RUNTIME_PATH;
+ }
+
+ @Override
+ protected IContentType getMappingFileContentType() {
+ return JptJpaCorePlugin.ORM_XML_CONTENT_TYPE;
+ }
+
+ @Override
+ protected IPath openNewMappingFileWizard() {
+ return EmbeddedMappingFileWizard.createNewMappingFile(new StructuredSelection(this.jpaProject.getProject()));
+ }
+
+ @Override
+ protected SelectMappingFileDialog buildSelectMappingFileDialog(){
+ return new SelectMappingFileDialog(this.getShell(), this.jpaProject.getProject());
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaQueryConversionWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaQueryConversionWizardPage.java
new file mode 100644
index 0000000000..5e9412a13f
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJavaQueryConversionWizardPage.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jpt.jpa.core.JpaProject;
+import org.eclipse.jpt.jpa.core.context.orm.EntityMappings;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+
+public class GenericJavaQueryConversionWizardPage
+ extends GenericJavaMetadataConversionWizardPage
+{
+ public GenericJavaQueryConversionWizardPage(JpaProject jpaProject) {
+ super(jpaProject, JptUiMessages.JavaQueryConversionWizardPage_title, JptUiMessages.JavaQueryConversionWizardPage_description);
+ }
+
+ @Override
+ protected boolean hasConvertibleJavaMetadata_() {
+ return this.persistenceUnit.hasConvertibleJavaQueries();
+ }
+
+ @Override
+ protected String getMissingJavaMetadataWarningMessage() {
+ return JptUiMessages.JavaMetadataConversion_noQueriesToConvert;
+ }
+
+ @Override
+ protected ConversionCommand.Strategy getConversionCommandStrategy() {
+ return CONVERSION_COMMAND_STRATEGY;
+ }
+
+ public static final ConversionCommandStrategy CONVERSION_COMMAND_STRATEGY = new ConversionCommandStrategy();
+
+ protected static class ConversionCommandStrategy
+ implements ConversionCommand.Strategy
+ {
+ public void execute(EntityMappings entityMappings, IProgressMonitor monitor) {
+ entityMappings.getPersistenceUnit().convertJavaQueries(entityMappings, monitor);
+ }
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGeneratorMetadataConversionWizard.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGeneratorMetadataConversionWizard.java
deleted file mode 100644
index 604d27fb56..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGeneratorMetadataConversionWizard.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
-
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.jpt.jpa.core.JpaProject;
-
-public class GenericJpaJavaGeneratorMetadataConversionWizard extends
- GenericJpaJavaGlobalMetadataConversionWizard {
-
- public GenericJpaJavaGeneratorMetadataConversionWizard(JpaProject jpaProject) {
- super(jpaProject);
- }
-
- @Override
- protected GenericJpaJavaGeneratorMetadataConversionWizardPage buildJpaMetadataConversionWizardPage() {
- return new GenericJpaJavaGeneratorMetadataConversionWizardPage(
- this.getPersistenceUnit(), this.mappingXmlModel, HELP_CONTEXT_ID);
- }
-
- @Override
- public boolean performFinish() {
- try {
- ((GenericJpaJavaGeneratorMetadataConversionWizardPage)
- super.jpaMetadataConversionWizardPage).performFinish();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- return true;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGeneratorMetadataConversionWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGeneratorMetadataConversionWizardPage.java
deleted file mode 100644
index ffc18f69b3..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGeneratorMetadataConversionWizardPage.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.orm.EntityMappings;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
-
-public class GenericJpaJavaGeneratorMetadataConversionWizardPage extends
- GenericJpaJavaGlobalMetadataConversionWizardPage {
-
- public GenericJpaJavaGeneratorMetadataConversionWizardPage(
- PersistenceUnit persistenceUnit, SimplePropertyValueModel<String> model, String helpContextId) {
- super(persistenceUnit, model, helpContextId);
- }
-
- @Override
- protected String getWizardPageTitle() {
- return JptUiMessages.JpaJavaGeneratorMetadataConversionWizardPage_title;
- }
-
- @Override
- protected String getWizardPageDescription() {
- return JptUiMessages.JpaJavaGeneratorMetadataConversionWizardPage_description;
- }
-
- @Override
- protected void executeConversion(EntityMappings entityMappings, IProgressMonitor monitor){
- persistenceUnit.convertJavaGenerators(entityMappings, monitor);
- }
-
- @Override
- protected boolean hasConvertibleJavaGlobalMetadata() {
- return persistenceUnit.hasConvertibleJavaGenerators();
- }
-
- @Override
- protected String getWarningMessageForNonExistentGlobals() {
- return JptUiMessages.JpaGlobalMetadataConversion_noGeneratorMetadataToConvert;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGlobalMetadataConversionWizard.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGlobalMetadataConversionWizard.java
deleted file mode 100644
index a7bdfa77a0..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGlobalMetadataConversionWizard.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.MappingFile;
-import org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef;
-
-public abstract class GenericJpaJavaGlobalMetadataConversionWizard extends
- JpaJavaGlobalMetadataConversionWizard {
-
- public GenericJpaJavaGlobalMetadataConversionWizard(JpaProject jpaProject) {
- super(jpaProject);
- }
-
- @Override
- protected String getDefaultMappingFileRuntimPath() {
- return JptJpaCorePlugin.DEFAULT_ORM_XML_RUNTIME_PATH.toString();
- }
-
- @Override
- protected MappingFile getFirstAvaliableMappingFile() {
- for (MappingFileRef ref : getPersistenceUnit().getMappingFileRefs()) {
- MappingFile mappingFile = ref.getMappingFile();
- if (mappingFile != null) {
- IFile file = ref.getMappingFile().getXmlResource().getFile();
- if (jpaProject.getJpaFile(file).getContentType().isKindOf(JptJpaCorePlugin.MAPPING_FILE_CONTENT_TYPE))
- return ref.getMappingFile();
- }
- }
- return null;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGlobalMetadataConversionWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGlobalMetadataConversionWizardPage.java
deleted file mode 100644
index 0ab7ec3497..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaGlobalMetadataConversionWizardPage.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.internal.jface.XmlMappingFileViewerFilter;
-import org.eclipse.jpt.jpa.ui.internal.wizards.SelectJpaOrmMappingFileDialog;
-import org.eclipse.jpt.jpa.ui.internal.wizards.orm.EmbeddedMappingFileWizard;
-import org.eclipse.swt.widgets.Shell;
-
-public abstract class GenericJpaJavaGlobalMetadataConversionWizardPage extends
- JpaJavaGlobalMetadataConversionWizardPage<PersistenceUnit> {
-
- public GenericJpaJavaGlobalMetadataConversionWizardPage(
- PersistenceUnit persistenceUnit, SimplePropertyValueModel<String> model, String helpContextId) {
- super(persistenceUnit, model, helpContextId);
- }
-
- @Override
- protected ViewerFilter buildSelectMappingFileDialogViewerFilter() {
- return new XmlMappingFileViewerFilter(this.getJpaProject(), JptJpaCorePlugin.MAPPING_FILE_CONTENT_TYPE);
- }
-
- @Override
- protected SelectJpaOrmMappingFileDialog buildSelectMappingFileDialog
- (Shell shell, IProject project, ILabelProvider lp, ITreeContentProvider cp){
- return new SelectJpaOrmMappingFileDialog(shell, project, lp, cp);
- }
-
- @Override
- protected IPath getMappingFilePath(){
- return EmbeddedMappingFileWizard.createNewMappingFile(
- new StructuredSelection(this.getJpaProject().getProject()),
- getOrmXmlResourceName());
- }
-
- @Override
- protected String getDefaultMappingFileRuntimPath() {
- return JptJpaCorePlugin.DEFAULT_ORM_XML_RUNTIME_PATH.toString();
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaQueryMetadataConversionWizard.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaQueryMetadataConversionWizard.java
deleted file mode 100644
index 45590b5b0f..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaQueryMetadataConversionWizard.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
-
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.jpt.jpa.core.JpaProject;
-
-public class GenericJpaJavaQueryMetadataConversionWizard extends GenericJpaJavaGlobalMetadataConversionWizard {
-
- public GenericJpaJavaQueryMetadataConversionWizard(JpaProject jpaProject) {
- super(jpaProject);
- }
-
- @Override
- protected GenericJpaJavaQueryMetadataConversionWizardPage buildJpaMetadataConversionWizardPage() {
- return new GenericJpaJavaQueryMetadataConversionWizardPage(
- this.getPersistenceUnit(), this.mappingXmlModel, HELP_CONTEXT_ID);
- }
-
- @Override
- public boolean performFinish() {
- try {
- ((GenericJpaJavaQueryMetadataConversionWizardPage)
- super.jpaMetadataConversionWizardPage).performFinish();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- return true;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaQueryMetadataConversionWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaQueryMetadataConversionWizardPage.java
deleted file mode 100644
index dafcd851bd..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/GenericJpaJavaQueryMetadataConversionWizardPage.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.orm.EntityMappings;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
-
-public class GenericJpaJavaQueryMetadataConversionWizardPage extends
- GenericJpaJavaGlobalMetadataConversionWizardPage {
-
- public GenericJpaJavaQueryMetadataConversionWizardPage(
- PersistenceUnit persistenceUnit, SimplePropertyValueModel<String> model, String helpContextId) {
- super(persistenceUnit, model, helpContextId);
- }
-
-
- @Override
- protected String getWizardPageTitle() {
- return JptUiMessages.JpaJavaQueryMetadataConversionWizardPage_title;
- }
-
- @Override
- protected String getWizardPageDescription() {
- return JptUiMessages.JpaJavaQueryMetadataConversionWizardPage_description;
- }
-
- @Override
- protected void executeConversion(EntityMappings entityMappings, IProgressMonitor monitor) {
- persistenceUnit.convertJavaQueries(entityMappings, monitor);
- }
-
- @Override
- protected boolean hasConvertibleJavaGlobalMetadata() {
- return persistenceUnit.hasConvertibleJavaQueries();
- }
-
- @Override
- protected String getWarningMessageForNonExistentGlobals() {
- return JptUiMessages.JpaGlobalMetadataConversion_noQueryMetadataToConvert;
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JavaMetadataConversionWizard.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JavaMetadataConversionWizard.java
new file mode 100644
index 0000000000..fa2d215d37
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JavaMetadataConversionWizard.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
+import org.eclipse.jpt.jpa.ui.internal.JptUiIcons;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+
+public class JavaMetadataConversionWizard
+ extends Wizard
+{
+ private final JavaMetadataConversionWizardPage page;
+
+
+ public JavaMetadataConversionWizard(JavaMetadataConversionWizardPage page) {
+ super();
+ if (page == null) {
+ throw new NullPointerException();
+ }
+ this.page = page;
+ this.setWindowTitle(JptUiMessages.JavaMetadataConversionWizard_title);
+ this.setDefaultPageImageDescriptor(JptJpaUiPlugin.getImageDescriptor(JptUiIcons.JPA_FILE_WIZ_BANNER));
+ }
+
+ @Override
+ public void addPages() {
+ this.addPage(this.page);
+ }
+
+ @Override
+ public boolean performFinish() {
+ return this.page.performFinish();
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JavaMetadataConversionWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JavaMetadataConversionWizardPage.java
new file mode 100644
index 0000000000..159ee0d120
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JavaMetadataConversionWizardPage.java
@@ -0,0 +1,625 @@
+/*******************************************************************************
+ * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Iterator;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.IWorkspaceRunnable;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.core.runtime.jobs.ISchedulingRule;
+import org.eclipse.jface.dialogs.IMessageProvider;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.ViewerFilter;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.jpt.common.core.internal.utility.WorkspaceRunnableAdapter;
+import org.eclipse.jpt.common.core.resource.ProjectResourceLocator;
+import org.eclipse.jpt.common.ui.internal.util.SWTUtil;
+import org.eclipse.jpt.common.ui.internal.utility.SynchronousUiCommandExecutor;
+import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
+import org.eclipse.jpt.common.utility.command.Command;
+import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.jpt.common.utility.internal.Tools;
+import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent;
+import org.eclipse.jpt.common.utility.model.listener.PropertyChangeAdapter;
+import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.jpa.core.JpaProject;
+import org.eclipse.jpt.jpa.core.JpaProjectManager;
+import org.eclipse.jpt.jpa.core.JpaStructureNode;
+import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
+import org.eclipse.jpt.jpa.core.context.MappingFile;
+import org.eclipse.jpt.jpa.core.context.orm.EntityMappings;
+import org.eclipse.jpt.jpa.core.context.persistence.MappingFileRef;
+import org.eclipse.jpt.jpa.core.context.persistence.Persistence;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
+import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXml;
+import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource;
+import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
+import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
+import org.eclipse.jpt.jpa.ui.internal.jface.XmlMappingFileViewerFilter;
+import org.eclipse.jpt.jpa.ui.internal.wizards.SelectMappingFileDialog;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Link;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+
+public abstract class JavaMetadataConversionWizardPage
+ extends WizardPage
+{
+ /**
+ * The JPA project can<em>not</em> be <code>null</code>.
+ */
+ protected final JpaProject jpaProject;
+
+ /**
+ * The persistence unit can be <code>null</code>.
+ */
+ protected final PersistenceUnit persistenceUnit;
+ protected final boolean noConvertibleJavaMetadata;
+
+ private final SimplePropertyValueModel<String> mappingFileNameModel = new SimplePropertyValueModel<String>();
+
+ private static final String PAGE_NAME = "JavaMetadataConversion"; //$NON-NLS-1$
+ public static final String HELP_CONTEXT_ID = JptJpaUiPlugin.PLUGIN_ID_ + PAGE_NAME;
+
+
+ protected JavaMetadataConversionWizardPage(JpaProject jpaProject, String title, String description) {
+ super(PAGE_NAME);
+ if (jpaProject == null) {
+ throw new NullPointerException();
+ }
+ this.jpaProject = jpaProject;
+ this.persistenceUnit = this.buildPersistenceUnit();
+ this.mappingFileNameModel.setValue(this.buildDefaultMappingFileName());
+ this.setTitle(title);
+ this.setDescription(description);
+ this.noConvertibleJavaMetadata = this.hasNoConvertibleJavaMetadata();
+ }
+
+ /**
+ * Return the JPA project's <em>first</em> persistence unit.
+ */
+ protected PersistenceUnit buildPersistenceUnit() {
+ PersistenceXml persistenceXml = this.jpaProject.getRootContextNode().getPersistenceXml();
+ if (persistenceXml == null) {
+ return null;
+ }
+ Persistence persistence = persistenceXml.getPersistence();
+ if (persistence == null) {
+ return null;
+ }
+ Iterator<PersistenceUnit> stream = persistence.getPersistenceUnits().iterator();
+ return stream.hasNext() ? stream.next() : null;
+ }
+
+ protected String buildDefaultMappingFileName() {
+ IPath path = this.buildDefaultMappingFilePath();
+ return (path == null) ? null : path.toString();
+ }
+
+ protected IPath buildDefaultMappingFilePath() {
+ IPath path = this.getFirstMappingFilePath();
+ return (path == null) ? this.getDefaultMappingFileRuntimPath() : this.convertToRuntimPath(path);
+ }
+
+ protected abstract IPath getDefaultMappingFileRuntimPath();
+
+ /**
+ * Return the JPA project's <em>first</em> mapping file with the
+ * {@link #getMappingFileContentType() default content type}.
+ */
+ protected IPath getFirstMappingFilePath() {
+ if (this.persistenceUnit == null) {
+ return null;
+ }
+ for (MappingFileRef ref : this.persistenceUnit.getMappingFileRefs()) {
+ MappingFile mappingFile = ref.getMappingFile();
+ if (mappingFile != null) {
+ IFile file = mappingFile.getXmlResource().getFile();
+ if (this.jpaProject.getJpaFile(file).getContentType().isKindOf(this.getMappingFileContentType())) {
+ return file.getFullPath();
+ }
+ }
+ }
+ return null;
+ }
+
+ protected IContentType getMappingFileContentType() {
+ return JptJpaCorePlugin.MAPPING_FILE_CONTENT_TYPE;
+ }
+
+ protected IPath convertToRuntimPath(IPath path) {
+ ProjectResourceLocator locator = (ProjectResourceLocator) this.jpaProject.getProject().getAdapter(ProjectResourceLocator.class);
+ return locator.getRuntimePath(path);
+ }
+
+
+ // ********** missing metadata warning message **********
+
+ protected final boolean hasNoConvertibleJavaMetadata() {
+ return ! this.hasConvertibleJavaMetadata();
+ }
+
+ protected final boolean hasConvertibleJavaMetadata() {
+ return (this.persistenceUnit != null) && this.hasConvertibleJavaMetadata_();
+ }
+
+ /**
+ * Pre-condition: the {@link #persistenceUnit persistence unit}
+ * is not <code>null</code>.
+ */
+ protected abstract boolean hasConvertibleJavaMetadata_();
+
+ protected abstract String getMissingJavaMetadataWarningMessage();
+
+
+ // ********** UI control **********
+
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NULL);
+ composite.setLayout(new GridLayout());
+
+ Label pageLabel = new Label(composite, SWT.NONE);
+ pageLabel.setText(JptUiMessages.JavaMetadataConversionWizardPage_label);
+ pageLabel.setBounds(3, 230, 150, 12);
+
+ Control mappingFileControl = this.createMappingFileControl(composite);
+ GridData data = new GridData(GridData.FILL_HORIZONTAL);
+ data.heightHint = 58;
+ data.grabExcessHorizontalSpace = true;
+ mappingFileControl.setLayoutData(data);
+
+ Text noteTextField = new Text(composite, SWT.READ_ONLY | SWT.MULTI);
+ noteTextField.setText(NLS.bind(JptUiMessages.JavaMetadataConversion_warning, StringTools.CR));
+ noteTextField.setFont(new Font(composite.getDisplay(), "Arial", 10, SWT.EMBEDDED)); //$NON-NLS-1$
+ noteTextField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true, 1, 1));
+
+ this.setControl(composite);
+
+ // no need to remove this listener, since we build the model ourselves
+ this.mappingFileNameModel.addPropertyChangeListener(PropertyValueModel.VALUE, this.buildMappingFileNameListener());
+ this.setPageComplete(this.getOrmXmlResource() != null);
+ }
+
+ protected Control createMappingFileControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NULL);
+ composite.setLayout(new GridLayout(3, false));
+
+ Link link = new Link(composite, SWT.LEFT);
+ link.setText(JptUiMessages.JavaMetadataConversionWizardPage_newMappingFileLink);
+ link.setToolTipText(JptUiMessages.JavaMetadataConversionWizardPage_newMappingFileLinkToolTip);
+ link.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
+ link.addSelectionListener(this.buildMappingFileLinkListener());
+
+ Text nameTextField = new Text(composite, SWT.SEARCH | SWT.SINGLE);
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.grabExcessVerticalSpace = true;
+ gridData.widthHint = 486;
+ gridData.heightHint = 14;
+ gridData.horizontalSpan = 1;
+ gridData.grabExcessHorizontalSpace = true;
+ nameTextField.setLayoutData(gridData);
+ SWTTools.bind(this.mappingFileNameModel, nameTextField);
+
+ Button browseButton = new Button(composite, SWT.CENTER);
+ browseButton.setToolTipText(JptUiMessages.JavaMetadataConversionWizardPage_mappingFileBrowseButtonToolTip);
+ browseButton.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
+ browseButton.setText(JptUiMessages.JavaMetadataConversionWizardPage_mappingFileBrowseButton);
+ browseButton.addSelectionListener(this.buildMappingFileBrowseButtonListener());
+
+ return composite;
+ }
+
+
+ // ********** mapping file name listener **********
+
+ protected PropertyChangeListener buildMappingFileNameListener() {
+ return new MappingFileNameListener();
+ }
+
+ protected class MappingFileNameListener
+ extends PropertyChangeAdapter
+ {
+ @Override
+ public void propertyChanged(PropertyChangeEvent event) {
+ JavaMetadataConversionWizardPage.this.validate();
+ }
+ }
+
+ protected void validate() {
+ String errorMessage = this.buildErrorMessage();
+ this.setErrorMessage(errorMessage);
+ this.setPageComplete(errorMessage == null);
+ }
+
+ protected String buildErrorMessage() {
+ JpaXmlResource ormXmlResource = this.getOrmXmlResource();
+ if (ormXmlResource == null) {
+ return JptUiMessages.JavaMetadataConversion_mappingFileDoesNotExist;
+ }
+ String mappingFileVersion = ormXmlResource.getVersion();
+ String jpaProjectVersion = this.getJpaProjectVersion();
+ if (Tools.valuesAreDifferent(mappingFileVersion, jpaProjectVersion)) {
+ return NLS.bind(JptUiMessages.JavaMetadataConversion_mappingFileVersionIsInvalid, mappingFileVersion, jpaProjectVersion);
+ }
+ if (this.getEntityMappings(ormXmlResource) == null) {
+ return JptUiMessages.JavaMetadataConversion_mappingFileNotListedInPersistenceXml;
+ }
+ if (this.noConvertibleJavaMetadata) {
+ this.setMessage(this.getMissingJavaMetadataWarningMessage(), IMessageProvider.WARNING);
+ }
+ return null;
+ }
+
+ protected EntityMappings getEntityMappings() {
+ return this.getEntityMappings(this.getOrmXmlResource());
+ }
+
+ protected EntityMappings getEntityMappings(JpaXmlResource ormXmlResource) {
+ return (ormXmlResource == null) ? null : this.getEntityMappings_(ormXmlResource);
+ }
+
+ /**
+ * Pre-condition: the specified <code>orm.xml</code> resource is
+ * not <code>null</code>.
+ */
+ protected EntityMappings getEntityMappings_(JpaXmlResource ormXmlResource) {
+ Iterator<JpaStructureNode> nodes = this.jpaProject.getJpaFile(ormXmlResource.getFile()).getRootStructureNodes().iterator();
+ return nodes.hasNext() ? (EntityMappings) nodes.next() : null;
+ }
+
+ protected JpaXmlResource getOrmXmlResource() {
+ IPath mappingFilePath = this.getMappingFilePath();
+ return (mappingFilePath == null) ? null : this.jpaProject.getMappingFileXmlResource(mappingFilePath);
+ }
+
+ protected IPath getMappingFilePath() {
+ String mappingFileName = this.getMappingFileName();
+ return StringTools.stringIsEmpty(mappingFileName) ? null : new Path(mappingFileName);
+ }
+
+ protected String getMappingFileName() {
+ String mappingFileName = this.mappingFileNameModel.getValue();
+ return StringTools.stringIsEmpty(mappingFileName) ? null : mappingFileName;
+ }
+
+ protected String getJpaProjectVersion(){
+ return this.jpaProject.getJpaPlatform().getJpaVersion().getVersion();
+ }
+
+
+ // ********** mapping file link listener **********
+
+ protected SelectionListener buildMappingFileLinkListener() {
+ return new MappingFileLinkListener();
+ }
+
+ protected class MappingFileLinkListener
+ extends SelectionAdapter
+ {
+ @Override
+ public void widgetSelected(SelectionEvent event) {
+ JavaMetadataConversionWizardPage.this.mappingFileLinkPressed();
+ }
+ }
+
+ protected void mappingFileLinkPressed() {
+ IPath path = this.openNewMappingFileWizard();
+ if (path != null) {
+ this.mappingFileNameModel.setValue(path.toString());
+ // revalidate because the mapping file may have been created
+ this.validate();
+ }
+ }
+
+ protected abstract IPath openNewMappingFileWizard();
+
+
+ // ********** mapping file browse button listener **********
+
+ protected SelectionListener buildMappingFileBrowseButtonListener() {
+ return new MappingFileBrowseButtonListener();
+ }
+
+ protected class MappingFileBrowseButtonListener
+ extends SelectionAdapter
+ {
+ @Override
+ public void widgetSelected(SelectionEvent event) {
+ JavaMetadataConversionWizardPage.this.mappingFileBrowseButtonPressed();
+ }
+ }
+
+ protected void mappingFileBrowseButtonPressed() {
+ IProject project = this.jpaProject.getProject();
+ SelectMappingFileDialog dialog = this.buildSelectMappingFileDialog();
+ dialog.setTitle(JptUiMessages.SelectMappingFileDialog_title);
+ dialog.setMessage(JptUiMessages.SelectMappingFileDialog_message);
+ dialog.addFilter(this.buildSelectMappingFileDialogViewerFilter());
+ dialog.setInput(project);
+
+ JpaXmlResource resource = this.getOrmXmlResource();
+ IFile file = (resource == null) ? null : resource.getFile();
+ if (file != null) {
+ dialog.setInitialSelection(file);
+ }
+ if (dialog.open() == Window.OK) {
+ this.mappingFileNameModel.setValue(dialog.getChosenName());
+ // revalidate because the mapping file may have been created
+ this.validate();
+ }
+ }
+
+ protected abstract SelectMappingFileDialog buildSelectMappingFileDialog();
+
+ protected ViewerFilter buildSelectMappingFileDialogViewerFilter() {
+ return new XmlMappingFileViewerFilter(this.jpaProject, this.getMappingFileContentType());
+ }
+
+
+ // ********** finish => conversion **********
+
+ protected boolean performFinish() {
+ return this.isOKToConvert() && this.performFinish_();
+ }
+
+ protected boolean isOKToConvert() {
+ return this.hasConvertibleJavaMetadata();
+ }
+
+ protected boolean performFinish_() {
+ // true=fork; true=cancellable
+ try {
+ this.buildProgressMonitorDialog().run(true, true, this.buildConversionRunnable());
+ } catch (InvocationTargetException ex) {
+ JptJpaUiPlugin.log(ex);
+ } catch (InterruptedException ex) {
+ Thread.currentThread().interrupt(); // runnable cancelled
+ }
+ return true;
+ }
+
+ protected ProgressMonitorDialog buildProgressMonitorDialog() {
+ return new ProgressMonitorDialog(this.getShell());
+ }
+
+ protected IRunnableWithProgress buildConversionRunnable() {
+ return new ConversionRunnable(this.getConversionCommandStrategy(), this.getEntityMappings());
+ }
+
+ protected abstract ConversionCommand.Strategy getConversionCommandStrategy();
+
+ /**
+ * UI runnable
+ */
+ protected static class ConversionRunnable
+ implements IRunnableWithProgress
+ {
+ protected final ConversionCommand.Strategy conversionCommandStrategy;
+ protected final EntityMappings entityMappings;
+
+ protected ConversionRunnable(ConversionCommand.Strategy conversionCommandStrategy, EntityMappings entityMappings) {
+ super();
+ if ((conversionCommandStrategy == null) || (entityMappings == null)) {
+ throw new NullPointerException();
+ }
+ this.conversionCommandStrategy = conversionCommandStrategy;
+ this.entityMappings = entityMappings;
+ }
+
+ public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+ IWorkspace ws = ResourcesPlugin.getWorkspace();
+ ISchedulingRule rule = ws.getRuleFactory().modifyRule(ws.getRoot());
+ try {
+ ws.run(this.buildWorkspaceRunnable(), rule, IWorkspace.AVOID_UPDATE, monitor);
+ } catch (CoreException ex) {
+ if (ex.getStatus().getSeverity() == IStatus.CANCEL) {
+ throw new InterruptedException(); // ???
+ }
+ throw new InvocationTargetException(ex);
+ }
+ }
+
+ protected void run_(IProgressMonitor monitor) {
+ Command conversionCommand = new ConversionCommand(this.conversionCommandStrategy, this.entityMappings, monitor);
+ try {
+ this.getJpaProjectManager().execute(conversionCommand, SynchronousUiCommandExecutor.instance());
+ } catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ throw new OperationCanceledException();
+ }
+ }
+
+ protected IWorkspaceRunnable buildWorkspaceRunnable() {
+ return new WorkspaceRunnable();
+ }
+
+ protected JpaProjectManager getJpaProjectManager() {
+ return (JpaProjectManager) this.getWorkspace().getAdapter(JpaProjectManager.class);
+ }
+
+ protected IWorkspace getWorkspace() {
+ return this.entityMappings.getParent().getXmlResource().getFile().getWorkspace();
+ }
+
+ @Override
+ public String toString() {
+ return StringTools.buildToStringFor(this);
+ }
+
+ /**
+ * Workspace runnable
+ */
+ protected class WorkspaceRunnable
+ extends WorkspaceRunnableAdapter
+ {
+ @Override
+ public void run(IProgressMonitor monitor) throws CoreException {
+ ConversionRunnable.this.run_(monitor);
+ }
+ }
+ }
+
+
+ /**
+ * Conversion command.
+ * This is dispatched to the JPA project manager.
+ */
+ protected static class ConversionCommand
+ implements Command
+ {
+ protected final Strategy strategy;
+ protected final EntityMappings entityMappings;
+ protected final IProgressMonitor monitor;
+
+ protected ConversionCommand(Strategy strategy, EntityMappings entityMappings, IProgressMonitor monitor) {
+ super();
+ if ((strategy == null) || (entityMappings == null) || (monitor == null)) {
+ throw new NullPointerException();
+ }
+ this.strategy = strategy;
+ this.entityMappings = entityMappings;
+ this.monitor = monitor;
+ }
+
+ public void execute() {
+ this.strategy.execute(this.entityMappings, this.monitor);
+ this.getOrmXmlResource().save();
+ this.saveAllFiles();
+ this.openEditorOnMappingFile();
+ }
+
+ protected JpaXmlResource getOrmXmlResource() {
+ return this.entityMappings.getParent().getXmlResource();
+ }
+
+ protected void saveAllFiles() {
+ SWTUtil.asyncExec(this.buildSaveAllFilesRunnable());
+ }
+
+ protected Runnable buildSaveAllFilesRunnable() {
+ return new SaveFilesRunnable(this.getProject());
+ }
+
+ protected IProject getProject() {
+ return this.entityMappings.getJpaProject().getProject();
+ }
+
+ protected void openEditorOnMappingFile() {
+ SWTUtil.asyncExec(this.buildOpenEditorOnMappingFileRunnable());
+ }
+
+ protected Runnable buildOpenEditorOnMappingFileRunnable() {
+ return new OpenEditorRunnable(this.getOrmXmlResource().getFile());
+ }
+
+ @Override
+ public String toString() {
+ return StringTools.buildToStringFor(this, this.entityMappings.getPersistenceUnit());
+ }
+
+ public interface Strategy {
+ void execute(EntityMappings entityMappings, IProgressMonitor monitor);
+ }
+ }
+
+
+ // ********** save files **********
+
+ protected static class SaveFilesRunnable
+ implements Runnable
+ {
+ protected final IResource[] resourceRoots;
+
+ protected SaveFilesRunnable(IProject project) {
+ super();
+ if (project == null) {
+ throw new NullPointerException();
+ }
+ this.resourceRoots = new IResource[] { project };
+ }
+
+ public void run() {
+ IDE.saveAllEditors(this.resourceRoots, false); // false=no confirm
+ }
+
+ @Override
+ public String toString() {
+ return StringTools.buildToStringFor(this, this.resourceRoots[0]);
+ }
+ }
+
+
+ // ********** open editor **********
+
+ protected static class OpenEditorRunnable
+ implements Runnable
+ {
+ protected final IFile file;
+
+ protected OpenEditorRunnable(IFile file) {
+ super();
+ if (file == null) {
+ throw new NullPointerException();
+ }
+ this.file = file;
+ }
+
+ public void run() {
+ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+ try {
+ IDE.openEditor(page, this.file);
+ } catch (PartInitException ex) {
+ JptJpaUiPlugin.log(ex);
+ }
+ }
+
+ @Override
+ public String toString() {
+ return StringTools.buildToStringFor(this, this.file);
+ }
+ }
+
+
+ // ********** misc **********
+
+ @Override
+ public final void performHelp() {
+ PlatformUI.getWorkbench().getHelpSystem().displayHelp(HELP_CONTEXT_ID);
+ }
+}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JpaJavaGlobalMetadataConversionWizard.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JpaJavaGlobalMetadataConversionWizard.java
deleted file mode 100644
index c15a78af1c..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JpaJavaGlobalMetadataConversionWizard.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
-import java.io.File;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.resource.LocalResourceManager;
-import org.eclipse.jface.resource.ResourceManager;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jpt.common.core.internal.resource.ResourceLocatorManager;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.MappingFile;
-import org.eclipse.jpt.jpa.core.context.persistence.Persistence;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXml;
-import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource;
-import org.eclipse.jpt.jpa.ui.JptJpaUiPlugin;
-import org.eclipse.jpt.jpa.ui.internal.JptUiIcons;
-import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.wizards.SelectJPAProjectWizardPage;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-public abstract class JpaJavaGlobalMetadataConversionWizard extends Wizard {
- public static final String HELP_CONTEXT_ID = JptJpaUiPlugin.PLUGIN_ID + ".GLobalMetadataConversion"; //$NON-NLS-1$
-
- protected JpaProject jpaProject;
- protected final ResourceManager resourceManager;
- protected SimplePropertyValueModel<String> mappingXmlModel;
- protected IStructuredSelection selection;
-
- private SelectJPAProjectWizardPage selectJPAProjectWizardPage;
- protected JpaJavaGlobalMetadataConversionWizardPage<?> jpaMetadataConversionWizardPage;
-
- public JpaJavaGlobalMetadataConversionWizard(JpaProject jpaProject) {
- this.jpaProject = jpaProject;
- this.resourceManager = new LocalResourceManager(JFaceResources.getResources());
- this.mappingXmlModel = new SimplePropertyValueModel<String>();
- this.setWindowTitle(JptUiMessages.JpaGlobalMetadataConversionWizard_title);
- this.setDefaultPageImageDescriptor(JptJpaUiPlugin.getImageDescriptor(JptUiIcons.JPA_FILE_WIZ_BANNER));
- return;
- }
-
- @Override
- public void addPages() {
- if( this.jpaProject == null ){
- this.selectJPAProjectWizardPage= new SelectJPAProjectWizardPage(HELP_CONTEXT_ID);
- this.addPage(this.selectJPAProjectWizardPage);
- return;
- }
- setMappingXml();
- addMainPages();
- }
-
- protected void addMainPages(){
- this.jpaMetadataConversionWizardPage = buildJpaMetadataConversionWizardPage();
- this.addPage(jpaMetadataConversionWizardPage);
- }
-
- @Override
- public boolean performFinish() {
- return true;
- }
-
- protected PersistenceUnit getPersistenceUnit() {
- PersistenceXml persistenceXml = this.jpaProject.getRootContextNode().getPersistenceXml();
- if (persistenceXml != null) {
- Persistence persistence = persistenceXml.getPersistence();
- if (persistence != null && persistence.getPersistenceUnitsSize() > 0) {
- for (PersistenceUnit pu : persistence.getPersistenceUnits())
- return pu; // return the first persistence unit
- }
- }
- return null;
- }
-
- public void setJpaProject(JpaProject jpaProject) {
- if (this.jpaProject == null) {
- this.jpaProject = jpaProject;
- IWizardPage currentPage = getContainer().getCurrentPage();
- if (this.selectJPAProjectWizardPage != null && currentPage.equals(this.selectJPAProjectWizardPage)) {
- setMappingXml();
- buildJpaMetadataConversionWizardPage();
- }
- }
- }
-
- @Override
- public void dispose() {
- this.resourceManager.dispose();
- super.dispose();
- }
-
- protected void setMappingXml() {
- if (getFirstAvaliableMappingFile() == null) {
- this.mappingXmlModel.setValue(null);
- } else
- if (getDefaultOrmXmlResource() != null) {
- this.mappingXmlModel.setValue(getDefaultMappingFileRuntimPath());
- } else {
- this.mappingXmlModel.setValue(getMappingFileRuntimPath(getFirstAvaliableMappingFile()));
- }
- }
-
- protected String getMappingFileRuntimPath(MappingFile mappingFile) {
- if (mappingFile != null) {
- IPath resourcePath = mappingFile.getXmlResource().getFile().getFullPath();
- IProject project = jpaProject.getProject();
- @SuppressWarnings("restriction")
- String runtimePath = ResourceLocatorManager.instance().getResourceLocator(project).
- getRuntimePath(project, resourcePath).toOSString();
- return runtimePath.replace(File.separatorChar, '/');
- }
- return null;
- }
-
- protected JpaXmlResource getDefaultOrmXmlResource() {
- return jpaProject.getMappingFileXmlResource(new Path(getDefaultMappingFileRuntimPath()));
- }
-
- protected static Shell getCurrentShell() {
- return Display.getCurrent().getActiveShell();
- }
-
- // ************ abstract methods ***************
-
- abstract protected JpaJavaGlobalMetadataConversionWizardPage<?> buildJpaMetadataConversionWizardPage();
-
- abstract protected String getDefaultMappingFileRuntimPath();
-
- abstract protected MappingFile getFirstAvaliableMappingFile();
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JpaJavaGlobalMetadataConversionWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JpaJavaGlobalMetadataConversionWizardPage.java
deleted file mode 100644
index 7bdd2e66be..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/conversion/java/JpaJavaGlobalMetadataConversionWizardPage.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011, 2012 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.jpa.ui.internal.wizards.conversion.java;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jpt.common.ui.internal.utility.SynchronousUiCommandExecutor;
-import org.eclipse.jpt.common.ui.internal.utility.swt.SWTTools;
-import org.eclipse.jpt.common.utility.command.Command;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent;
-import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener;
-import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaProjectManager;
-import org.eclipse.jpt.jpa.core.context.orm.EntityMappings;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.internal.operations.OrmFileCreationDataModelProvider;
-import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource;
-import org.eclipse.jpt.jpa.ui.internal.JptUiMessages;
-import org.eclipse.jpt.jpa.ui.internal.wizards.SelectJpaOrmMappingFileDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-
-public abstract class JpaJavaGlobalMetadataConversionWizardPage<P extends PersistenceUnit>
-extends WizardPage {
-
- private static String METADATA_CONVERSION_PAGE_NAME = "MetadataConversion"; //$NON-NLS-1$
- protected final P persistenceUnit;
- private final ModifiablePropertyValueModel<String> mappingFileModel;
-
- private final String helpContextId;
-
- public JpaJavaGlobalMetadataConversionWizardPage(
- final P persistenceUnit, SimplePropertyValueModel<String> model, final String helpContextId) {
- super(METADATA_CONVERSION_PAGE_NAME);
- this.persistenceUnit = persistenceUnit;
- this.mappingFileModel = model;
- this.helpContextId = helpContextId;
- setTitle(this.getWizardPageTitle());
- setDescription(this.getWizardPageDescription());
- }
-
- public void createControl(Composite parent) {
-
- Composite composite = new Composite(parent, SWT.NULL);
-
- GridLayout layout = new GridLayout();
- composite.setLayout(layout);
-
- Label WizardPageLbl = new Label(composite, SWT.NONE);
- WizardPageLbl.setText(JptUiMessages.JpaGlobalMetadataConversionWizardPage_label);
- WizardPageLbl.setBounds(3, 230, 150, 12);
-
- Composite mappingFileComposite = this.createMappingFileControl(composite);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.heightHint = 58;
- data.grabExcessHorizontalSpace = true;
- mappingFileComposite.setLayoutData(data);
- setControl(composite);
-
- String message = org.eclipse.osgi.util.NLS.bind(
- JptUiMessages.JpaGlobalMetadataConversion_convertingJpaGlobalMetadataWarning, StringTools.CR);
- Text noteText = new Text(composite, SWT.READ_ONLY | SWT.MULTI);
- Font font = new Font(composite.getDisplay(), "Arial", 10, SWT.EMBEDDED);
- noteText.setText(message);
- noteText.setFont(font);
- noteText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true, 1, 1));
-
- setPageComplete(this.mappingFileModel.getValue() != null);
- }
-
- private Composite createMappingFileControl(Composite parent) {
- Composite composite = new Composite(parent, SWT.NULL);
- int nColumns = 3;
- GridLayout layout = new GridLayout();
- layout.numColumns = nColumns;
- composite.setLayout(layout);
-
- final Link mappingFileLink = new Link(composite, SWT.LEFT);
- mappingFileLink.setText(JptUiMessages.JpaGlobalMetadataConversionWizardPage_newMappingFileLink);
- mappingFileLink.setToolTipText(JptUiMessages.JpaGlobalMetadataConversionWizardPage_newMappingFileLinkToolTip);
- mappingFileLink.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
- mappingFileLink.addSelectionListener(
- new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- openNewMappingFileWizard();
- }
- });
-
- Text mappingFileNameTextField = createMappingFileNameText(composite, 1);
- SWTTools.bind(this.mappingFileModel, mappingFileNameTextField);
- this.mappingFileModel.addPropertyChangeListener(PropertyValueModel.VALUE, new PropertyChangeListener() {
- public void propertyChanged(PropertyChangeEvent event) {
- validate();
- }
- });
-
- Button mappingFileBrowseBtn = new Button(composite, SWT.CENTER);
- mappingFileBrowseBtn.setToolTipText(JptUiMessages.JpaGlobalMetadataConversionWizardPage_browseMappingFileBtnToolTip);
- mappingFileBrowseBtn.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
- mappingFileBrowseBtn.setText(JptUiMessages.JpaGlobalMetadataConversionWizardPage_browseMappingFileBtn);
- mappingFileBrowseBtn.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- mappingFileBrowseBtnPressed();
- }
- });
-
- return composite;
- }
-
- private Text createMappingFileNameText(Composite parent, int span) {
- Text text = new Text(parent, SWT.SEARCH | SWT.SINGLE);
- text.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- }
- });
-
- GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
- gridData.grabExcessVerticalSpace = true;
- gridData.widthHint = 486;
- gridData.heightHint = 14;
- gridData.horizontalSpan = span;
- gridData.grabExcessHorizontalSpace = true;
-
- text.setLayoutData(gridData);
-
- return text;
- }
-
- protected void mappingFileBrowseBtnPressed() {
- IProject project = this.getJpaProject().getProject();
- ViewerFilter filter = this.buildSelectMappingFileDialogViewerFilter();
- ITreeContentProvider contentProvider = new WorkbenchContentProvider();
- ILabelProvider labelProvider = new WorkbenchLabelProvider();
- SelectJpaOrmMappingFileDialog dialog = buildSelectMappingFileDialog(getShell(), project, labelProvider, contentProvider);
- dialog.setTitle(JptUiMessages.SelectJpaOrmMappingFileDialog_title);
- dialog.setMessage(JptUiMessages.SelectJpaOrmMappingFileDialog_message);
- dialog.addFilter(filter);
- dialog.setInput(project);
-
- JpaXmlResource resource = this.getJpaProject().getMappingFileXmlResource(new Path(getMappingFileRuntimePath()));
- IFile file = (resource == null) ? null : resource.getFile();
- if (file != null) {
- dialog.setInitialSelection(file);
- }
- if (dialog.open() == org.eclipse.jface.window.Window.OK) {
- this.mappingFileModel.setValue(dialog.getChosenName());
- }
- }
-
- protected JpaProject getJpaProject() {
- return this.persistenceUnit.getJpaProject();
- }
-
- protected void openNewMappingFileWizard() {
- IPath path = getMappingFilePath();
- if (path != null) {
- this.mappingFileModel.setValue(path.toString());
- }
- }
-
- protected String getMappingFileRuntimePath() {
- if (this.mappingFileModel.getValue() != null) {
- return this.mappingFileModel.getValue();
- }
- return getDefaultMappingFileRuntimPath();
- }
-
- protected String getDefaultOrmXmlResourceName() {
- return new File(getDefaultMappingFileRuntimPath()).getName();
- }
-
- protected JpaXmlResource getDefaultOrmXmlResource() {
- return getJpaProject().getMappingFileXmlResource(new Path(getDefaultMappingFileRuntimPath()));
- }
-
- protected String getOrmXmlResourceName() {
- return new File(getMappingFileRuntimePath()).getName();
- }
-
- protected JpaXmlResource getOrmXmlResource() {
- return getJpaProject().getMappingFileXmlResource(new Path(getMappingFileRuntimePath()));
- }
-
- @Override
- public final void performHelp() {
- PlatformUI.getWorkbench().getHelpSystem().displayHelp(this.helpContextId);
- }
-
- public void performFinish() throws InvocationTargetException {
- try {
- // true=fork; true=cancellable
- this.buildPerformFinishProgressMonitorDialog().run(true, true, this.buildPerformFinishRunableWithProgress());
- }
- catch (InterruptedException ex) {
- ex.printStackTrace();
- }
- }
-
- protected ProgressMonitorDialog buildPerformFinishProgressMonitorDialog() {
- return new ProgressMonitorDialog(getControl().getShell());
- }
-
- protected IRunnableWithProgress buildPerformFinishRunableWithProgress() {
- return new IRunnableWithProgress() {
- public void run( final IProgressMonitor monitor) throws InvocationTargetException {
- IWorkspace ws = ResourcesPlugin.getWorkspace();
- ISchedulingRule rule = ws.getRuleFactory().modifyRule(ws.getRoot());
- try {
- ws.run(
- buildPerformFinishWorkspaceRunnable(),
- rule,
- IWorkspace.AVOID_UPDATE,
- monitor);
- }
- catch (CoreException ex) {
- throw new InvocationTargetException(ex);
- }
- }
- };
- }
-
- private IWorkspaceRunnable buildPerformFinishWorkspaceRunnable() {
- return new IWorkspaceRunnable() {
- public void run(IProgressMonitor monitor) throws CoreException {
- Command syncCommand = new SyncCommand(persistenceUnit, monitor);
- try {
- JpaJavaGlobalMetadataConversionWizardPage.this.getJpaProjectManager().
- execute(syncCommand, SynchronousUiCommandExecutor.instance());
- } catch (InterruptedException ex) {
- throw new RuntimeException(ex);
- }
- }
- };
- }
-
- private JpaProjectManager getJpaProjectManager() {
- return (JpaProjectManager) this.getWorkspace().getAdapter(JpaProjectManager.class);
- }
-
- private IWorkspace getWorkspace() {
- return ResourcesPlugin.getWorkspace();
- }
-
- protected IDataModelProvider getDefaultProvider() {
- return new OrmFileCreationDataModelProvider();
- }
-
- protected String getMappingFileVersion(){
- return getOrmXmlResource().getVersion();
- }
-
- protected String getJpaProjectVersion(){
- return getJpaProject().getJpaPlatform().getJpaVersion().getVersion();
- }
-
- protected void validate() {
- String errorMessage = null;
- JpaXmlResource ormXmlResource = getOrmXmlResource();
- if (ormXmlResource == null) {
- errorMessage = JptUiMessages.JpaGlobalMetadataConversion_mappingFileDoesNotExist;
- } else
- if (!StringTools.stringsAreEqual(getMappingFileVersion(),getJpaProjectVersion())) {
- errorMessage = JptUiMessages.JpaGlobalMetadataConversion_mappingFileHasInvalidVersion;
- }
- else
- if (getJpaProject().getJpaFile(ormXmlResource.getFile()).getRootStructureNodesSize() == 0) {
- errorMessage = JptUiMessages.JpaGlobalMetadataConversion_mappingFileNotListedInPersistenceXml;
- }
- if ( ! this.hasConvertibleJavaGlobalMetadata()) {
- String message = getWarningMessageForNonExistentGlobals();
- setMessage(message, 2);
- }
- setErrorMessage(errorMessage);
- setPageComplete(errorMessage == null);
- }
-
- // ********* abstract methods *************
-
- abstract protected String getWizardPageTitle();
-
- abstract protected String getWizardPageDescription();
-
- abstract protected ViewerFilter buildSelectMappingFileDialogViewerFilter();
-
- abstract protected SelectJpaOrmMappingFileDialog buildSelectMappingFileDialog
- (Shell shell, IProject project, ILabelProvider lp, ITreeContentProvider cp);
-
- abstract protected IPath getMappingFilePath();
-
- abstract protected String getDefaultMappingFileRuntimPath();
-
- abstract protected void executeConversion(EntityMappings entityMappings, IProgressMonitor monitor);
-
- abstract protected boolean hasConvertibleJavaGlobalMetadata();
-
- abstract protected String getWarningMessageForNonExistentGlobals();
-
- // ********** sync command **********
-
- /**
- * This is dispatched to the JPA project manager.
- */
- class SyncCommand implements Command {
- private final PersistenceUnit persistenceUnit;
- private final IProgressMonitor monitor;
-
- SyncCommand(PersistenceUnit persistenceUnit, IProgressMonitor monitor) {
- super();
- this.persistenceUnit = persistenceUnit;
- this.monitor = monitor;
- }
-
- public void execute() {
- JpaXmlResource ormXmlResource = getOrmXmlResource();
- final EntityMappings entityMappings = getEntityMappings();
- execute(entityMappings).run();
- ormXmlResource.save();
- saveFiles(JpaJavaGlobalMetadataConversionWizardPage.this.getJpaProject());
- openEditor();
- }
-
- private Runnable execute(final EntityMappings entityMappings) {
- return (new Runnable() {
- public void run() {
- executeConversion(entityMappings, monitor);
- }});
- }
-
- @Override
- public String toString() {
- return StringTools.buildToStringFor(this, this.persistenceUnit);
- }
- }
-
- protected EntityMappings getEntityMappings() {
- JpaXmlResource xmlResource = getOrmXmlResource();
- return (EntityMappings) getJpaProject().getJpaFile(xmlResource.getFile()).getRootStructureNodes().iterator().next();
- }
-
- protected void saveFiles(final JpaProject jpaProject) {
- Display.getDefault().asyncExec(new Runnable() {
- public void run() {
- IDE.saveAllEditors(new IResource[]{jpaProject.getProject()}, false);
- }
- });
- }
-
- protected void openEditor() {
- Display.getDefault().asyncExec(new Runnable() {
- public void run() {
- getConversionCompletedAction().run();
- }
- });
- }
-
- protected Action getConversionCompletedAction() {
- return new Action() {
- @Override
- public void run() {
- JpaXmlResource resource = getJpaProject().getMappingFileXmlResource(new Path(getMappingFileRuntimePath()));
- IFile file = resource.getFile();
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- try {
- IDE.openEditor(page, file, true);
- } catch (PartInitException e) {
- e.printStackTrace();
- }
- }
- };
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/entity/EntityClassWizardPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/entity/EntityClassWizardPage.java
index e0a187b5dd..249a70c579 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/entity/EntityClassWizardPage.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/entity/EntityClassWizardPage.java
@@ -35,7 +35,7 @@ import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource;
import org.eclipse.jpt.jpa.ui.internal.JpaHelpContextIds;
import org.eclipse.jpt.jpa.ui.internal.jface.XmlMappingFileViewerFilter;
-import org.eclipse.jpt.jpa.ui.internal.wizards.SelectJpaOrmMappingFileDialog;
+import org.eclipse.jpt.jpa.ui.internal.wizards.SelectMappingFileDialog;
import org.eclipse.jpt.jpa.ui.internal.wizards.entity.data.model.IEntityDataModelProperties;
import org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties;
import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
@@ -342,7 +342,7 @@ public class EntityClassWizardPage
ViewerFilter filter = getDialogViewerFilter(jpaProject);
ITreeContentProvider contentProvider = new WorkbenchContentProvider();
ILabelProvider labelProvider = new WorkbenchLabelProvider();
- SelectJpaOrmMappingFileDialog dialog = new SelectJpaOrmMappingFileDialog(getShell(), project, labelProvider, contentProvider);
+ SelectMappingFileDialog dialog = new SelectMappingFileDialog(getShell(), project, labelProvider, contentProvider);
dialog.setTitle(EntityWizardMsg.MAPPING_XML_TITLE);
dialog.setMessage(EntityWizardMsg.CHOOSE_MAPPING_XML_MESSAGE);
dialog.addFilter(filter);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/orm/EmbeddedMappingFileWizard.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/orm/EmbeddedMappingFileWizard.java
index 1c1072c284..2cddf4578c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/orm/EmbeddedMappingFileWizard.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/wizards/orm/EmbeddedMappingFileWizard.java
@@ -16,19 +16,30 @@ import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
/**
- * This wizard will create a new mapping file without open it afterwards.
- * It is used within other wizards where opening mapping file is unnecessary,
- * therefore, making the whole process more smooth.
- * This wizard has one more attribute called <code> DEFAULT_XML_FILE_NAME </code>
- * used when the given XML file name is null to avoid NullPointerException.
+ * This wizard will create a new mapping file without opening it afterwards.
+ * It can be used within other wizards where opening the mapping file is
+ * unnecessary, making the process smoother.
*/
+public class EmbeddedMappingFileWizard
+ extends MappingFileWizard
+{
+ public static IPath createNewMappingFile(IStructuredSelection selection) {
+ return createNewMappingFile(selection, null);
+ }
+
+ public static IPath createNewMappingFile(IStructuredSelection selection, String xmlFileName) {
+ if (xmlFileName == null) {
+ xmlFileName = DEFAULT_XML_FILE_NAME;
+ }
+ EmbeddedMappingFileWizard wizard = new EmbeddedMappingFileWizard(DataModelFactory.createDataModel(new OrmFileCreationDataModelProvider()));
+ return MappingFileWizard.createMappingFile(selection, xmlFileName, wizard);
+ }
+
+ private static final String DEFAULT_XML_FILE_NAME = "orm.xml"; //$NON-NLS-1$
-public class EmbeddedMappingFileWizard extends MappingFileWizard {
-
-
- public static final String DEFAULT_XML_FILE_NAME = "orm.xml";
public EmbeddedMappingFileWizard() {
+ super();
}
public EmbeddedMappingFileWizard(IDataModel dataModel) {
@@ -39,10 +50,4 @@ public class EmbeddedMappingFileWizard extends MappingFileWizard {
public final boolean performFinish() {
return this.createMappingFile();
}
-
- public static IPath createNewMappingFile(IStructuredSelection selection, String xmlFileName) {
- if (xmlFileName == null) {xmlFileName = DEFAULT_XML_FILE_NAME;}
- EmbeddedMappingFileWizard wizard = new EmbeddedMappingFileWizard(DataModelFactory.createDataModel(new OrmFileCreationDataModelProvider()));
- return MappingFileWizard.createMappingFile(selection, xmlFileName, wizard);
- }
}

Back to the top