package org.projectusus.autotestsuite.ui.internal.shortcuts;
import java.util.List;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jface.viewers.ISelection;
import org.projectusus.autotestsuite.core.internal.AllJavaProjectsInWorkspace;
import org.projectusus.autotestsuite.core.internal.CommonDependencyRoot;
import org.projectusus.jfeet.selection.ElementsFrom;
public class MultiProjectJUnitLaunchShortcut extends AbstractLaunchShortcut<List<IJavaProject>> {
@Override
protected List<IJavaProject> extract( ISelection selection ) {
return new ElementsFrom( selection ).as( IJavaProject.class );
}
@Override
protected ILaunchConfiguration findOrCreateConfig( List<IJavaProject> projects ) throws CoreException {
IJavaProject root = commonDependencyRoot().findFor( projects );
return creator().createNewConfig( root, projects );
}
private CommonDependencyRoot commonDependencyRoot() {
return new CommonDependencyRoot( new AllJavaProjectsInWorkspace() );
}
}