KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > terracotta > dso > refactoring > MoveTypeChange


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package org.terracotta.dso.refactoring;
5
6 import org.eclipse.core.resources.IProject;
7 import org.eclipse.core.resources.IWorkspace;
8 import org.eclipse.core.resources.ResourcesPlugin;
9 import org.eclipse.core.runtime.IProgressMonitor;
10 import org.eclipse.core.runtime.OperationCanceledException;
11 import org.eclipse.jdt.core.IJavaElement;
12 import org.eclipse.jdt.core.IType;
13 import org.eclipse.ltk.core.refactoring.Change;
14 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
15
16 import org.terracotta.dso.TcPlugin;
17
18 public class MoveTypeChange extends Change {
19   private String JavaDoc fNewTypeName;
20   private String JavaDoc fNewProjectName;
21   private String JavaDoc fOldTypeName;
22   private String JavaDoc fOldProjectName;
23   
24   public MoveTypeChange(IType srcType, String JavaDoc newTypeName, String JavaDoc newProjectName) {
25     this(srcType.getFullyQualifiedName(),
26          srcType.getAncestor(IJavaElement.JAVA_PROJECT).getElementName(),
27          newTypeName,
28          newProjectName);
29   }
30   
31   public MoveTypeChange(String JavaDoc oldTypeName,
32                         String JavaDoc oldProjectName,
33                         String JavaDoc newTypeName,
34                         String JavaDoc newProjectName)
35   {
36     fNewTypeName = newTypeName;
37     fNewProjectName = newProjectName;
38     fOldTypeName = oldTypeName;
39     fOldProjectName = oldProjectName;
40   }
41
42   public Object JavaDoc getModifiedElement() {
43     return null;
44   }
45   
46   public String JavaDoc getName() {
47     return "TCMoveTypeConfigUpdate";
48   }
49   
50   public void initializeValidationData(IProgressMonitor pm) {/**/}
51   
52   public RefactoringStatus isValid(IProgressMonitor pm)
53     throws OperationCanceledException
54   {
55     return new RefactoringStatus();
56   }
57   
58   public Change perform(IProgressMonitor pm) {
59     IWorkspace workspace = ResourcesPlugin.getWorkspace();
60     IProject project = workspace.getRoot().getProject(fOldProjectName);
61     
62     TcPlugin.getDefault().replaceConfigText(project, fOldTypeName, fNewTypeName);
63     
64     // create the undo change
65
return new MoveTypeChange(fNewTypeName, fNewProjectName, fOldTypeName, fOldProjectName);
66   }
67 }
68
Popular Tags