@Override public List<StoredObject> getRelationships( String objectId, List<String> typeIds, RelationshipDirection direction) { List<StoredObject> res = new ArrayList<StoredObject>(); if (typeIds != null && typeIds.size() > 0) { for (String typeId : typeIds) { for (StoredObject so : fStoredObjectMap.values()) { if (so instanceof Relationship && so.getTypeId().equals(typeId)) { Relationship ro = (Relationship) so; if (ro.getSourceObjectId().equals(objectId) && (RelationshipDirection.EITHER == direction || RelationshipDirection.SOURCE == direction)) { res.add(so); } else if (ro.getTargetObjectId().equals(objectId) && (RelationshipDirection.EITHER == direction || RelationshipDirection.TARGET == direction)) { res.add(so); } } } } } else { res = getAllRelationships(objectId, direction); } return res; }
private List<StoredObject> getAllRelationships(String objectId, RelationshipDirection direction) { List<StoredObject> res = new ArrayList<StoredObject>(); for (StoredObject so : fStoredObjectMap.values()) { if (so instanceof Relationship) { Relationship ro = (Relationship) so; if (ro.getSourceObjectId().equals(objectId) && (RelationshipDirection.EITHER == direction || RelationshipDirection.SOURCE == direction)) { res.add(so); } else if (ro.getTargetObjectId().equals(objectId) && (RelationshipDirection.EITHER == direction || RelationshipDirection.TARGET == direction)) { res.add(so); } } } return res; }