- public Status disconnect (Node node) {
- if (connectionService == null) return new Status(StatusCode.NOSERVICE);
- return connectionService.disconnect(node);
+ public Status disconnect(Node node) {
+ if (node == null)
+ return new Status(StatusCode.BADREQUEST);
+ if (connectionService == null)
+ return new Status(StatusCode.NOSERVICE);
+ Status status = connectionService.disconnect(node);
+ if (status.isSuccess()) {
+ AbstractScheme scheme = schemes.get(activeScheme);
+ if (scheme != null)
+ scheme.removeNode(node);
+ }
+ return status;