KickJava   Java API By Example, From Geeks To Geeks.

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


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.runtime.CoreException;
8 import org.eclipse.core.runtime.IProgressMonitor;
9 import org.eclipse.core.runtime.OperationCanceledException;
10 import org.eclipse.jdt.core.IField;
11 import org.eclipse.jdt.core.IType;
12 import org.eclipse.jdt.core.JavaModelException;
13 import org.eclipse.ltk.core.refactoring.Change;
14 import org.eclipse.ltk.core.refactoring.CompositeChange;
15 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
16
17 import org.terracotta.dso.ConfigurationHelper;
18 import org.terracotta.dso.TcPlugin;
19
20 public class BaseDeleteTypeChange extends CompositeChange {
21   private IType fType;
22     
23   public BaseDeleteTypeChange(IType type) {
24     super("TCBaseDeleteTypeConfigUpdate");
25     
26     fType = type;
27     
28     TcPlugin plugin = TcPlugin.getDefault();
29     IProject project = type.getJavaProject().getProject();
30     ConfigurationHelper configHelper = plugin.getConfigurationHelper(project);
31     IField[] fields;
32     
33     try {
34       fields = type.getFields();
35       for(int i = 0; i < fields.length; i++) {
36         if(configHelper.isRoot(fields[i])) {
37           add(new BaseDeleteFieldChange(fields[i]));
38         }
39       }
40     } catch(JavaModelException jme) {/**/}
41   }
42   
43   public Object JavaDoc getModifiedElement() {
44     return null;
45   }
46   
47   public String JavaDoc getName() {
48     return "TCBaseDeleteTypeConfigUpdate";
49   }
50   
51   public void initializeValidationData(IProgressMonitor pm) {/**/}
52   
53   public RefactoringStatus isValid(IProgressMonitor pm)
54     throws OperationCanceledException
55   {
56     return new RefactoringStatus();
57   }
58   
59   public Change perform(IProgressMonitor pm) throws CoreException {
60     TcPlugin plugin = TcPlugin.getDefault();
61     IProject project = fType.getJavaProject().getProject();
62     ConfigurationHelper configHelper = plugin.getConfigurationHelper(project);
63     
64     Change undoChange = super.perform(pm);
65
66     configHelper.baseEnsureNotAdaptable(fType);
67     configHelper.baseEnsureNotExcluded(fType);
68     
69     // create the undo change
70
return undoChange;
71   }
72 }
73
Popular Tags