/*
* Copyright 2017 Nokia Solutions and Networks
* Licensed under the Apache License, Version 2.0,
* see license.txt file for details.
*/
package org.robotframework.ide.eclipse.main.plugin.tableeditor.cases.handler;
import java.util.List;
import javax.inject.Named;
import org.eclipse.e4.core.di.annotations.Execute;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.robotframework.ide.eclipse.main.plugin.model.RobotCasesSection;
import org.robotframework.ide.eclipse.main.plugin.navigator.actions.RunTestSuiteAction;
import org.robotframework.ide.eclipse.main.plugin.navigator.actions.RunTestSuiteAction.Mode;
import org.robotframework.ide.eclipse.main.plugin.tableeditor.cases.handler.RunTestsFromSelectionHandler.E4RunTestHandler;
import org.robotframework.red.commands.DIParameterizedHandler;
import org.robotframework.red.viewers.Selections;
public class RunTestsFromSelectionHandler extends DIParameterizedHandler<E4RunTestHandler> {
public RunTestsFromSelectionHandler() {
super(E4RunTestHandler.class);
}
public static class E4RunTestHandler {
@Execute
public void runSelectedTests(final @Named(Selections.SELECTION) IStructuredSelection selection,
@Named(RunTestFromTableDynamicMenuItem.RUN_TEST_COMMAND_MODE_PARAMETER) final String mode) {
if (!selection.isEmpty()) {
final List<RobotCasesSection> testSuites = Selections.getElements(selection, RobotCasesSection.class);
RunTestSuiteAction.runTestSuite(new StructuredSelection(testSuites), Mode.valueOf(mode));
}
}
}
}