package monolipse.nunit.launching; import java.io.IOException; import java.util.*; import monolipse.core.IAssemblySource; import monolipse.core.launching.BooLauncher; import monolipse.nunit.NUnitPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.model.ILaunchConfigurationDelegate; public class NUnitLaunchConfigurationDelegate implements ILaunchConfigurationDelegate { public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException { NUnitPlugin.logInfo("NUnitLaunchConfigurationDelegate.launch"); final IAssemblySource source = BooLauncher.getConfiguredAssemblySource(configuration); if (null == source) return; @SuppressWarnings("unchecked") final List<String> testNames = configuration.getAttribute(NUnitLaunchConfigurationConstants.ATTR_TEST_NAMES, Collections.emptyList()); try { new TestRunner(source, testNames).run(); } catch (IOException e) { NUnitPlugin.logException(e); } } }