]>
Commit | Line | Data |
---|---|---|
2b4a9262 | 1 | package no.uio.ifi.refaktor.change.changers; |
49214add | 2 | |
33b364ef | 3 | import no.uio.ifi.refaktor.analyze.analyzers.SearchBasedExtractAndMoveMethodAnalyzer; |
df7eb88a | 4 | import no.uio.ifi.refaktor.analyze.comparators.FavorNoUnfixesExtractAndMoveCandidateComparator; |
c847e15b | 5 | import no.uio.ifi.refaktor.analyze.exceptions.RefaktorAnalyzerException; |
08f060c3 | 6 | import no.uio.ifi.refaktor.change.executors.ExtractAndMoveMethodExecutor; |
fa138108 | 7 | import no.uio.ifi.refaktor.change.executors.ExtractAndMoveMethodFromAnalysisExecutor; |
7a62bc80 | 8 | import no.uio.ifi.refaktor.forTests.Refactorer; |
37be5000 | 9 | |
49214add EK |
10 | import org.eclipse.core.runtime.CoreException; |
11 | import org.eclipse.core.runtime.IProgressMonitor; | |
0a865b44 | 12 | import org.eclipse.jdt.core.IMethod; |
49214add | 13 | |
7a62bc80 | 14 | public class SearchBasedExtractAndMoveMethodChanger implements Refactorer { |
49214add | 15 | |
37be5000 | 16 | private SearchBasedExtractAndMoveMethodAnalyzer analyzer; |
0a865b44 EK |
17 | |
18 | public SearchBasedExtractAndMoveMethodChanger(IMethod method) { | |
df7eb88a | 19 | this.analyzer = new SearchBasedExtractAndMoveMethodAnalyzer(method, new FavorNoUnfixesExtractAndMoveCandidateComparator()); |
0a865b44 EK |
20 | } |
21 | ||
49214add | 22 | @Override |
7a62bc80 | 23 | public void refactor(IProgressMonitor monitor) throws CoreException, RefaktorAnalyzerException { |
37be5000 | 24 | analyzer.analyze(); |
fa138108 | 25 | ExtractAndMoveMethodExecutor executor = new ExtractAndMoveMethodFromAnalysisExecutor(analyzer.getCandidate()); |
07a0f1ac | 26 | executor.execute(monitor); |
49214add EK |
27 | } |
28 | ||
29 | } |