001: /*
002: * ChainBuilder ESB
003: * Visual Enterprise Integration
004: *
005: * Copyright (C) 2007 Bostech Corporation
006: *
007: * This program is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU General Public License as published by the
009: * Free Software Foundation; either version 2 of the License, or (at your option)
010: * any later version.
011: *
012: * This program is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
014: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
015: * for more details.
016: *
017: * You should have received a copy of the GNU General Public License along with
018: * this program; if not, write to the Free Software Foundation, Inc.,
019: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020: *
021: *
022: * $Id
023: */
024:
025: package com.bostechcorp.cbesb.ui.ide.actions;
026:
027: import org.eclipse.core.resources.IProject;
028: import org.eclipse.jface.action.IAction;
029: import org.eclipse.jface.viewers.ISelection;
030: import org.eclipse.jface.viewers.IStructuredSelection;
031: import org.eclipse.jface.wizard.WizardDialog;
032: import org.eclipse.swt.widgets.Shell;
033: import org.eclipse.ui.IActionDelegate;
034: import org.eclipse.ui.IEditorActionDelegate;
035: import org.eclipse.ui.IEditorPart;
036: import org.eclipse.ui.IObjectActionDelegate;
037: import org.eclipse.ui.IViewActionDelegate;
038: import org.eclipse.ui.IViewPart;
039: import org.eclipse.ui.IWorkbenchPart;
040: import org.eclipse.ui.IWorkbenchWindow;
041: import org.eclipse.ui.PlatformUI;
042:
043: import com.bostechcorp.cbesb.ui.ide.util.JavaProjectUtil;
044: import com.bostechcorp.cbesb.ui.ide.wizards.CBESBProjectCreationWizardPage;
045: import com.bostechcorp.cbesb.ui.ide.wizards.ImportedWSDLWizard;
046: import com.bostechcorp.cbesb.ui.ide.wizards.JBISAProjectCreationWizardPage;
047:
048: public class ConvertToESBProjectAction implements IObjectActionDelegate {
049: /**
050: * The currently selected object in the active view
051: */
052: private ISelection selection;
053: private IWorkbenchWindow window;
054: private IWorkbenchPart targetPart;
055: private IProject project = null;
056:
057: /**
058: * Sets the active part for the delegate. This method will be called
059: * every time the action appears in a context menu. The targetPart
060: * may change with each invocation.
061: */
062: public void setActivePart(IAction action, IWorkbenchPart part) {
063: this .targetPart = part;
064: }
065:
066: /**
067: * Initializes this action delegate with the view it will work in.
068: *
069: * @param view the view that provides the context for this delegate
070: * @see IViewActionDelegate#init(IViewPart)
071: */
072: public void init(IViewPart view) {
073: // this.window = window;
074: }
075:
076: /**
077: * Sets the active editor for the delegate. Implementors should
078: * disconnect from the old editor, connect to the new editor, and
079: * update the action to reflect the new editor.
080: *
081: * @param action the action proxy that handles presentation portion
082: * of the action
083: * @param editor the new editor target
084: * @see IEditorActionDelegate #setActiveEditor(IAction, IEditorPart)
085: */
086: public void setActiveEditor(IAction action, IEditorPart editor) {
087: }
088:
089: /**
090: * Notifies this action delegate that the selection in the
091: * workbench has changed.
092: *
093: * @param action the action proxy that handles presentation portion
094: * of the action
095: * @param selection the current selection, or <code>null</code>
096: * if there is no selection.
097: * @see IActionDelegate#selectionChanged(IAction, ISelection)
098: */
099: public void selectionChanged(IAction action, ISelection selection) {
100: this .selection = selection;
101: if (selection != null)
102: project = JavaProjectUtil
103: .getProject((IStructuredSelection) selection);
104: action.setEnabled(!selection.isEmpty() && project != null);
105: }
106:
107: /**
108: * Called when the user has selected this action to be executed.
109: */
110: public void run(IAction action) {
111: JavaProjectUtil.addNature(project,
112: CBESBProjectCreationWizardPage.ESB_NATURE);
113: }
114: }
|