1 19 20 package org.netbeans.modules.refactoring.java; 21 22 import java.io.IOException ; 23 import java.util.Dictionary ; 24 import java.util.Hashtable ; 25 import javax.swing.Action ; 26 import org.netbeans.modules.refactoring.api.ui.RefactoringActionsFactory; 27 import org.netbeans.spi.java.loaders.RenameHandler; 28 import org.openide.ErrorManager; 29 import org.openide.loaders.DataObject; 30 import org.openide.nodes.Node; 31 import org.openide.util.Lookup; 32 import org.openide.util.lookup.AbstractLookup; 33 import org.openide.util.lookup.InstanceContent; 34 35 39 public class RenameHandlerImpl implements RenameHandler { 40 41 public void handleRename(Node node, String newName) { 42 InstanceContent ic = new InstanceContent(); 43 ic.add(node); 44 Dictionary d = new Hashtable (); 45 d.put("name", newName); 46 ic.add(d); 47 Lookup l = new AbstractLookup(ic); 48 DataObject dob = node.getCookie(DataObject.class); 49 Action a = RefactoringActionsFactory.renameAction().createContextAwareInstance(l); 50 if (a.isEnabled()) { 51 a.actionPerformed(RefactoringActionsFactory.DEFAULT_EVENT); 52 } else { 53 try { 54 dob.rename(newName); 55 } catch (IOException ioe) { 56 ErrorManager.getDefault().notify(ioe); 57 } 58 } 59 } 60 } 61 | Popular Tags |