1 11 package org.eclipse.pde.internal.ui.refactoring; 12 13 import java.util.HashMap ; 14 import java.util.Iterator ; 15 16 import org.eclipse.core.resources.IProject; 17 import org.eclipse.jdt.core.IJavaElement; 18 import org.eclipse.jdt.core.IJavaProject; 19 import org.eclipse.jdt.core.IType; 20 import org.eclipse.pde.internal.core.WorkspaceModelManager; 21 import org.eclipse.pde.internal.ui.PDEUIMessages; 22 23 public class ManifestTypeRenameParticipant extends PDERenameParticipant { 24 25 protected boolean initialize(Object element) { 26 if (element instanceof IType) { 27 IType type = (IType)element; 28 IJavaProject javaProject = (IJavaProject)type.getAncestor(IJavaElement.JAVA_PROJECT); 29 IProject project = javaProject.getProject(); 30 if (WorkspaceModelManager.isPluginProject(project)) { 31 fProject = javaProject.getProject(); 32 fElements = new HashMap (); 33 fElements.put(type, getArguments().getNewName()); 34 return true; 35 } 36 } 37 return false; 38 } 39 40 protected String [] getOldNames() { 41 String [] result = new String [fElements.size()]; 42 Iterator iter = fElements.keySet().iterator(); 43 for (int i = 0; i < fElements.size(); i++) 44 result[i] = ((IType)iter.next()).getFullyQualifiedName('$'); 45 return result; 46 } 47 48 protected String [] getNewNames() { 49 String [] result = new String [fElements.size()]; 50 Iterator iter = fElements.keySet().iterator(); 51 for (int i = 0; i < fElements.size(); i++) { 52 IType type = (IType)iter.next(); 53 String oldName = type.getFullyQualifiedName('$'); 54 int index = oldName.lastIndexOf(type.getElementName()); 55 StringBuffer buffer = new StringBuffer (oldName.substring(0, index)); 56 buffer.append(fElements.get(type)); 57 result[i] = buffer.toString(); 58 } 59 return result; 60 } 61 62 public String getName() { 63 return PDEUIMessages.ManifestTypeRenameParticipant_composite; 64 } 65 66 } 67 | Popular Tags |