[jbosstools-commits] JBoss Tools SVN: r41784 - trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/refactoring.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Thu Jun 7 13:30:18 EDT 2012
Author: dazarov
Date: 2012-06-07 13:30:18 -0400 (Thu, 07 Jun 2012)
New Revision: 41784
Modified:
trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/refactoring/BaseFileChange.java
Log:
Renaming java element does not force to re-validate related resources https://issues.jboss.org/browse/JBIDE-10767
Modified: trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/refactoring/BaseFileChange.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/refactoring/BaseFileChange.java 2012-06-07 16:24:34 UTC (rev 41783)
+++ trunk/common/plugins/org.jboss.tools.common/src/org/jboss/tools/common/refactoring/BaseFileChange.java 2012-06-07 17:30:18 UTC (rev 41784)
@@ -14,16 +14,16 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Status;
import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
+import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.MultiStateTextFileChange;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.TextChange;
+import org.eclipse.ltk.core.refactoring.ContentStamp;
import org.eclipse.ltk.core.refactoring.TextFileChange;
-import org.eclipse.text.edits.TextEdit;
+import org.eclipse.ltk.core.refactoring.UndoTextFileChange;
+import org.eclipse.text.edits.MalformedTreeException;
import org.eclipse.text.edits.UndoEdit;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
@@ -35,22 +35,19 @@
import org.eclipse.ui.progress.UIJob;
import org.jboss.tools.common.CommonPlugin;
-public class BaseFileChange extends MultiStateTextFileChange{
- private IFile file;
- private BaseTextChange rootChange = null;
+public class BaseFileChange extends TextFileChange{
public BaseFileChange(IFile file) {
super(file.getName(), file);
- this.file = file;
-
setSaveMode();
}
private void setSaveMode(){
UIJob job = new UIJob("setSaveMode"){ //$NON-NLS-1$
+ @Override
public IStatus runInUIThread(IProgressMonitor monitor) {
try {
- if(isOpenInEditor(file)){
+ if(isOpenInEditor(getFile())){
setSaveMode(TextFileChange.LEAVE_DIRTY);
}else{
setSaveMode(TextFileChange.FORCE_SAVE);
@@ -79,66 +76,41 @@
}
return false;
}
-
- public IFile getFile(){
- return file;
+
+ @Override
+ protected void releaseDocument(IDocument document, IProgressMonitor pm)
+ throws CoreException {
+ // TODO Auto-generated method stub
+ super.releaseDocument(document, pm);
+ try {
+ getFile().touch(new NullProgressMonitor());
+ } catch (CoreException e) {
+ // do nothing
+ }
}
- public void setEdit(TextEdit edit) {
- rootChange = new BaseTextChange();
- rootChange.setEdit(edit);
- super.addChange(rootChange);
+ @Override
+ protected Change createUndoChange(UndoEdit edit, ContentStamp stampToRestore) {
+ return new UndoBaseFileChange(getName(), getFile(), edit, stampToRestore, getSaveMode());
}
- public TextEdit getEdit(){
- return rootChange.getEdit();
- }
-
- public void addEdit(TextEdit edit){
- rootChange.addEdit(edit);
- }
-
- class BaseTextChange extends TextChange{
+ class UndoBaseFileChange extends UndoTextFileChange{
- protected BaseTextChange() {
- super("");
+ protected UndoBaseFileChange(String name, IFile file, UndoEdit undo,
+ ContentStamp stamp, int saveMode) {
+ super(name, file, undo, stamp, saveMode);
}
@Override
- protected IDocument acquireDocument(IProgressMonitor pm)
- throws CoreException {
- return null;
+ public Change perform(IProgressMonitor pm) throws CoreException {
+ Change change = super.perform(pm);
+ try {
+ getFile().touch(new NullProgressMonitor());
+ } catch (CoreException e) {
+ // do nothing
+ }
+ return change;
}
-
- @Override
- protected void commit(IDocument document, IProgressMonitor pm)
- throws CoreException {
- }
-
- @Override
- protected void releaseDocument(IDocument document, IProgressMonitor pm)
- throws CoreException {
- }
-
- @Override
- protected Change createUndoChange(UndoEdit edit) {
- return null;
- }
-
- @Override
- public void initializeValidationData(IProgressMonitor pm) {
- }
-
- @Override
- public RefactoringStatus isValid(IProgressMonitor pm)
- throws CoreException, OperationCanceledException {
- return null;
- }
-
- @Override
- public Object getModifiedElement() {
- return null;
- }
}
}
More information about the jbosstools-commits
mailing list