[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