Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/orm/MappingFileWizard.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/orm/MappingFileWizard.java347
1 files changed, 0 insertions, 347 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/orm/MappingFileWizard.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/orm/MappingFileWizard.java
deleted file mode 100644
index 5f4e3c2215..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/orm/MappingFileWizard.java
+++ /dev/null
@@ -1,347 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 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.ui.internal.wizards.orm;
-
-import static org.eclipse.jpt.core.internal.operations.JpaFileCreationDataModelProperties.*;
-import static org.eclipse.jpt.core.internal.operations.OrmFileCreationDataModelProperties.*;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jpt.core.JpaFacet;
-import org.eclipse.jpt.core.JptCorePlugin;
-import org.eclipse.jpt.core.context.JpaContextNode;
-import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.core.internal.operations.OrmFileCreationDataModelProvider;
-import org.eclipse.jpt.core.internal.utility.PlatformTools;
-import org.eclipse.jpt.ui.JptUiPlugin;
-import org.eclipse.jpt.ui.internal.JptUiIcons;
-import org.eclipse.jpt.ui.internal.JptUiMessages;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.common.frameworks.internal.datamodel.IDataModelPausibleOperation;
-import org.eclipse.wst.common.frameworks.internal.dialog.ui.WarningDialog;
-import org.eclipse.wst.common.frameworks.internal.ui.ErrorDialog;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPCommonUIResourceHandler;
-
-public class MappingFileWizard extends Wizard
- implements INewWizard
-{
- protected IDataModel dataModel;
-
- protected IStructuredSelection initialSelection;
-
- protected IStructuredSelection mungedSelection;
-
- private IWizardPage firstPage;
-
- private IWizardPage secondPage;
-
-
- public MappingFileWizard() {
- this(null);
- }
-
- public MappingFileWizard(IDataModel dataModel) {
- super();
- this.dataModel = dataModel;
- setWindowTitle(JptUiMessages.MappingFileWizard_title);
- setDefaultPageImageDescriptor(JptUiPlugin.getImageDescriptor(JptUiIcons.JPA_FILE_WIZ_BANNER));
- }
-
-
- public void init(IWorkbench workbench, IStructuredSelection selection) {
- this.initialSelection = selection;
- this.mungedSelection = selection;
-
- if (selection == null || selection.isEmpty()) {
- return;
- }
-
- Object firstSelection = selection.getFirstElement();
-
- PersistenceUnit pUnit = extractPersistenceUnit(firstSelection);
- IContainer container = extractContainer(pUnit, firstSelection);
-
- if (container != null) {
- this.mungedSelection = new StructuredSelection(container);
- }
-
- if (pUnit != null) {
- getDataModel().setBooleanProperty(ADD_TO_PERSISTENCE_UNIT, true);
- getDataModel().setStringProperty(PERSISTENCE_UNIT, pUnit.getName());
- }
- }
-
- private PersistenceUnit extractPersistenceUnit(Object selection) {
- if (selection instanceof JpaContextNode) {
- // may be null if node is above level of persistence unit, but in those cases
- // null is the expected result
- try {
- return ((JpaContextNode) selection).getPersistenceUnit();
- }
- catch (Exception e) { /* do nothing, just continue */ }
- }
-
- if (selection instanceof IAdaptable) {
- JpaContextNode node = (JpaContextNode) ((IAdaptable) selection).getAdapter(JpaContextNode.class);
- if (node != null) {
- return node.getPersistenceUnit();
- }
- }
- return null;
- }
-
- private IContainer extractContainer(PersistenceUnit pUnit, Object selection) {
- if (pUnit != null) {
- return pUnit.getResource().getParent();
- }
- if (selection instanceof IProject) {
- return getDefaultContainer((IProject) selection);
- }
- if (selection instanceof IContainer) {
- return (IContainer) selection;
- }
- if (selection instanceof JpaContextNode) {
- return getDefaultContainer(((JpaContextNode) selection).getJpaProject().getProject());
- }
-
- if (selection instanceof IAdaptable) {
- IResource resource = (IResource) ((IAdaptable) selection).getAdapter(IResource.class);
- if (resource != null) {
- if (resource instanceof IProject) {
- return getDefaultContainer((IProject) resource);
- }
- else if (resource instanceof IContainer) {
- return (IContainer) resource;
- }
- }
- JpaContextNode node = (JpaContextNode) ((IAdaptable) selection).getAdapter(JpaContextNode.class);
- if (node != null) {
- return getDefaultContainer(node.getJpaProject().getProject());
- }
- }
- return null;
- }
-
- private IContainer getDefaultContainer(IProject project) {
- if (JpaFacet.isInstalled(project)) {
- return JptCorePlugin.getResourceLocator(project).getDefaultResourceLocation(project);
- }
- return project;
- }
-
- @Override
- public void addPages() {
- super.addPages();
- this.firstPage = buildMappingFileNewFileWizardPage();
- this.secondPage = buildMappingFileOptionsWizardPage();
- addPage(this.firstPage);
- addPage(this.secondPage);
- }
-
- protected MappingFileNewFileWizardPage buildMappingFileNewFileWizardPage() {
- return new MappingFileNewFileWizardPage(
- "Page_1", this.mungedSelection, getDataModel(),
- JptUiMessages.MappingFileWizardPage_newFile_title,
- JptUiMessages.MappingFileWizardPage_newFile_desc);
- }
-
- protected MappingFileOptionsWizardPage buildMappingFileOptionsWizardPage() {
- return new MappingFileOptionsWizardPage(
- "Page_2", getDataModel(),
- JptUiMessages.MappingFileWizardPage_options_title,
- JptUiMessages.MappingFileWizardPage_options_desc);
- }
-
- @Override
- public boolean canFinish() {
- // override so that visit to second page is not necessary
- return this.firstPage.isPageComplete() && getDataModel().isValid();
- }
-
- public IDataModel getDataModel() {
- if (this.dataModel == null) {
- this.dataModel = DataModelFactory.createDataModel(getDefaultProvider());
- }
- return this.dataModel;
- }
-
- protected IDataModelProvider getDefaultProvider() {
- return new OrmFileCreationDataModelProvider();
- }
-
- protected IDataModelPausibleOperation getOperation() {
- return (IDataModelPausibleOperation) getDataModel().getDefaultOperation();
- }
-
- @Override
- public final boolean performFinish() {
- try {
- final IStatus st = runOperations();
-
- if (st.getSeverity() == IStatus.ERROR) {
- JptUiPlugin.log(st);
- Throwable t = st.getException() == null ? new CoreException(st) : st.getException();
- ErrorDialog.openError(
- getShell(),
- WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_0, new Object[]{getWindowTitle()}),
- WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_1, new Object[]{getWindowTitle()}),
- t, 0, false);
- }
- else if(st.getSeverity() == IStatus.WARNING){
- WarningDialog.openWarning(
- getShell(),
- WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_2, new Object[]{getWindowTitle()}),
- st.getMessage(),
- st, IStatus.WARNING);
- }
-
- postPerformFinish();
- }
- catch (Exception e) {
- JptUiPlugin.log(e);
- ErrorDialog.openError(
- getShell(),
- WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_0, new Object[]{getWindowTitle()}),
- WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_1, new Object[]{getWindowTitle()}),
- e, 0, false);
- }
- return true;
- }
-
- private IStatus runOperations() {
-
- class CatchThrowableRunnableWithProgress
- implements IRunnableWithProgress {
-
- public IStatus status = null;
- public Throwable caught = null;
-
- public void run(IProgressMonitor pm) {
- try {
- status = getOperation().execute(pm, null);
- }
- catch (Throwable e) {
- caught = e;
- }
- }
- }
-
- CatchThrowableRunnableWithProgress runnable = new CatchThrowableRunnableWithProgress();
-
- try {
- getContainer().run(true, false, runnable);
- }
- catch (Throwable e) {
- runnable.caught = e;
- }
-
- if (runnable.caught == null) {
- return runnable.status;
- }
- else {
- JptUiPlugin.log(runnable.caught);
- ErrorDialog.openError(
- getShell(),
- WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_0, new Object[]{getWindowTitle()}),
- WTPCommonUIResourceHandler.getString(WTPCommonUIResourceHandler.WTPWizard_UI_1, new Object[]{getWindowTitle()}),
- runnable.caught, 0, false);
- return new Status(IStatus.ERROR, "id", 0, runnable.caught.getMessage(), runnable.caught); //$NON-NLS-1$
- }
- }
-
- protected void postPerformFinish()
- throws InvocationTargetException {
-
- try {
- IPath containerPath = (IPath) getDataModel().getProperty(CONTAINER_PATH);
- String fileName = getDataModel().getStringProperty(FILE_NAME);
- IContainer container = PlatformTools.getContainer(containerPath);
- IFile file = container.getFile(new Path(fileName));
- openEditor(file);
- }
- catch (Exception cantOpen) {
- throw new InvocationTargetException(cantOpen);
- }
- }
-
- private void openEditor(final IFile file) {
- if (file != null) {
- getShell().getDisplay().asyncExec(new Runnable() {
- public void run() {
- try {
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- IDE.openEditor(page, file, true);
- }
- catch (PartInitException e) {
- JptUiPlugin.log(e);
- }
- }
- });
- }
- }
-
- @Override
- public void dispose() {
- super.dispose();
- getDataModel().dispose();
- }
-
- public static IPath createNewMappingFile(IStructuredSelection selection, String xmlFileName) {
- MappingFileWizard wizard = new MappingFileWizard(DataModelFactory.createDataModel(new OrmFileCreationDataModelProvider()));
- wizard.getDataModel().setProperty(FILE_NAME, xmlFileName);
- wizard.init(PlatformUI.getWorkbench(), selection);
- WizardDialog dialog = new WizardDialog(getCurrentShell(), wizard);
- dialog.create();
- if (dialog.open() == Window.OK) {
- IPath containerPath = (IPath) wizard.getDataModel().getProperty(CONTAINER_PATH);
- String fileName = wizard.getDataModel().getStringProperty(FILE_NAME);
- IContainer container = PlatformTools.getContainer(containerPath);
- IPath filePath = container.getFullPath().append(fileName);
- IProject project = container.getProject();
- IPath runtimePath = JptCorePlugin.getResourceLocator(project).getRuntimePath(project, filePath);
-
- return runtimePath;
- }
- return null;
- }
-
- private static Shell getCurrentShell() {
- return Display.getCurrent().getActiveShell();
- }
-
-
-}

Back to the top