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