private boolean isConnected(NodeOrRelationship current, TypedId newId) throws ShellException { if (current.isNode()) { Node currentNode = current.asNode(); for (Relationship rel : currentNode.getRelationships()) { if (newId.isNode()) { if (rel.getOtherNode(currentNode).getId() == newId.getId()) { return true; } } else { if (rel.getId() == newId.getId()) { return true; } } } } else { if (newId.isRelationship()) { return false; } Relationship relationship = current.asRelationship(); if (relationship.getStartNode().getId() == newId.getId() || relationship.getEndNode().getId() == newId.getId()) { return true; } } return false; }
protected static NodeOrRelationship getThingById(GraphDatabaseShellServer server, TypedId typedId) throws ShellException { NodeOrRelationship result = null; if (typedId.isNode()) { try { result = NodeOrRelationship.wrap(server.getDb().getNodeById(typedId.getId())); } catch (NotFoundException e) { throw new ShellException("Node " + typedId.getId() + " not found"); } } else { try { result = NodeOrRelationship.wrap(server.getDb().getRelationshipById(typedId.getId())); } catch (NotFoundException e) { throw new ShellException("Relationship " + typedId.getId() + " not found"); } } return result; }