package org.signalml.app.worker.monitor.exceptions; import static org.signalml.app.util.i18n.SvarogI18n._; import static org.signalml.app.util.i18n.SvarogI18n._R; import org.signalml.app.SvarogApplication; import org.signalml.app.config.ApplicationConfiguration; import org.signalml.app.view.common.dialogs.errors.Dialogs; public class OpenbciConnectionException extends OpenbciCommunicationException { private String ipAddress; private int port; public OpenbciConnectionException(String errorMessage) { super(errorMessage); } public OpenbciConnectionException(String errorMessage, String ipAddress, int port) { super(errorMessage); this.ipAddress = ipAddress; this.port = port; } public String getIpAddress() { return ipAddress; } public void setIpAddress(String ipAddress) { this.ipAddress = ipAddress; } public int getPort() { return port; } public void setPort(int port) { this.port = port; } /** * Returns true, if this exception happened while trying to connect * to openBCI, false - if it tried to connect to an experiment. * @return */ private boolean triedToConnectToOpenBCIDaemon() { ApplicationConfiguration applicationConfiguration = SvarogApplication.getSharedInstance().getApplicationConfiguration(); if (ipAddress.equalsIgnoreCase(applicationConfiguration.getOpenbciIPAddress()) && port == applicationConfiguration.getOpenbciPort()) { return true; } return false; } @Override public void showErrorDialog(String defaultMessage) { String msg2; if (triedToConnectToOpenBCIDaemon()) msg2 = _("Is openBCI daemon running?"); else msg2 = _("Is the selected experiment running?"); Dialogs.showError(_R("({0}) {1} ", getMessage(), msg2)); } }