|
From: <mir...@us...> - 2007-03-09 16:09:56
|
Revision: 2115
http://svn.sourceforge.net/rubyeclipse/?rev=2115&view=rev
Author: mirkostocker
Date: 2007-03-09 08:09:51 -0800 (Fri, 09 Mar 2007)
Log Message:
-----------
Fix the backbutton behavior, should work with all refactorings except rename method. What we do: Whenever the refactoring wizard page is loaded (from the back button), the initial documentprovider is discarded and replaced with a new one and reinitialized with the conditionchecker, so all previous changes on nodes are thrown away and we start with a fresh document. We still have some overhead on the initial creation of the page, need to fix that.. but for now the backbutton should be safe to use.
Modified Paths:
--------------
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/action/RenameAction.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/AllFilesClassNodeProvider.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/ClassNodeProvider.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/IncludedClassesProvider.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/FormatWithParenthesis.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/RefactoringConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/RubyRefactoring.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConverter.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/encapsulatefield/EncapsulateFieldConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/encapsulatefield/EncapsulateFieldConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/extractmethod/ExtractMethodConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/formatsource/FormatSourceConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/ClassInliner.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InlineClassConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InlineClassConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InsertClassBuilder.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/IMethodFinder.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/ISelectedCallFinder.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/ITargetClassFinder.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/InlineMethodConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/InlineMethodConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/MethodFinder.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/SelectedCallFinder.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/TargetClassFinder.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/InlineTempConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/InlineTempConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/TempInliner.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/mergeclasspartsinfile/MergeClassPartInFileConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/mergewithexternalclassparts/MergeWithExternalClassPartConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/movefield/GenerateAccessorAtSource.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/movefield/MoveFieldConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/movefield/MoveFieldConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/movefield/MoveFieldEditProvider.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/movemethod/MethodMover.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/movemethod/MoveMethodConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/movemethod/MoveMethodConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/rename/RenameConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/rename/RenameConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/rename/RenameRefactoring.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renameclass/RenameClassConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renameclass/RenameClassConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamefield/FieldProvider.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamefield/FieldRenamer.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamefield/RenameFieldConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamefield/RenameFieldConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamefield/RenameFieldRefactoring.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamelocalvariable/LocalVariablesEditProvider.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamelocalvariable/RenameLocalConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamelocalvariable/RenameLocalConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamelocalvariable/RenameLocalVariableRefactoring.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamemethod/MethodRenamer.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamemethod/RenameMethodConditionChecker.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamemethod/RenameMethodConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamemethod/RenameMethodRefactoring.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/splittemp/ILocalVarFinder.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/splittemp/LocalVarFinder.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/splittemp/LocalVarUsage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/splittemp/SplitTempConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/splittemp/SplitTempEditProvider.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/editprovider/ITreeClass.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/IncludedClassesSelectionDialog.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/RubyRefactoringWizard.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/AccessorSelectionPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/ConstructorSelectionPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/ConvertTempToFieldPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/EncapsulateFieldPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/ExtractMethodPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/FormatSourcePage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/InlineClassPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/InlineMethodPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/InlineTempPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/MergeClassPartsInFilePage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/MergeWithExternalClassPartsPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/MethodDownPusherSelectionPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/MoveFieldPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/OccurenceReplaceSelectionPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/OverrideMethodSelectionPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/RenamePage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/SplitTempPage.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/inlinemethod/TargetClassFinderUI.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/util/AbstractSelectionListener.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/util/SwtUtils.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/util/NodeUtil.java
trunk/org.rubypeople.rdt.refactoring.tests/src/org/rubypeople/rdt/refactoring/tests/core/TC_RefactoringConditionChecker.java
Added Paths:
-----------
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/IRefactoringConfig.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/RefactoringWizardPage.java
Removed Paths:
-------------
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/ClassVarNameProvider.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/InstVarNameProvider.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamelocalvariable/IRenameConfig.java
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/action/RenameAction.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/action/RenameAction.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/action/RenameAction.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -1,3 +1,31 @@
+/***** BEGIN LICENSE BLOCK *****
+ * Version: CPL 1.0/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Common Public
+ * License Version 1.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Software distributed under the License is distributed on an "AS
+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * rights and limitations under the License.
+ *
+ * Copyright (C) 2006 Lukas Felber <lf...@hs...>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the CPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the CPL, the GPL or the LGPL.
+ ***** END LICENSE BLOCK *****/
+
package org.rubypeople.rdt.refactoring.action;
import org.rubypeople.rdt.refactoring.core.rename.RenameRefactoring;
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/AllFilesClassNodeProvider.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/AllFilesClassNodeProvider.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/AllFilesClassNodeProvider.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -28,12 +28,12 @@
package org.rubypeople.rdt.refactoring.classnodeprovider;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
public class AllFilesClassNodeProvider extends ClassNodeProvider
{
- public AllFilesClassNodeProvider(DocumentProvider docProvider) {
+ public AllFilesClassNodeProvider(IDocumentProvider docProvider) {
super(docProvider, false);
for(String fileName : docProvider.getFileNames()) {
addSource(fileName);
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/ClassNodeProvider.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/ClassNodeProvider.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/ClassNodeProvider.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -39,7 +39,7 @@
import org.jruby.ast.SClassNode;
import org.jruby.lexer.yacc.ISourcePosition;
import org.rubypeople.rdt.refactoring.core.NodeProvider;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.exception.NoClassNodeException;
import org.rubypeople.rdt.refactoring.nodewrapper.ClassNodeWrapper;
import org.rubypeople.rdt.refactoring.nodewrapper.MethodNodeWrapper;
@@ -49,13 +49,13 @@
private Map<String, ClassNodeWrapper> classNodeWrappers;
- protected DocumentProvider documentProvider;
+ protected IDocumentProvider documentProvider;
- public ClassNodeProvider(DocumentProvider docProvider) {
+ public ClassNodeProvider(IDocumentProvider docProvider) {
this(docProvider, true);
}
- public ClassNodeProvider(DocumentProvider docProvider, boolean addActiveFile) {
+ public ClassNodeProvider(IDocumentProvider docProvider, boolean addActiveFile) {
classNodeWrappers = new LinkedHashMap<String, ClassNodeWrapper>();
this.documentProvider = docProvider;
if(addActiveFile) {
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/IncludedClassesProvider.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/IncludedClassesProvider.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/classnodeprovider/IncludedClassesProvider.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -38,14 +38,14 @@
import org.jruby.ast.Node;
import org.jruby.ast.StrNode;
import org.rubypeople.rdt.refactoring.core.NodeProvider;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
public class IncludedClassesProvider extends ClassNodeProvider {
private String includingFileName;
private ArrayList<IPath> includeFilePaths;
- public IncludedClassesProvider(DocumentProvider documentProvider) {
+ public IncludedClassesProvider(IDocumentProvider documentProvider) {
super(documentProvider);
this.includingFileName = documentProvider.getActiveFileName();
prepareIncludedFileNames();
@@ -101,7 +101,7 @@
}
- public DocumentProvider getDocumentProvider() {
+ public IDocumentProvider getDocumentProvider() {
return documentProvider;
}
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/FormatWithParenthesis.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/FormatWithParenthesis.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/FormatWithParenthesis.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -1,6 +1,31 @@
-/**
+/***** BEGIN LICENSE BLOCK *****
+ * Version: CPL 1.0/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Common Public
+ * License Version 1.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Software distributed under the License is distributed on an "AS
+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * rights and limitations under the License.
+ *
+ * Copyright (C) 2006 Mirko Stocker <me...@mi...>
*
- */
+ * Alternatively, the contents of this file may be used under the terms of
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the CPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the CPL, the GPL or the LGPL.
+ ***** END LICENSE BLOCK *****/
+
package org.rubypeople.rdt.refactoring.core;
import org.jruby.ast.visitor.rewriter.DefaultFormatHelper;
Copied: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/IRefactoringConfig.java (from rev 2105, trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/renamelocalvariable/IRenameConfig.java)
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/IRefactoringConfig.java (rev 0)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/IRefactoringConfig.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -0,0 +1,38 @@
+/***** BEGIN LICENSE BLOCK *****
+ * Version: CPL 1.0/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Common Public
+ * License Version 1.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Software distributed under the License is distributed on an "AS
+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * rights and limitations under the License.
+ *
+ * Copyright (C) 2006 Mirko Stocker <me...@mi...>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the CPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * the provisions above, a recipient may use your version of this file under
+ * the terms of any one of the CPL, the GPL or the LGPL.
+ ***** END LICENSE BLOCK *****/
+
+package org.rubypeople.rdt.refactoring.core;
+
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
+
+
+public interface IRefactoringConfig {
+ IDocumentProvider getDocumentProvider();
+
+ void setDocumentProvider(IDocumentProvider doc);
+}
\ No newline at end of file
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/RefactoringConditionChecker.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/RefactoringConditionChecker.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/RefactoringConditionChecker.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -42,9 +42,11 @@
private Map<String, Collection<String>> messages;
private IDocumentProvider docProvider;
+ private final IRefactoringConfig config;
- public RefactoringConditionChecker(IDocumentProvider docProvider, Object config) {
+ public RefactoringConditionChecker(IDocumentProvider docProvider, IRefactoringConfig config) {
this.docProvider = docProvider;
+ this.config = config;
initMessages();
addLocalInitialErrors();
if(shouldPerform(true)) {
@@ -141,5 +143,9 @@
protected void checkFinalConditions() {
}
- protected abstract void init(Object configObj);
+ public abstract void init(Object configObj);
+
+ public IRefactoringConfig getConfig() {
+ return config;
+ }
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/RubyRefactoring.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/RubyRefactoring.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/RubyRefactoring.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -184,12 +184,4 @@
public IMultiFileEditProvider getMultiFileEditProvider() {
return multiFileEditProvider;
}
-
-// protected RubyEditor getEditor() {
-// return editor;
-// }
-//
-// protected int getCarretPosition() {
-// return getEditor().getCaretPosition().getOffset();
-// }
}
Deleted: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/ClassVarNameProvider.java
===================================================================
Deleted: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/InstVarNameProvider.java
===================================================================
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConditionChecker.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConditionChecker.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConditionChecker.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -55,12 +55,12 @@
private RootNode rootNode;
public TempToFieldConditionChecker(TempToFieldConfig config) {
- super(config.getDocProvider(), config);
+ super(config.getDocumentProvider(), config);
}
public void init(Object configObj) {
config = (TempToFieldConfig) configObj;
- rootNode = config.getDocProvider().getActiveFileRootNode();
+ rootNode = config.getDocumentProvider().getActiveFileRootNode();
Node selectedNode = findSelectedNode(LocalAsgnNode.class, LocalVarNode.class, DVarNode.class, DAsgnNode.class);
if (selectedNode != null) {
config.setSelectedNode(new LocalNodeWrapper(selectedNode));
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConfig.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConfig.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConfig.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -31,13 +31,14 @@
package org.rubypeople.rdt.refactoring.core.converttemptofield;
import org.jruby.ast.MethodDefNode;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.core.IRefactoringConfig;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.nodewrapper.ClassNodeWrapper;
import org.rubypeople.rdt.refactoring.nodewrapper.LocalNodeWrapper;
-public class TempToFieldConfig {
+public class TempToFieldConfig implements IRefactoringConfig {
- private DocumentProvider docProvider;
+ private IDocumentProvider docProvider;
private int caretPosition;
private LocalNodeWrapper selectedNode;
private ClassNodeWrapper enclosingClassNode;
@@ -45,7 +46,7 @@
private boolean classField;
private String newName;
- public TempToFieldConfig(DocumentProvider docProvider, int caretPosition) {
+ public TempToFieldConfig(IDocumentProvider docProvider, int caretPosition) {
this.docProvider = docProvider;
this.caretPosition = caretPosition;
}
@@ -94,7 +95,11 @@
this.selectedNode = selectedItem;
}
- public DocumentProvider getDocProvider() {
+ public IDocumentProvider getDocumentProvider() {
return docProvider;
}
+
+ public void setDocumentProvider(IDocumentProvider doc) {
+ this.docProvider = doc;
+ }
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConverter.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConverter.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/converttemptofield/TempToFieldConverter.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -149,7 +149,7 @@
}
private Node findSelectedNode(Class<?>... filterNodes) {
- return SelectionNodeProvider.getSelectedNodeOfType(config.getDocProvider().getActiveFileRootNode(), config.getCaretPosition(), filterNodes);
+ return SelectionNodeProvider.getSelectedNodeOfType(config.getDocumentProvider().getActiveFileRootNode(), config.getCaretPosition(), filterNodes);
}
boolean isInitializationExternalizable() {
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/encapsulatefield/EncapsulateFieldConditionChecker.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/encapsulatefield/EncapsulateFieldConditionChecker.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/encapsulatefield/EncapsulateFieldConditionChecker.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -48,12 +48,12 @@
private Node rootNode;
public EncapsulateFieldConditionChecker(EncapsulateFieldConfig config) {
- super(config.getDocProvider(), config);
+ super(config.getDocumentProvider(), config);
}
public void init(Object configObj) {
config = (EncapsulateFieldConfig) configObj;
- rootNode = config.getDocProvider().getActiveFileRootNode();
+ rootNode = config.getDocumentProvider().getActiveFileRootNode();
config.setSelectedInstNode(findSelectedInstNode(config.getCaretPosition()));
if (!config.hasSelectedInstNode()) {
return;
@@ -101,11 +101,11 @@
}
private boolean selectedNodeIsInstVarNodeAndNotInMethod() {
- Node selectedVarNode = SelectionNodeProvider.getSelectedNodeOfType(config.getDocProvider().getActiveFileRootNode(), config.getCaretPosition(), InstVarNode.class, InstAsgnNode.class);
+ Node selectedVarNode = SelectionNodeProvider.getSelectedNodeOfType(config.getDocumentProvider().getActiveFileRootNode(), config.getCaretPosition(), InstVarNode.class, InstAsgnNode.class);
if (selectedVarNode == null) {
return false;
}
- Node enclosingMethod = SelectionNodeProvider.getSelectedNodeOfType(config.getDocProvider().getActiveFileRootNode(), config.getCaretPosition(), DefnNode.class);
+ Node enclosingMethod = SelectionNodeProvider.getSelectedNodeOfType(config.getDocumentProvider().getActiveFileRootNode(), config.getCaretPosition(), DefnNode.class);
return enclosingMethod == null;
}
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/encapsulatefield/EncapsulateFieldConfig.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/encapsulatefield/EncapsulateFieldConfig.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/encapsulatefield/EncapsulateFieldConfig.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -31,11 +31,12 @@
package org.rubypeople.rdt.refactoring.core.encapsulatefield;
import org.jruby.ast.types.INameNode;
+import org.rubypeople.rdt.refactoring.core.IRefactoringConfig;
import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.nodewrapper.AttrAccessorNodeWrapper;
import org.rubypeople.rdt.refactoring.nodewrapper.ClassNodeWrapper;
-public class EncapsulateFieldConfig {
+public class EncapsulateFieldConfig implements IRefactoringConfig {
private IDocumentProvider docProvider;
private int caretPosition;
@@ -54,7 +55,7 @@
return caretPosition;
}
- public IDocumentProvider getDocProvider() {
+ public IDocumentProvider getDocumentProvider() {
return docProvider;
}
@@ -125,4 +126,8 @@
}
return null;
}
+
+ public void setDocumentProvider(IDocumentProvider doc) {
+ this.docProvider = doc;
+ }
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/extractmethod/ExtractMethodConfig.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/extractmethod/ExtractMethodConfig.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/extractmethod/ExtractMethodConfig.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -32,13 +32,14 @@
import org.jruby.ast.MethodDefNode;
import org.jruby.ast.Node;
+import org.rubypeople.rdt.refactoring.core.IRefactoringConfig;
import org.rubypeople.rdt.refactoring.core.SelectionInformation;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.nodewrapper.PartialClassNodeWrapper;
-public class ExtractMethodConfig {
+public class ExtractMethodConfig implements IRefactoringConfig {
- private DocumentProvider docProvider;
+ private IDocumentProvider docProvider;
private SelectionInformation selectionInfo;
private ExtractedMethodHelper extractMethodHelper;
private Node selectedNodes;
@@ -47,7 +48,7 @@
private PartialClassNodeWrapper enclosingClassNode;
private Node rootNode;
- public ExtractMethodConfig(DocumentProvider docProvider, SelectionInformation selectionInfo) {
+ public ExtractMethodConfig(IDocumentProvider docProvider, SelectionInformation selectionInfo) {
this.docProvider = docProvider;
this.selectionInfo = optimizeSelection(selectionInfo);
}
@@ -62,7 +63,7 @@
return new SelectionInformation(start, end, selectionInfo.getSource());
}
- public DocumentProvider getDocumentProvider() {
+ public IDocumentProvider getDocumentProvider() {
return docProvider;
}
@@ -126,4 +127,8 @@
return rootNode;
}
+ public void setDocumentProvider(IDocumentProvider doc) {
+ this.docProvider = doc;
+ }
+
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/formatsource/FormatSourceConfig.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/formatsource/FormatSourceConfig.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/formatsource/FormatSourceConfig.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -28,17 +28,23 @@
package org.rubypeople.rdt.refactoring.core.formatsource;
+import org.rubypeople.rdt.refactoring.core.IRefactoringConfig;
import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
-public class FormatSourceConfig {
+public class FormatSourceConfig implements IRefactoringConfig {
- private DocumentProvider documentProvider;
+ private IDocumentProvider documentProvider;
public FormatSourceConfig(DocumentProvider documentProvider) {
this.documentProvider = documentProvider;
}
- public DocumentProvider getDocumentProvider() {
+ public IDocumentProvider getDocumentProvider() {
return documentProvider;
}
+
+ public void setDocumentProvider(IDocumentProvider doc) {
+ this.documentProvider = doc;
+ }
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/ClassInliner.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/ClassInliner.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/ClassInliner.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -45,7 +45,7 @@
import org.rubypeople.rdt.refactoring.core.NodeFactory;
import org.rubypeople.rdt.refactoring.core.NodeProvider;
import org.rubypeople.rdt.refactoring.core.SelectionNodeProvider;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.documentprovider.StringDocumentProvider;
import org.rubypeople.rdt.refactoring.editprovider.DeleteEditProvider;
import org.rubypeople.rdt.refactoring.editprovider.FileEditProvider;
@@ -293,12 +293,12 @@
private void addClassDeleteProvider(MultiFileEditProvider editProvider) {
DeleteEditProvider classPartDeleter = new DeleteEditProvider(inlinedClassPart.getWrappedNode());
- editProvider.addEditProvider(new FileEditProvider(config.getDocProvider().getActiveFileName(), classPartDeleter));
+ editProvider.addEditProvider(new FileEditProvider(config.getDocumentProvider().getActiveFileName(), classPartDeleter));
}
public PartialClassNodeWrapper getInlinedClassPart(){
- DocumentProvider docProvider = config.getDocProvider();
+ IDocumentProvider docProvider = config.getDocumentProvider();
Node rootNode = docProvider.getActiveFileRootNode();
try {
return SelectionNodeProvider.getSelectedClassNode(rootNode, config.getCaretPosition()).getFirstPartialClassNode();
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InlineClassConditionChecker.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InlineClassConditionChecker.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InlineClassConditionChecker.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -39,27 +39,27 @@
import org.rubypeople.rdt.refactoring.classnodeprovider.ClassNodeProvider;
import org.rubypeople.rdt.refactoring.core.RefactoringConditionChecker;
import org.rubypeople.rdt.refactoring.core.SelectionNodeProvider;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.exception.NoClassNodeException;
import org.rubypeople.rdt.refactoring.nodewrapper.ClassNodeWrapper;
import org.rubypeople.rdt.refactoring.nodewrapper.MethodNodeWrapper;
import org.rubypeople.rdt.refactoring.nodewrapper.PartialClassNodeWrapper;
import org.rubypeople.rdt.refactoring.util.Constants;
-public class InlineClassConditionChecker extends RefactoringConditionChecker{
+public class InlineClassConditionChecker extends RefactoringConditionChecker {
private InlineClassConfig config;
- private DocumentProvider docProvider;
+ private IDocumentProvider docProvider;
private ClassNodeWrapper selectedClass;
public InlineClassConditionChecker(InlineClassConfig config) {
- super(config.getDocProvider(), config);
+ super(config.getDocumentProvider(), config);
}
public void init(Object configObj) {
this.config = (InlineClassConfig) configObj;
- docProvider = config.getDocProvider();
+ docProvider = config.getDocumentProvider();
intiSourceClass();
initPossibleTargetClasses();
}
@@ -111,12 +111,12 @@
}
public void initPossibleTargetClasses(){
- ClassNodeProvider classesProvider = config.getDocProvider().getIncludedClassNodeProvider();
+ ClassNodeProvider classesProvider = config.getDocumentProvider().getIncludedClassNodeProvider();
Collection<ClassNodeWrapper> classNodes = classesProvider.getAllClassNodes();
ArrayList<ClassNodeWrapper> possibleClassNodes = new ArrayList<ClassNodeWrapper>();
- Node rootNode = config.getDocProvider().getActiveFileRootNode();
+ Node rootNode = config.getDocumentProvider().getActiveFileRootNode();
try {
ClassNodeWrapper selectedClass = SelectionNodeProvider.getSelectedClassNode(rootNode, config.getCaretPosition());
for(ClassNodeWrapper currentClass : classNodes){
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InlineClassConfig.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InlineClassConfig.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InlineClassConfig.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -40,18 +40,20 @@
import org.jruby.ast.LocalAsgnNode;
import org.jruby.ast.Node;
import org.rubypeople.rdt.refactoring.classnodeprovider.IncludedClassesProvider;
+import org.rubypeople.rdt.refactoring.core.IRefactoringConfig;
import org.rubypeople.rdt.refactoring.core.NodeProvider;
import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.nodewrapper.ClassNodeWrapper;
import org.rubypeople.rdt.refactoring.nodewrapper.MethodCallNodeWrapper;
import org.rubypeople.rdt.refactoring.nodewrapper.MethodNodeWrapper;
import org.rubypeople.rdt.refactoring.nodewrapper.PartialClassNodeWrapper;
-public class InlineClassConfig {
+public class InlineClassConfig implements IRefactoringConfig {
private int caretPosition;
- private DocumentProvider docProvider;
+ private IDocumentProvider docProvider;
private PartialClassNodeWrapper targetClassPart;
private Collection<ClassNodeWrapper> possibleTargetClasses;
private ClassNodeWrapper sourceClass;
@@ -65,7 +67,7 @@
public int getCaretPosition() {
return caretPosition;
}
- public DocumentProvider getDocProvider() {
+ public IDocumentProvider getDocumentProvider() {
return docProvider;
}
@@ -122,4 +124,8 @@
}
return assignmentsFound;
}
+
+ public void setDocumentProvider(IDocumentProvider doc) {
+ this.docProvider = doc;
+ }
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InsertClassBuilder.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InsertClassBuilder.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlineclass/InsertClassBuilder.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -198,9 +198,9 @@
private StringDocumentProvider getDocumentProviderForClassPart(PartialClassNodeWrapper inlinedClassPart) {
ISourcePosition classPartPosition = inlinedClassPart.getWrappedNode().getPosition();
- String activeFileContent = config.getDocProvider().getActiveFileContent();
+ String activeFileContent = config.getDocumentProvider().getActiveFileContent();
String inlinedClassDocument = activeFileContent.substring(classPartPosition.getStartOffset(), classPartPosition.getEndOffset());
- String fileName = "part_of_" + config.getDocProvider().getActiveFileName(); //$NON-NLS-1$
+ String fileName = "part_of_" + config.getDocumentProvider().getActiveFileName(); //$NON-NLS-1$
StringDocumentProvider inlinedClassDocumentProvider = new StringDocumentProvider(fileName, inlinedClassDocument);
return inlinedClassDocumentProvider;
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/IMethodFinder.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/IMethodFinder.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/IMethodFinder.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -29,12 +29,12 @@
package org.rubypeople.rdt.refactoring.core.inlinemethod;
import org.jruby.ast.MethodDefNode;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
/**
* Searches for the given method name in the class name in the provided document. Returns the
* found node.
*/
public interface IMethodFinder {
- MethodDefNode find(String className, String methodName, DocumentProvider doc);
+ MethodDefNode find(String className, String methodName, IDocumentProvider doc);
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/ISelectedCallFinder.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/ISelectedCallFinder.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/ISelectedCallFinder.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -28,9 +28,9 @@
package org.rubypeople.rdt.refactoring.core.inlinemethod;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.nodewrapper.MethodCallNodeWrapper;
public interface ISelectedCallFinder {
- MethodCallNodeWrapper findSelectedCall(int pos, DocumentProvider doc);
+ MethodCallNodeWrapper findSelectedCall(int pos, IDocumentProvider doc);
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/ITargetClassFinder.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/ITargetClassFinder.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/ITargetClassFinder.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -28,7 +28,7 @@
package org.rubypeople.rdt.refactoring.core.inlinemethod;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.nodewrapper.MethodCallNodeWrapper;
@@ -36,5 +36,5 @@
/**
* Try to find the receiver's type from a call.
*/
- String findTargetClass(MethodCallNodeWrapper call, DocumentProvider doc);
+ String findTargetClass(MethodCallNodeWrapper call, IDocumentProvider doc);
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/InlineMethodConditionChecker.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/InlineMethodConditionChecker.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/InlineMethodConditionChecker.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -41,7 +41,7 @@
import org.rubypeople.rdt.refactoring.core.NodeProvider;
import org.rubypeople.rdt.refactoring.core.RefactoringConditionChecker;
import org.rubypeople.rdt.refactoring.core.SelectionNodeProvider;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.documentprovider.StringDocumentProvider;
import org.rubypeople.rdt.refactoring.util.NodeUtil;
@@ -72,7 +72,7 @@
renameDuplicates(config.getDocumentProvider());
}
- private void renameDuplicates(DocumentProvider doc) {
+ private void renameDuplicates(IDocumentProvider doc) {
StaticScope parent = NodeUtil.getScope(SelectionNodeProvider.getEnclosingScope(doc.getActiveFileRootNode(), config.getSelectedCall().getWrappedNode()));
ArrayList<String> localNames = new ArrayList<String>();
@@ -115,7 +115,7 @@
config.setMethodDefDoc(new ParameterReplacer().replace(config.getDocumentProvider(), config.getSelectedCall(), config.getMethodDefinitionNode()));
}
- private void createInlinedMethodBody(DocumentProvider doc) {
+ private void createInlinedMethodBody(IDocumentProvider doc) {
MethodBodyStatementReplacer bodyReplacer = new MethodBodyStatementReplacer();
if(config.getSelectedCall().getReceiverNode() != null) {
final String name = ((INameNode)config.getSelectedCall().getReceiverNode()).getName();
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/InlineMethodConfig.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/InlineMethodConfig.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/InlineMethodConfig.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -32,24 +32,25 @@
import org.jruby.ast.MethodDefNode;
import org.jruby.ast.Node;
+import org.rubypeople.rdt.refactoring.core.IRefactoringConfig;
import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.nodewrapper.MethodCallNodeWrapper;
-public class InlineMethodConfig {
+public class InlineMethodConfig implements IRefactoringConfig {
private Boolean singleReturnStatement;
private MethodCallNodeWrapper selectedCall;
private String className;
private MethodDefNode methodDefinitionNode;
private DocumentProvider methodDefDoc;
- private final DocumentProvider originalDocument;
+ private IDocumentProvider originalDocument;
private int pos;
private ITargetClassFinder targetClassFinder;
private Collection<String> usedMembers;
private Node callParent;
public InlineMethodConfig(DocumentProvider doc, int pos, ITargetClassFinder targetClassFinder) {
-
originalDocument = doc;
this.pos = pos;
this.targetClassFinder = targetClassFinder;
@@ -91,7 +92,7 @@
return targetClassFinder;
}
- public DocumentProvider getDocumentProvider() {
+ public IDocumentProvider getDocumentProvider() {
return originalDocument;
}
@@ -122,4 +123,8 @@
public Collection<String> getUsedMembers() {
return usedMembers;
}
+
+ public void setDocumentProvider(IDocumentProvider doc) {
+ this.originalDocument = doc;
+ }
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/MethodFinder.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/MethodFinder.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/MethodFinder.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -30,12 +30,12 @@
import org.jruby.ast.MethodDefNode;
import org.rubypeople.rdt.refactoring.classnodeprovider.IncludedClassesProvider;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.nodewrapper.MethodNodeWrapper;
public class MethodFinder implements IMethodFinder {
- public MethodDefNode find(String className, String methodName, DocumentProvider doc) {
+ public MethodDefNode find(String className, String methodName, IDocumentProvider doc) {
for(MethodNodeWrapper method : new IncludedClassesProvider(doc).getAllMethodsFor(className)) {
if(method.getName().equals(methodName)) {
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/SelectedCallFinder.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/SelectedCallFinder.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/SelectedCallFinder.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -33,12 +33,12 @@
import org.jruby.ast.Node;
import org.jruby.ast.VCallNode;
import org.rubypeople.rdt.refactoring.core.SelectionNodeProvider;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.nodewrapper.MethodCallNodeWrapper;
public class SelectedCallFinder implements ISelectedCallFinder {
- public MethodCallNodeWrapper findSelectedCall(final int pos, final DocumentProvider doc) {
+ public MethodCallNodeWrapper findSelectedCall(final int pos, final IDocumentProvider doc) {
final Node selectedNode = SelectionNodeProvider.getSelectedNodeOfType(doc.getActiveFileRootNode(), pos, CallNode.class, FCallNode.class, VCallNode.class);
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/TargetClassFinder.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/TargetClassFinder.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinemethod/TargetClassFinder.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -43,7 +43,7 @@
import org.rubypeople.rdt.refactoring.classnodeprovider.ClassNodeProvider;
import org.rubypeople.rdt.refactoring.core.NodeProvider;
import org.rubypeople.rdt.refactoring.core.SelectionNodeProvider;
-import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.exception.NoClassNodeException;
import org.rubypeople.rdt.refactoring.nodewrapper.ClassNodeWrapper;
import org.rubypeople.rdt.refactoring.nodewrapper.FieldNodeWrapper;
@@ -53,7 +53,7 @@
public class TargetClassFinder implements ITargetClassFinder {
- public String findTargetClass(final MethodCallNodeWrapper call, final DocumentProvider doc) {
+ public String findTargetClass(final MethodCallNodeWrapper call, final IDocumentProvider doc) {
String name = ""; //$NON-NLS-1$
@@ -71,7 +71,7 @@
return name;
}
- private String getSurroundingClass(final MethodCallNodeWrapper call, final DocumentProvider doc) {
+ private String getSurroundingClass(final MethodCallNodeWrapper call, final IDocumentProvider doc) {
ClassNode classNode = ((ClassNode) NodeProvider.getEnclosingNodeOfType(doc.getActiveFileRootNode(), call.getWrappedNode(), ClassNode.class));
if(classNode != null) {
return classNode.getCPath().getName();
@@ -79,7 +79,7 @@
return ""; //$NON-NLS-1$
}
- private AssignableNode getAssignableNode(final MethodCallNodeWrapper call, final DocumentProvider doc) {
+ private AssignableNode getAssignableNode(final MethodCallNodeWrapper call, final IDocumentProvider doc) {
AssignableNode receiverType = null;
if(call.getReceiverNode() instanceof LocalVarNode) {
@@ -99,7 +99,7 @@
/**
* Finds the corresponding InstAsgnNode node to the supplied InstVarNode
*/
- public InstAsgnNode instVarFromCall(final InstVarNode node, final DocumentProvider doc) {
+ public InstAsgnNode instVarFromCall(final InstVarNode node, final IDocumentProvider doc) {
InstAsgnNode decoratedNode = null;
try {
@@ -122,7 +122,7 @@
return decoratedNode;
}
- private InstAsgnNode findInstVarInScope(final InstVarNode node, final DocumentProvider doc, InstAsgnNode decoratedNode) {
+ private InstAsgnNode findInstVarInScope(final InstVarNode node, final IDocumentProvider doc, InstAsgnNode decoratedNode) {
Collection<Node> assignments = NodeProvider.getSubNodes(doc.getActiveFileRootNode(), InstAsgnNode.class);
for (Node assignment : assignments) {
if(((InstAsgnNode) assignment).getName().equals(node.getName()) && assignment.getPosition().getStartOffset() < node.getPosition().getStartOffset()) {
@@ -135,7 +135,7 @@
/**
* Finds the corresponding LocalAsgnNode node to the supplied LocalVarNode
*/
- public LocalAsgnNode localAsgnFromLocalVar(final LocalVarNode node, final DocumentProvider doc) {
+ public LocalAsgnNode localAsgnFromLocalVar(final LocalVarNode node, final IDocumentProvider doc) {
Node enclosingScope = SelectionNodeProvider.getEnclosingScope(doc.getActiveFileRootNode(), node);
LocalAsgnNode asgnNode = findLastAssignmentToVar(node, NodeUtil.getBody(enclosingScope));
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/InlineTempConditionChecker.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/InlineTempConditionChecker.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/InlineTempConditionChecker.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -53,12 +53,12 @@
private RootNode rootNode;
public InlineTempConditionChecker(InlineTempConfig config) {
- super(config.getDocProvider(), config);
+ super(config.getDocumentProvider(), config);
}
public void init(Object configObj) {
this.config = (InlineTempConfig) configObj;
- rootNode = config.getDocProvider().getActiveFileRootNode();
+ rootNode = config.getDocumentProvider().getActiveFileRootNode();
int caretPosition = config.getCaretPosition();
config.setEnclosingMethod((MethodDefNode) SelectionNodeProvider.getSelectedNodeOfType(rootNode, caretPosition, MethodDefNode.class));
@@ -149,7 +149,7 @@
private boolean isNewMethodNameUnique() {
- Node environment = SelectionNodeProvider.getSelectedNodeOfType(config.getDocProvider().getActiveFileRootNode(), config.getCaretPosition(), ClassNode.class, RootNode.class);
+ Node environment = SelectionNodeProvider.getSelectedNodeOfType(config.getDocumentProvider().getActiveFileRootNode(), config.getCaretPosition(), ClassNode.class, RootNode.class);
Collection<MethodDefNode> methodNodes = NodeProvider.gatherMethodDefinitionNodes(NodeUtil.getBody(environment));
for (MethodDefNode currentDefnNode : methodNodes) {
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/InlineTempConfig.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/InlineTempConfig.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/InlineTempConfig.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -34,16 +34,18 @@
import org.jruby.ast.MethodDefNode;
import org.jruby.ast.Node;
+import org.rubypeople.rdt.refactoring.core.IRefactoringConfig;
import org.rubypeople.rdt.refactoring.documentprovider.DocumentProvider;
+import org.rubypeople.rdt.refactoring.documentprovider.IDocumentProvider;
import org.rubypeople.rdt.refactoring.nodewrapper.LocalNodeWrapper;
-public class InlineTempConfig {
+public class InlineTempConfig implements IRefactoringConfig {
private boolean replaceTempWithQuery;
private String newMethodName = "extractedMethod"; //$NON-NLS-1$
- private DocumentProvider docProvider;
+ private IDocumentProvider docProvider;
private int caretPosition;
@@ -80,7 +82,7 @@
this.newMethodName = newMethodName;
}
- public DocumentProvider getDocProvider() {
+ public IDocumentProvider getDocumentProvider() {
return docProvider;
}
@@ -140,4 +142,8 @@
public void setEnclosingMethod(MethodDefNode enclosingMethod) {
this.enclosingMethod = enclosingMethod;
}
+
+ public void setDocumentProvider(IDocumentProvider doc) {
+ this.docProvider = doc;
+ }
}
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/TempInliner.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/TempInliner.java 2007-03-09 15:23:56 UTC (rev 2114)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/inlinetemp/TempInliner.java 2007-03-09 16:09:51 UTC (rev 2115)
@@ -86,7 +86,7 @@
int startPos = config.getDefinitionNode().getValueNode().getPosition().getStartOffset();
int endPos = config.getDefinitionNode().getValueNode().getPosition().getEndOffset();
- extractConfig = new ExtractMethodConfig(config.getDocProvider(), new SelectionInformation(startPos, endPos, "")); //$NON-NLS-1$
+ extractConfig = new ExtractMethodConfig(config.getDocumentProvider(), new SelectionInformation(sta...
[truncated message content] |