/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.ui.refactor.rename; import java.util.List; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ltk.ui.refactoring.RefactoringWizard; import org.eclipse.ui.IWorkbenchWindow; import org.teiid.core.designer.util.CoreArgCheck; import org.teiid.designer.ui.common.eventsupport.SelectionUtilities; import org.teiid.designer.ui.refactor.AbstractRefactorAction; /** * */ public class RenameRefactorAction extends AbstractRefactorAction { @Override protected RefactoringWizard getRefactoringWizard(List<IResource> resources, IWorkbenchWindow window) { CoreArgCheck.isNotNull(resources); CoreArgCheck.isEqual(resources.size(), 1); RenameResourceRefactoring refactoring = new RenameResourceRefactoring(resources.get(0)); String wizardTitle = "Rename Resource " + resources.get(0).getName(); //$NON-NLS-1$ return new RenameResourceWizard(refactoring, wizardTitle); } @Override public void run(IAction action) { super.run(action); } @Override public void selectionChanged(IAction action, ISelection selection) { // Rename only logically works on 1 item at a time if (SelectionUtilities.isMultiSelection(selection)) { action.setEnabled(false); return; } List<IResource> resources = SelectionUtilities.getSelectedIResourceObjects(selection); for( IResource resource : resources ) { if( resource instanceof IProject ) { action.setEnabled(false); return; } } super.selectionChanged(action, selection); } }