use of org.eclipse.titan.executor.views.executormonitor.MainControllerElement 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.MainControllerElement in project titan.EclipsePlug-ins by eclipse.
the class BaseExecutor method startSession.
/**
* This is called as the last command of the launch of an Executor. It tries to connect a main controller root to the launch that started, and the
* executor itself.
* <p>
* This is not a Main Controller start session.
*
* @param launch the ILaunch instance to start the session with.
*/
public void startSession(final ILaunch launch) {
launchStarted = launch;
deleteLogFiles();
if (LaunchStorage.getLaunchElementMap().containsKey(launch)) {
mainControllerRoot = new MainControllerElement(MAIN_CONTROLLER, this);
LaunchStorage.getLaunchElementMap().get(launch).addChildToEnd(mainControllerRoot);
}
ExecutorStorage.getExecutorMap().put(launch, this);
if (Activator.getMainView() != null) {
Activator.getMainView().expandToLevel(mainControllerRoot, 0);
Activator.getMainView().refreshAll();
}
saveLastTimeUsageInfo();
}
Aggregations