private synchronized ActiveConnection activeConnection() throws IncompatibleConnectionException { ActiveConnection activeConnection = this.activeConnection; if (activeConnection != null) return activeConnection; Device arrDev = this.arrDevice; if (arrDevice == null) throw new IllegalStateException("No AuditRecordRepositoryDevice initalized"); AuditRecordRepository arr = arrDev.getDeviceExtension(AuditRecordRepository.class); if (arr == null) throw new IllegalStateException("AuditRecordRepositoryDevice " + arrDevice.getDeviceName() + " does not provide Audit Record Repository"); for (Connection remoteConn : arr.getConnections()) if (remoteConn.isInstalled() && remoteConn.isServer()) for (Connection conn : conns) if (conn.isInstalled() && conn.isCompatible(remoteConn)) { return (this.activeConnection = conn.getProtocol().isTCP() ? new TCPConnection(conn, remoteConn) : new UDPConnection(conn, remoteConn)); } throw new IncompatibleConnectionException( "No compatible connection to AuditRecordRepository @ Device " + arr.getDevice().getDeviceName() + " available on AuditLogger @ Device " + device.getDeviceName()); }
private synchronized ActiveConnection activeConnection() throws IncompatibleConnectionException { ActiveConnection activeConnection = this.activeConnection; if (activeConnection != null) return activeConnection; Device arrDev = this.arrDevice; if (arrDevice == null) throw new IllegalStateException("No AuditRecordRepositoryDevice initalized"); AuditRecordRepository arr = arrDev.getDeviceExtension(AuditRecordRepository.class); if (arr == null) throw new IllegalStateException("AuditRecordRepositoryDevice " + arrDevice.getDeviceName() + " does not provide Audit Record Repository"); for (Connection remoteConn : arr.getConnections()) if (remoteConn.isInstalled() && remoteConn.isServer()) for (Connection conn : conns) if (conn.isInstalled() && conn.isCompatible(remoteConn)) { return (this.activeConnection = conn.getProtocol().isTCP() ? new TCPConnection(conn, remoteConn) : new UDPConnection(conn, remoteConn)); } throw new IncompatibleConnectionException( "No compatible connection to AuditRecordRepository @ Device " + arr.getDevice().getDeviceName() + " available on AuditLogger @ Device " + device.getDeviceName()); }