use of org.eclipse.che.ide.extension.machine.client.processes.ProcessTreeNode in project che by eclipse.
the class ProcessesPanelPresenter method selectDevMachine.
/**
* Selects dev machine.
*/
public void selectDevMachine() {
for (final ProcessTreeNode processTreeNode : machineNodes.values()) {
if (processTreeNode.getData() instanceof MachineEntity) {
if (((MachineEntity) processTreeNode.getData()).isDev()) {
view.selectNode(processTreeNode);
notifyTreeNodeSelected(processTreeNode);
}
}
}
}
use of org.eclipse.che.ide.extension.machine.client.processes.ProcessTreeNode in project che by eclipse.
the class ProcessesPanelViewImpl method showProcessOutput.
@Override
public void showProcessOutput(String processId) {
if (!processWidgets.containsKey(processId)) {
processId = "";
}
onResize();
final WidgetToShow widgetToShow = processWidgets.get(processId);
final SubPanel subPanel = widget2Panels.get(widgetToShow);
if (subPanel != null) {
subPanel.activateWidget(widgetToShow);
}
activeProcessId = processId;
final ProcessTreeNode treeNode = processTreeNodes.get(processId);
if (treeNode != null && !MACHINE_NODE.equals(treeNode.getType())) {
treeNode.setHasUnreadContent(false);
treeNode.getTreeNodeElement().getClassList().remove(machineResources.getCss().badgeVisible());
}
}
use of org.eclipse.che.ide.extension.machine.client.processes.ProcessTreeNode in project che by eclipse.
the class ProcessesPanelViewImpl method setProcessesData.
@Override
public void setProcessesData(ProcessTreeNode root) {
splitLayoutPanel.setWidgetHidden(navigationPanel, false);
navigationPanelVisible = true;
processTree.asWidget().setVisible(true);
processTree.getModel().setRoot(root);
processTree.renderTree();
for (ProcessTreeNode processTreeNode : processTreeNodes.values()) {
if (!processTreeNode.getId().equals(activeProcessId) && processTreeNode.hasUnreadContent()) {
processTreeNode.getTreeNodeElement().getClassList().add(machineResources.getCss().badgeVisible());
}
}
}
use of org.eclipse.che.ide.extension.machine.client.processes.ProcessTreeNode in project che by eclipse.
the class ProcessesPanelPresenterTest method shouldShowErrorWhenMachineNodeIsNull.
@Test
public void shouldShowErrorWhenMachineNodeIsNull() throws Exception {
List<ProcessTreeNode> children = new ArrayList<>();
presenter.rootNode = new ProcessTreeNode(ROOT_NODE, null, null, null, children);
OutputConsole outputConsole = mock(OutputConsole.class);
presenter.addCommandOutput(MACHINE_ID, outputConsole);
verify(notificationManager).notify(anyString(), anyString(), any(StatusNotification.Status.class), any(DisplayMode.class));
verify(localizationConstant, times(2)).machineNotFound(eq(MACHINE_ID));
}
use of org.eclipse.che.ide.extension.machine.client.processes.ProcessTreeNode in project che by eclipse.
the class ProcessesPanelPresenterTest method shouldHideStopProcessButtonAtAddingTerminal.
@Test
public void shouldHideStopProcessButtonAtAddingTerminal() throws Exception {
MachineDto machineDto = mock(MachineDto.class);
MachineEntity machine = mock(MachineEntity.class);
when(machine.getId()).thenReturn(MACHINE_ID);
MachineConfigDto machineConfigDto = mock(MachineConfigDto.class);
when(machine.getConfig()).thenReturn(machineConfigDto);
when(machineConfigDto.isDev()).thenReturn(true);
when(machine.getStatus()).thenReturn(MachineStatus.RUNNING);
List<MachineDto> machines = new ArrayList<>(1);
machines.add(machineDto);
when(workspaceRuntime.getMachines()).thenReturn(machines);
when(entityFactory.createMachine(machineDto)).thenReturn(machine);
ProcessTreeNode machineNode = mock(ProcessTreeNode.class);
when(machineNode.getId()).thenReturn(MACHINE_ID);
List<ProcessTreeNode> children = new ArrayList<>();
children.add(machineNode);
presenter.rootNode = new ProcessTreeNode(ROOT_NODE, null, null, null, children);
TerminalPresenter terminal = mock(TerminalPresenter.class);
when(terminalFactory.create(machine, presenter)).thenReturn(terminal);
IsWidget terminalWidget = mock(IsWidget.class);
when(terminal.getView()).thenReturn(terminalWidget);
when(terminalWidget.asWidget()).thenReturn(widget);
presenter.addCommandOutput(MACHINE_ID, outputConsole);
presenter.onAddTerminal(MACHINE_ID, presenter);
verify(terminalFactory).create(eq(machine), eq(presenter));
verify(terminal).getView();
verify(view, times(2)).setProcessesData(anyObject());
verify(view, times(2)).selectNode(anyObject());
verify(view).addWidget(anyString(), anyString(), anyObject(), eq(terminalWidget), anyBoolean());
verify(view, times(1)).addProcessNode(anyObject());
verify(terminal).setVisible(eq(true));
verify(terminal).connect();
verify(terminal).setListener(anyObject());
verify(view).setStopButtonVisibility(anyString(), eq(false));
}
Aggregations