Java tutorial
/* Demoiselle Framework Copyright (C) 2011 SERPRO ============================================================================ This file is part of Demoiselle Framework. Demoiselle Framework is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Lesser General Public License version 3 along with this program; if not, see <http://www.gnu.org/licenses/> or write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ============================================================================ Este arquivo parte do Framework Demoiselle. O Framework Demoiselle um software livre; voc pode redistribu-lo e/ou modific-lo dentro dos termos da GNU LGPL verso 3 como publicada pela Fundao do Software Livre (FSF). Este programa distribudo na esperana que possa ser til, mas SEM NENHUMA GARANTIA; sem uma garantia implcita de ADEQUAO a qualquer MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral GNU/LGPL em portugus para maiores detalhes. Voc deve ter recebido uma cpia da GNU LGPL verso 3, sob o ttulo "LICENCA.txt", junto com esse programa. Se no, acesse <http://www.gnu.org/licenses/> ou escreva para a Fundao do Software Livre (FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. */ package br.gov.frameworkdemoiselle.tools.nimble.eclipse.actions; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IActionDelegate; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; import br.gov.frameworkdemoiselle.tools.nimble.eclipse.NimbleRunner; import br.gov.frameworkdemoiselle.tools.nimble.eclipse.util.EclipseUtil; import br.gov.frameworkdemoiselle.tools.nimble.eclipse.util.NimbleConfiguration; public class NimbleAction implements IWorkbenchWindowActionDelegate { private IWorkbenchWindow window; private IProject selectedProject; /** * The constructor. */ public NimbleAction() { } public void run(IAction action) { NimbleConfiguration config = EclipseUtil.createNimbleConfiguration(selectedProject); try { new NimbleRunner().run(config); } catch (CoreException e) { MessageDialog.openInformation(window.getShell(), "Demoiselle-nimble-eclipse", "Nimble Action had problems."); } } /** * @see IActionDelegate#selectionChanged(IAction, ISelection) */ public void selectionChanged(IAction action, ISelection selection) { selectedProject = EclipseUtil.getSelected(selection); } /** * We can use this method to dispose of any system resources we previously allocated. * * @see IWorkbenchWindowActionDelegate#dispose */ public void dispose() { } /** * We will cache window object in order to be able to provide parent shell for the message dialog. * * @see IWorkbenchWindowActionDelegate#init */ public void init(IWorkbenchWindow window) { this.window = window; } }