]> git.uio.no Git - ifi-stolz-refaktor.git/blobdiff - software/no.uio.ifi.refaktor/src/no/uio/ifi/refaktor/handlers/ProjectWideSearchBasedExtractAndMoveMethodAnalysisHandler.java
ProjectWideSearchBasedExtractAndMoveMethodAnalysisHandler: make it work both for...
[ifi-stolz-refaktor.git] / software / no.uio.ifi.refaktor / src / no / uio / ifi / refaktor / handlers / ProjectWideSearchBasedExtractAndMoveMethodAnalysisHandler.java
index 80c5e1f6891f11cc2b0155799afe74c91f5ab909..c917dd1844706eecd525b6fc7ae4c3294184dfcc 100644 (file)
@@ -1,18 +1,26 @@
 package no.uio.ifi.refaktor.handlers;
 
 import static no.uio.ifi.refaktor.assertion.RefaktorAssert.assertThat;
+import static org.hamcrest.CoreMatchers.anyOf;
 import static org.hamcrest.CoreMatchers.instanceOf;
 import no.uio.ifi.refaktor.analyze.ExtractAndMoveMethodAnalysisResult;
 import no.uio.ifi.refaktor.analyze.analyzers.AggregationAnalyzer;
 import no.uio.ifi.refaktor.analyze.analyzers.ProjectWideExtractAndMoveMethodAnalyzer;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.jdt.core.IJavaProject;
 
 public class ProjectWideSearchBasedExtractAndMoveMethodAnalysisHandler extends AbstractSearchBasedExtractAndMoveMethodHandler {
 
        @Override
        protected AggregationAnalyzer<ExtractAndMoveMethodAnalysisResult> createAnalyzer(Object element) {
-               assertThat(element, instanceOf(IProject.class));
-               return new ProjectWideExtractAndMoveMethodAnalyzer((IProject) element);
+               assertThat(element, anyOf(instanceOf(IProject.class), instanceOf(IJavaProject.class)));
+               
+               if (element instanceof IProject)
+                       return new ProjectWideExtractAndMoveMethodAnalyzer((IProject) element);
+               else if (element instanceof IJavaProject)
+                       return new ProjectWideExtractAndMoveMethodAnalyzer((IJavaProject) element);
+
+               throw new IllegalArgumentException("Element <" + element + "> not of project type.");
        }
 }