Search in sources :

Example 1 with TrexEvent

use of com.exalttech.trex.core.TrexEvent in project trex-stateless-gui by cisco-system-traffic-generator.

the class MainViewController method initialize.

@Override
public void initialize(URL url, ResourceBundle rb) {
    portManager = PortsManager.getInstance();
    portManager.setPortManagerHandler(this);
    statsTableGenerator = new StatsTableGenerator();
    leftArrow = new Image("/icons/arrow_left.png");
    rightArrow = new Image("/icons/arrow_right.png");
    initializeInlineComponent();
    logsContainer.setDisable(false);
    eventBus = TrexApp.injector.getInstance(EventBus.class);
    portView.visibleProperty().bind(portViewVisibilityProperty);
    statTableContainer.visibleProperty().bindBidirectional(systemInfoVisibilityProperty);
    // Handle update port state event
    AsyncResponseManager.getInstance().asyncEventObjectProperty().addListener((observable, oldValue, newVal) -> {
        TrexEvent event = newVal;
        int portId = event.getData().getAsJsonPrimitive("port_id").getAsInt();
        PortModel portModel = portManager.getPortModel(portId);
        switch(event.getType()) {
            case PORT_RELEASED:
            case PORT_ACQUIRED:
            case PORT_ATTR_CHANGED:
            case PORT_STARTED:
            case PORT_STOPPED:
                if (ConnectionManager.getInstance().isConnected()) {
                    Platform.runLater(() -> {
                        portManager.updatedPorts(Arrays.asList(portModel.getIndex()));
                        onPortListUpdated(true);
                    });
                    boolean isAllPortsStopped = true;
                    for (final Port port : portManager.getPortList()) {
                        if (port.getIndex() == port.getIndex()) {
                            continue;
                        }
                        final String portStatus = port.getStatus();
                        if (portStatus.equals("TX") || portStatus.equals("PAUSE")) {
                            isAllPortsStopped = false;
                            break;
                        }
                    }
                }
                break;
            case SERVER_STOPPED:
                resetApplication(true);
                break;
        }
    });
}
Also used : TrexEvent(com.exalttech.trex.core.TrexEvent) PortModel(com.exalttech.trex.ui.models.PortModel) Port(com.exalttech.trex.ui.models.Port) StatsTableGenerator(com.exalttech.trex.ui.views.statistics.StatsTableGenerator) EventBus(com.google.common.eventbus.EventBus) Image(javafx.scene.image.Image)

Aggregations

TrexEvent (com.exalttech.trex.core.TrexEvent)1 Port (com.exalttech.trex.ui.models.Port)1 PortModel (com.exalttech.trex.ui.models.PortModel)1 StatsTableGenerator (com.exalttech.trex.ui.views.statistics.StatsTableGenerator)1 EventBus (com.google.common.eventbus.EventBus)1 Image (javafx.scene.image.Image)1