diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.releng.manifests/src/org/eclipse/emf/cdo/releng/manifests/AbstractProjectHandler.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.releng.manifests/src/org/eclipse/emf/cdo/releng/manifests/AbstractProjectHandler.java | 210 |
1 files changed, 105 insertions, 105 deletions
diff --git a/plugins/org.eclipse.emf.cdo.releng.manifests/src/org/eclipse/emf/cdo/releng/manifests/AbstractProjectHandler.java b/plugins/org.eclipse.emf.cdo.releng.manifests/src/org/eclipse/emf/cdo/releng/manifests/AbstractProjectHandler.java index 94d67073cb..786f34123f 100644 --- a/plugins/org.eclipse.emf.cdo.releng.manifests/src/org/eclipse/emf/cdo/releng/manifests/AbstractProjectHandler.java +++ b/plugins/org.eclipse.emf.cdo.releng.manifests/src/org/eclipse/emf/cdo/releng/manifests/AbstractProjectHandler.java @@ -1,105 +1,105 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * 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:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.releng.manifests;
-
-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.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-/**
- * @author Eike Stepper
- */
-public abstract class AbstractProjectHandler extends AbstractHandler
-{
- public AbstractProjectHandler()
- {
- }
-
- public final Object execute(ExecutionEvent event) throws ExecutionException
- {
- IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
- IWorkbenchPage page = window.getActivePage();
- if (page == null)
- {
- return null;
- }
-
- IProject project = getProject(page);
- if (project != null)
- {
- execute(page, project);
- }
-
- return null;
- }
-
- private IProject getProject(IWorkbenchPage page)
- {
- IResource resource = null;
- ISelection selection = page.getSelection();
- if (selection instanceof IStructuredSelection)
- {
- IStructuredSelection ssel = (IStructuredSelection)selection;
- if (ssel.size() == 1)
- {
- Object element = ssel.getFirstElement();
- if (element instanceof IResource)
- {
- resource = (IResource)element;
- }
-
- if (resource == null && element instanceof IAdaptable)
- {
- resource = (IResource)((IAdaptable)element).getAdapter(IResource.class);
- }
-
- if (resource == null)
- {
- resource = (IResource)Platform.getAdapterManager().getAdapter(element, IResource.class);
- }
- }
- }
-
- if (resource == null)
- {
- IEditorPart editor = page.getActiveEditor();
- if (editor != null)
- {
- IEditorInput input = editor.getEditorInput();
- if (input instanceof IFileEditorInput)
- {
- resource = ((IFileEditorInput)input).getFile();
- }
- }
- }
-
- if (resource == null)
- {
- return null;
- }
-
- return resource.getProject();
- }
-
- protected abstract void execute(IWorkbenchPage page, IProject project);
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * 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: + * Eike Stepper - initial API and implementation + */ +package org.eclipse.emf.cdo.releng.manifests; + +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.core.runtime.IAdaptable; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IFileEditorInput; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.handlers.HandlerUtil; + +/** + * @author Eike Stepper + */ +public abstract class AbstractProjectHandler extends AbstractHandler +{ + public AbstractProjectHandler() + { + } + + public final Object execute(ExecutionEvent event) throws ExecutionException + { + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); + IWorkbenchPage page = window.getActivePage(); + if (page == null) + { + return null; + } + + IProject project = getProject(page); + if (project != null) + { + execute(page, project); + } + + return null; + } + + private IProject getProject(IWorkbenchPage page) + { + IResource resource = null; + ISelection selection = page.getSelection(); + if (selection instanceof IStructuredSelection) + { + IStructuredSelection ssel = (IStructuredSelection)selection; + if (ssel.size() == 1) + { + Object element = ssel.getFirstElement(); + if (element instanceof IResource) + { + resource = (IResource)element; + } + + if (resource == null && element instanceof IAdaptable) + { + resource = (IResource)((IAdaptable)element).getAdapter(IResource.class); + } + + if (resource == null) + { + resource = (IResource)Platform.getAdapterManager().getAdapter(element, IResource.class); + } + } + } + + if (resource == null) + { + IEditorPart editor = page.getActiveEditor(); + if (editor != null) + { + IEditorInput input = editor.getEditorInput(); + if (input instanceof IFileEditorInput) + { + resource = ((IFileEditorInput)input).getFile(); + } + } + } + + if (resource == null) + { + return null; + } + + return resource.getProject(); + } + + protected abstract void execute(IWorkbenchPage page, IProject project); +} |