/******************************************************************************* * Copyright (c) 2012 Gerd Wuetherich (gerd@gerd-wuetherich.de). * 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: * Gerd Wuetherich (gerd@gerd-wuetherich.de) - initial API and implementation ******************************************************************************/ package org.bundlemaker.core.ui.transformations.handlers; import java.util.Iterator; import org.bundlemaker.core.ui.handler.AbstractBundleMakerHandler; import org.bundlemaker.core.ui.transformations.TransformationScriptNature; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; public class DisableTransformationScriptNatureHandler extends AbstractBundleMakerHandler { @Override protected void execute(ExecutionEvent event, ISelection selection) throws Exception { if (selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) selection; for (Iterator<?> it = structuredSelection.iterator(); it.hasNext();) { Object element = it.next(); IProject project = null; if (element instanceof IProject) { project = (IProject) element; } else if (element instanceof IAdaptable) { project = (IProject) ((IAdaptable) element).getAdapter(IProject.class); } if (project != null) { try { TransformationScriptNature.removeTransformationScriptNature(project, null); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } }