[Pydev-cvs] org.python.pydev.refactoring/src/org/python/pydev/refactoring/coderefactoring/extractme
Brought to you by:
fabioz
Update of /cvsroot/pydev/org.python.pydev.refactoring/src/org/python/pydev/refactoring/coderefactoring/extractmethod In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24681/src/org/python/pydev/refactoring/coderefactoring/extractmethod Modified Files: ExtractMethodRequestProcessor.java ExtractMethodChangeProcessor.java ExtractMethodRefactoring.java Log Message: Integrated PEPTIC changes into pydev. Index: ExtractMethodRefactoring.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev.refactoring/src/org/python/pydev/refactoring/coderefactoring/extractmethod/ExtractMethodRefactoring.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ExtractMethodRefactoring.java 5 Mar 2007 02:27:55 -0000 1.4 --- ExtractMethodRefactoring.java 20 Oct 2007 19:31:04 -0000 1.5 *************** *** 1,2 **** --- 1,10 ---- + /* + * Copyright (C) 2006, 2007 Dennis Hunziker, Ueli Kistler + * Copyright (C) 2007 Reto Schuettel, Robin Stocker + * + * IFS Institute for Software, HSR Rapperswil, Switzerland + * + */ + package org.python.pydev.refactoring.coderefactoring.extractmethod; *************** *** 16,22 **** import org.python.pydev.refactoring.core.RefactoringInfo; import org.python.pydev.refactoring.core.change.IChangeProcessor; ! import org.python.pydev.refactoring.ui.UITexts; ! import org.python.pydev.refactoring.ui.pages.ExtractMethodPage; ! import org.python.pydev.refactoring.ui.pages.ExtractMethodPreviewPage; public class ExtractMethodRefactoring extends AbstractPythonRefactoring { --- 24,29 ---- import org.python.pydev.refactoring.core.RefactoringInfo; import org.python.pydev.refactoring.core.change.IChangeProcessor; ! import org.python.pydev.refactoring.messages.Messages; ! import org.python.pydev.refactoring.ui.pages.extractmethod.ExtractMethodPage; public class ExtractMethodRefactoring extends AbstractPythonRefactoring { *************** *** 32,37 **** private ModuleAdapter module; ! public ExtractMethodRefactoring(String name, RefactoringInfo req) { ! super(name, req); this.parsedExtendedSelection = null; this.parsedUserSelection = req.getParsedUserSelection(); --- 39,44 ---- private ModuleAdapter module; ! public ExtractMethodRefactoring(RefactoringInfo req) { ! super(req); this.parsedExtendedSelection = null; this.parsedUserSelection = req.getParsedUserSelection(); *************** *** 42,65 **** try { ! initWizard(name); } catch (Throwable e) { ! status.addInfo(UITexts.infoFixCode); } } ! private void initWizard(String name) throws Throwable { ! ITextSelection standardSelection = req.getUserSelection(); ModuleAdapter standardModule = this.parsedUserSelection; if (standardModule == null) { ! standardSelection = req.getExtendedSelection(); standardModule = this.parsedExtendedSelection; } ! this.requestProcessor = new ExtractMethodRequestProcessor(req.getScopeAdapter(), standardModule, this.getModule(), standardSelection); ! if (req.isSelectionExtensionRequired() && this.parsedExtendedSelection != null && this.parsedUserSelection != null) { ! this.pages.add(new ExtractMethodPreviewPage(name, this.req, this.requestProcessor)); ! } ! this.pages.add(new ExtractMethodPage(name, this.requestProcessor)); } --- 49,69 ---- try { ! initWizard(); } catch (Throwable e) { ! status.addInfo(Messages.infoFixCode); } } ! private void initWizard() throws Throwable { ! ITextSelection standardSelection = info.getUserSelection(); ModuleAdapter standardModule = this.parsedUserSelection; if (standardModule == null) { ! standardSelection = info.getExtendedSelection(); standardModule = this.parsedExtendedSelection; } ! this.requestProcessor = new ExtractMethodRequestProcessor(info.getScopeAdapter(), standardModule, this.getModule(), standardSelection); ! this.pages.add(new ExtractMethodPage(getName(), this.requestProcessor)); } *************** *** 67,71 **** protected List<IChangeProcessor> getChangeProcessors() { List<IChangeProcessor> processors = new ArrayList<IChangeProcessor>(); ! this.changeProcessor = new ExtractMethodChangeProcessor(this.name, this.req, this.requestProcessor); processors.add(changeProcessor); return processors; --- 71,75 ---- protected List<IChangeProcessor> getChangeProcessors() { List<IChangeProcessor> processors = new ArrayList<IChangeProcessor>(); ! this.changeProcessor = new ExtractMethodChangeProcessor(getName(), this.info, this.requestProcessor); processors.add(changeProcessor); return processors; *************** *** 76,80 **** if (this.requestProcessor.getScopeAdapter() == null || this.requestProcessor.getScopeAdapter() instanceof IClassDefAdapter) { ! status.addFatalError(UITexts.extractMethodScopeInvalid); return status; } --- 80,84 ---- if (this.requestProcessor.getScopeAdapter() == null || this.requestProcessor.getScopeAdapter() instanceof IClassDefAdapter) { ! status.addFatalError(Messages.extractMethodScopeInvalid); return status; } *************** *** 83,87 **** if (parsedExtendedSelection == null && parsedUserSelection == null) { ! status.addFatalError(UITexts.extractMethodIncompleteSelection); return status; } --- 87,91 ---- if (parsedExtendedSelection == null && parsedUserSelection == null) { ! status.addFatalError(Messages.extractMethodIncompleteSelection); return status; } *************** *** 121,123 **** --- 125,132 ---- return module; } + + @Override + public String getName() { + return Messages.extractMethodLabel; + } } Index: ExtractMethodRequestProcessor.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev.refactoring/src/org/python/pydev/refactoring/coderefactoring/extractmethod/ExtractMethodRequestProcessor.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ExtractMethodRequestProcessor.java 2 May 2007 13:47:32 -0000 1.4 --- ExtractMethodRequestProcessor.java 20 Oct 2007 19:31:04 -0000 1.5 *************** *** 1,2 **** --- 1,9 ---- + /* + * Copyright (C) 2006, 2007 Dennis Hunziker, Ueli Kistler + * + * IFS Institute for Software, HSR Rapperswil, Switzerland + * + */ + package org.python.pydev.refactoring.coderefactoring.extractmethod; Index: ExtractMethodChangeProcessor.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev.refactoring/src/org/python/pydev/refactoring/coderefactoring/extractmethod/ExtractMethodChangeProcessor.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ExtractMethodChangeProcessor.java 27 Feb 2007 12:24:54 -0000 1.2 --- ExtractMethodChangeProcessor.java 20 Oct 2007 19:31:04 -0000 1.3 *************** *** 1,6 **** package org.python.pydev.refactoring.coderefactoring.extractmethod; - import org.eclipse.text.edits.TextEdit; - import org.eclipse.text.edits.TextEditGroup; import org.python.pydev.refactoring.coderefactoring.extractmethod.edit.ExtractCallEdit; import org.python.pydev.refactoring.coderefactoring.extractmethod.edit.ExtractMethodEdit; --- 1,12 ---- + /* + * Copyright (C) 2006, 2007 Dennis Hunziker, Ueli Kistler + * Copyright (C) 2007 Reto Schuettel, Robin Stocker + * + * IFS Institute for Software, HSR Rapperswil, Switzerland + * + */ + package org.python.pydev.refactoring.coderefactoring.extractmethod; import org.python.pydev.refactoring.coderefactoring.extractmethod.edit.ExtractCallEdit; import org.python.pydev.refactoring.coderefactoring.extractmethod.edit.ExtractMethodEdit; *************** *** 9,16 **** import org.python.pydev.refactoring.core.change.AbstractFileChangeProcessor; import org.python.pydev.refactoring.core.request.IRequestProcessor; ! import org.python.pydev.refactoring.ui.UITexts; public class ExtractMethodChangeProcessor extends AbstractFileChangeProcessor<ExtractMethodRequest> { - public ExtractMethodChangeProcessor(String name, RefactoringInfo info, IRequestProcessor<ExtractMethodRequest> requestProcessor) { super(name, info, requestProcessor); --- 15,21 ---- import org.python.pydev.refactoring.core.change.AbstractFileChangeProcessor; import org.python.pydev.refactoring.core.request.IRequestProcessor; ! import org.python.pydev.refactoring.messages.Messages; public class ExtractMethodChangeProcessor extends AbstractFileChangeProcessor<ExtractMethodRequest> { public ExtractMethodChangeProcessor(String name, RefactoringInfo info, IRequestProcessor<ExtractMethodRequest> requestProcessor) { super(name, info, requestProcessor); *************** *** 19,23 **** @Override protected void processEdit() { - for (ExtractMethodRequest req : requestProcessor.getRefactoringRequests()) { processExtraction(req); --- 24,27 ---- *************** *** 26,51 **** private void processExtraction(ExtractMethodRequest req) { - TextEditGroup extractMethod = new TextEditGroup(UITexts.extractMethodChangeName); - TextEditGroup substitute = new TextEditGroup(UITexts.extractMethodReplaceWithCall); - ExtractMethodEdit extractMethodEdit = new ExtractMethodEdit(req); ExtractCallEdit extractCallEdit = new ExtractCallEdit(req); ! ! TextEdit method = extractMethodEdit.getEdit(); ! TextEdit call = extractCallEdit.getEdit(); ! ! addEdit(method); ! addEdit(call); ! ! updateGroup(extractMethod, substitute, method, call); ! } ! ! private void updateGroup(TextEditGroup extractMethod, TextEditGroup substitute, TextEdit method, TextEdit call) { ! extractMethod.addTextEdit(method); ! substitute.addTextEdit(call); ! ! addGroup(extractMethod); ! addGroup(substitute); } - } --- 30,38 ---- private void processExtraction(ExtractMethodRequest req) { ExtractMethodEdit extractMethodEdit = new ExtractMethodEdit(req); ExtractCallEdit extractCallEdit = new ExtractCallEdit(req); ! ! registerEdit(extractMethodEdit, Messages.extractMethodChangeName); ! registerEdit(extractCallEdit, Messages.extractMethodReplaceWithCall); } } |