private void controlConnectAction() { if (robot == null) { assert (display.connectButton.getText().equals("connect")); } else { assert (display.connectButton.getText().equals("disconnect")); Debug.info("trying to kill %s", robot); final RobotConnection _robot = robot; Center.addEvent( new Center.EventRunnable() { @Override protected void run() { _robot.kill(); } }); return; } String address = (String) display.robotAddressBox.getSelectedItem(); if (address == null) { ToolMessage.displayError("choose valid address"); return; } address = address.trim(); if (display.localCheckBox.isSelected() && !address.endsWith(".local")) { address += ".local"; } display.connectButton.setEnabled(false); Center.addEvent(new ControlConnectRunnable(address)); }
private void controlSelectAction() { Path selected = PathChooser.chooseDirPath(display, null); if (selected != null) { if (FileIO.isValidLogFolder(selected)) { updateComboBoxAndSettings(display.pathBox, UserSettings.loadPathes, selected); } else { ToolMessage.displayError("invalid path to logs: %s", selected); } } }
private void controlLoadAction() { if (robot == null) { Path selected = (Path) display.pathBox.getSelectedItem(); if (selected == null) { Debug.error("null path"); ToolMessage.display("load action: null path", Color.RED); return; } if (FileIO.isValidLogFolder(selected)) { updateComboBoxAndSettings(display.pathBox, UserSettings.loadPathes, selected); lastGroup = Group.groupFromPath(selected); LogReference[] added; try { added = FileIO.readAllRefsFromPath(selected, true); } catch (Throwable e) { ToolMessage.displayError( "error {%s} (see below) reading Log refs from %s", e.getMessage(), selected); e.printStackTrace(); return; } lastGroup.add(added); // Log[] addedLogs = new Log[added.length]; // for (int i = 0; i < added.length; ++i) // addedLogs[i] = added[i].get(); ToolMessage.displayInfo("loaded %d logs into %s", added.length, lastGroup); Events.GGroupAdded.generate(this, lastGroup); Events.GLogRefsFound.generate(this, added); // Events.GLogsFound.generate(this, addedLogs); display.leftSideTabs.setSelectedComponent(display.logTab); } else { Debug.error("invalid Log folder: " + selected.toString()); ToolMessage.display("invalid Log folder: " + selected.toString(), Color.RED); return; } } else { Debug.error("cannot load session while streaming (%s)", robot); ToolMessage.display("cannot load session while streaming", Color.ORANGE); } }
@Override protected void run() { Debug.warn("trying to connect to %s", robotAddress); robot = RobotConnection.connectToRobot(robotAddress, outerThis); if (robot == null) { ToolMessage.displayError("connection failed to: %s", robotAddress); SwingUtilities.invokeLater( new Runnable() { @Override public void run() { display.connectButton.setEnabled(true); } }); return; } else { ToolMessage.displayWarn("SUCCESS: connected to %s (%s)", robotAddress, robot); SwingUtilities.invokeLater( new Runnable() { @Override public void run() { display.connectButton.setEnabled(true); display.connectButton.setText("disconnect"); display.loadButton.setEnabled(false); updateComboBoxAndSettings( display.robotAddressBox, UserSettings.addresses, robotAddress); controlRequestFlags(); lastGroup = Group.groupForStream(robotAddress); Events.GGroupAdded.generate(this, lastGroup); } }); } }