Exemplo n.º 1
0
  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));
  }
Exemplo n.º 2
0
 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);
     }
   }
 }
Exemplo n.º 3
0
  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);
    }
  }
Exemplo n.º 4
0
    @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);
              }
            });
      }
    }