use of org.eclipse.titan.executor.views.executormonitor.LaunchElement in project titan.EclipsePlug-ins by eclipse.
the class TestExecutionView method selectionChanged.
@Override
public void selectionChanged(final IWorkbenchPart part, final ISelection selection) {
if (this.equals(part) || !(selection instanceof IStructuredSelection) || null == viewer.getContentProvider()) {
return;
}
ITreeLeaf selectedElement;
if (selection.isEmpty()) {
selectedElement = null;
} else {
selectedElement = (ITreeLeaf) ((IStructuredSelection) selection).getFirstElement();
}
if (null != selectedElement) {
while (!(selectedElement instanceof LaunchElement)) {
selectedElement = selectedElement.parent();
}
}
if (null != actualInput && actualInput.equals(selectedElement)) {
viewer.refresh(false);
} else {
viewer.setInput(selectedElement);
actualInput = selectedElement;
}
if (isFollowing && null != actualInput && actualInput instanceof LaunchElement) {
final List<ITreeLeaf> children = ((LaunchElement) actualInput).children();
for (ITreeLeaf aChildren : children) {
final BaseExecutor executor = ((MainControllerElement) aChildren).executor();
if (null != executor && !executor.executedTests().isEmpty()) {
viewer.reveal(executor.executedTests().get(executor.executedTests().size() - 1));
}
}
}
createTooltip(selectedElement);
if (null == selectedElement) {
saveAsAction.setEnabled(false);
} else {
saveAsAction.setEnabled(true);
}
}
use of org.eclipse.titan.executor.views.executormonitor.LaunchElement in project titan.EclipsePlug-ins by eclipse.
the class NotificationView method selectionChanged.
@Override
public void selectionChanged(final IWorkbenchPart part, final ISelection selection) {
if (this.equals(part) || !(selection instanceof IStructuredSelection) || null == viewer.getContentProvider()) {
return;
}
ITreeLeaf selectedElement;
if (selection.isEmpty()) {
selectedElement = null;
} else {
selectedElement = (ITreeLeaf) ((IStructuredSelection) selection).getFirstElement();
}
if (null != selectedElement) {
while (!(selectedElement instanceof LaunchElement)) {
selectedElement = selectedElement.parent();
}
}
if (null != actualInput && actualInput.equals(selectedElement)) {
viewer.refresh(false);
} else {
viewer.setInput(selectedElement);
actualInput = selectedElement;
}
if (null == selectedElement) {
setTitleToolTip(null);
clearAction.setEnabled(false);
saveAsAction.setEnabled(false);
} else {
setTitleToolTip(selectedElement.name());
clearAction.setEnabled(true);
saveAsAction.setEnabled(true);
}
if (isFollowing && null != actualInput && actualInput instanceof LaunchElement) {
final List<ITreeLeaf> children = ((LaunchElement) actualInput).children();
for (ITreeLeaf aChildren : children) {
final BaseExecutor executor = ((MainControllerElement) aChildren).executor();
if (null != executor && !executor.notifications().isEmpty()) {
viewer.reveal(executor.notifications().get(executor.notifications().size() - 1));
}
}
}
}
use of org.eclipse.titan.executor.views.executormonitor.LaunchElement in project titan.EclipsePlug-ins by eclipse.
the class NotificationView method saveLaunchElementAs.
/**
* Saves the contents of a tree starting at the provided launch config node.
*
* @param shell the shell to be used to display dialogs.
* @param actualInput the launch configuration to start from.
*/
public static void saveLaunchElementAs(final Shell shell, final ITreeLeaf actualInput) {
final FileDialog dialog = new FileDialog(shell, SWT.NONE);
dialog.setFilterExtensions(new String[] { "log" });
final String filePath = dialog.open();
if (null == filePath) {
return;
}
final File file = new File(filePath);
if (file.exists()) {
if (!file.canWrite()) {
ErrorDialog.openError(shell, "Read-only file", "The file is read-only, please choose another file", Status.OK_STATUS);
return;
}
} else {
try {
file.createNewFile();
} catch (IOException e) {
ErrorDialog.openError(shell, "Can not create file", "The file could not be created and will not be saved", Status.OK_STATUS);
return;
}
}
if (null == actualInput || !(actualInput instanceof LaunchElement)) {
// nothing or wrong kind of element selected
return;
}
PrintWriter out = null;
try {
out = new PrintWriter(new FileWriter(file));
final List<ITreeLeaf> children = ((LaunchElement) actualInput).children();
for (ITreeLeaf aChildren : children) {
final BaseExecutor executor = ((MainControllerElement) aChildren).executor();
if (null != executor) {
List<Notification> tempList = executor.notifications();
for (Notification aTempList : tempList) {
out.println(aTempList.toString());
}
}
}
} catch (IOException e) {
ErrorDialog.openError(shell, "Can not write the file", "An error occured while writing to the file\n" + filePath, Status.OK_STATUS);
return;
} finally {
IOUtils.closeQuietly(out);
}
final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
final IFile[] outputFiles = root.findFilesForLocationURI(URIUtil.toURI(filePath));
ResourceUtils.refreshResources(Arrays.asList(outputFiles));
}
use of org.eclipse.titan.executor.views.executormonitor.LaunchElement in project titan.EclipsePlug-ins by eclipse.
the class JniExecutor method terminate.
@Override
public void terminate(final boolean external) {
McStateEnum state = jnimw.get_state();
if (MC_INACTIVE == state.getValue()) {
setRunning(false);
isTerminated = true;
if (mainControllerRoot != null) {
mainControllerRoot.setTerminated();
LaunchElement launchElement = null;
for (Map.Entry<ILaunch, BaseExecutor> entry : ExecutorStorage.getExecutorMap().entrySet()) {
if (entry.getValue().equals(mainControllerRoot.executor()) && LaunchStorage.getLaunchElementMap().containsKey(entry.getKey())) {
launchElement = LaunchStorage.getLaunchElementMap().get(entry.getKey());
}
}
if (launchElement != null) {
launchElement.setTerminated();
}
if (Activator.getMainView() != null) {
Activator.getMainView().refreshAll();
}
}
} else {
shutdownSession();
}
updateGUI();
}
use of org.eclipse.titan.executor.views.executormonitor.LaunchElement in project titan.EclipsePlug-ins by eclipse.
the class SingleExecutor method startSession.
@Override
public void startSession(final ILaunch arg2) {
super.startSession(arg2);
if (automaticExecuteSectionExecution) {
if (!LaunchStorage.getLaunchElementMap().containsKey(arg2)) {
ILaunchConfiguration launchConfiguration = arg2.getLaunchConfiguration();
LaunchElement launchElement = new LaunchElement(launchConfiguration.getName(), arg2);
LaunchStorage.registerLaunchElement(launchElement);
ExecutorStorage.registerExecutorStorage(launchElement);
}
startExecution(true);
}
}
Aggregations