@Override public void relate(Long startNodeId, Long endNodeId) { super.targetContainer.setStartNode(startNodeId); super.targetContainer.setEndNode(endNodeId); }
public DefaultRelationshipBuilder(String type, Long relationshipId) { super(new RelationshipModel()); super.targetContainer.setId(Optional.ofNullable(relationshipId).orElseGet(EntityUtils::nextRef)); super.targetContainer.setType(type); }
@Override public Long reference() { return relationship.getId(); } @Override
private RelationshipModel buildRelationship(Object relationship) { RelationshipModel relationshipModel = new RelationshipModel(); relationshipModel.setId(relationshipId(relationship)); relationshipModel.setStartNode(startNodeId(relationship)); relationshipModel.setEndNode(endNodeId(relationship)); relationshipModel.setType(relationshipType(relationship)); relationshipModel.setProperties(properties(relationship)); return relationshipModel; }
private Map<String, Set<Edge>> groupRelationshipsByType(List<RelationshipBuilder> relationshipBuilders) { Map<String, Set<Edge>> relsByType = new HashMap<>(); for (RelationshipBuilder relationshipBuilder : relationshipBuilders) { if (!relsByType.containsKey(relationshipBuilder.type())) { relsByType.put(relationshipBuilder.type(), new HashSet<Edge>()); } //Replace the node ids RelationshipModel edge = (RelationshipModel) relationshipBuilder.edge(); edge.setStartNode(context.getId(edge.getStartNode())); edge.setEndNode(context.getId(edge.getEndNode())); relsByType.get(relationshipBuilder.type()).add(edge); relsByType.get(relationshipBuilder.type()).add(edge); } return relsByType; }
@Override public void setType(String type) { relationship.setType(type); }
@Override public void setReference(Long reference) { relationship.setId(reference); } }
@Override public RelationshipBuilder addProperty(String key, Object value) { super.targetContainer.getPropertyList().add(new PropertyModel<>(key, value)); return this; }
private RelationshipModel buildRelationship(Relationship relationship) { RelationshipModel relationshipModel = new RelationshipModel(); relationshipModel.setId(relationship.getId()); relationshipModel.setStartNode(relationship.getStartNode().getId()); relationshipModel.setEndNode(relationship.getEndNode().getId()); relationshipModel.setType(relationship.getType().name()); relationshipModel.setProperties(relationship.getAllProperties()); return relationshipModel; } }
private Map<String, Set<Edge>> groupRelationshipsByType(List<RelationshipBuilder> relationshipBuilders) { Map<String, Set<Edge>> relsByType = new HashMap<>(); for (RelationshipBuilder relationshipBuilder : relationshipBuilders) { if (!relsByType.containsKey(relationshipBuilder.type())) { relsByType.put(relationshipBuilder.type(), new HashSet<>()); } //Replace the node ids RelationshipModel edge = (RelationshipModel) relationshipBuilder.edge(); edge.setStartNode(context.getId(edge.getStartNode())); edge.setEndNode(context.getId(edge.getEndNode())); relsByType.get(relationshipBuilder.type()).add(edge); relsByType.get(relationshipBuilder.type()).add(edge); } return relsByType; }
@Override public void setType(String type) { super.targetContainer.setType(type); }
@Override public void setReference(Long reference) { super.targetContainer.setId(reference); }
@Override public void addProperty(String key, Object value) { relationship.getPropertyList().add(new PropertyModel<>(key, value)); }
private Object buildEntity(Map entity) { if (entity.containsKey("metadata") && ((Map) entity.get("metadata")).get("id") != null) { Map entityMetadata = (Map) entity.get("metadata"); if (entityMetadata.containsKey("labels")) { List<String> labelList = (List<String>) (entityMetadata.get("labels")); String[] labels = new String[labelList.size()]; labels = labelList.toArray(labels); NodeModel nodeModel = new NodeModel(((Number) entityMetadata.get("id")).longValue()); nodeModel.setProperties((Map) entity.get("data")); nodeModel.setLabels(labels); return nodeModel; } else if (entityMetadata.containsKey("type")) { String relationshipType = (String) entityMetadata.get("type"); RelationshipModel relationshipModel = new RelationshipModel(); relationshipModel.setId(((Number) entityMetadata.get("id")).longValue()); relationshipModel.setProperties((Map) entity.get("data")); relationshipModel.setType(relationshipType); String startURL = (String) entity.get("start"); String endURL = (String) entity.get("end"); relationshipModel.setStartNode(Long.valueOf(startURL.substring(startURL.lastIndexOf("/") + 1))); relationshipModel.setEndNode(Long.valueOf(endURL.substring(endURL.lastIndexOf("/") + 1))); return relationshipModel; } } return entity; }
String primaryId = edge.getPrimaryIdName(); edge.setStartNode(context.getId(edge.getStartNode())); edge.setEndNode(context.getId(edge.getEndNode())); rels.add(edge);
@Override public void relate(Long startNodeId, Long endNodeId) { relationship.setStartNode(startNodeId); relationship.setEndNode(endNodeId); }
@Override public Long reference() { return super.targetContainer.getId(); }
void buildRelationship(Object relationship, DefaultGraphModel graphModel, Set<Long> edgeIdentities) { if (edgeIdentities.contains(relationshipId(relationship))) { return; } edgeIdentities.add(relationshipId(relationship)); RelationshipModel edgeModel = new RelationshipModel(); edgeModel.setId(relationshipId(relationship)); edgeModel.setType(relationshipType(relationship)); edgeModel.setStartNode(startNodeId(relationship)); edgeModel.setEndNode(endNodeId(relationship)); edgeModel.setProperties(convertArrayPropertiesToIterable(properties(relationship))); graphModel.addRelationship(edgeModel); }