@Override public NodeBuilder addLabels(Collection<String> newLabels) { String[] labels; labels = newLabels.toArray(new String[newLabels.size()]); node.setLabels(labels); return this; }
public DefaultNodeBuilder(Long reference) { super(new NodeModel(reference)); }
@Override public Long reference() { return super.targetContainer.getId(); }
private NodeModel buildNode(Node node) { NodeModel nodeModel = new NodeModel(); nodeModel.setId(node.getId()); List<String> labels = new ArrayList<>(); for (Label label : node.getLabels()) { labels.add(label.name()); } nodeModel.setLabels(labels.toArray(new String[labels.size()])); nodeModel.setProperties(node.getAllProperties()); return nodeModel; }
private NodeModel buildNode(Object node) { NodeModel nodeModel = new NodeModel(nodeId(node)); List<String> labels = labels(node); nodeModel.setLabels(labels.toArray(new String[labels.size()])); nodeModel.setProperties(convertArrayPropertiesToIterable(properties(node))); return nodeModel; }
void buildNode(Object node, DefaultGraphModel graphModel, Set<Long> nodeIdentities, boolean generatedNode) { long nativeId = nodeId(node); if (nodeIdentities.contains(nativeId)) { return; } nodeIdentities.add(nativeId); NodeModel nodeModel = new NodeModel(nativeId); List<String> labels = labels(node); nodeModel.setLabels(labels.toArray(new String[0])); nodeModel.setProperties(convertArrayPropertiesToIterable(properties(node))); nodeModel.setGeneratedNode(generatedNode); graphModel.addNode(nodeModel); }
@Test public void shouldParseDataInRowResponseCorrectly() throws IOException { when(entity.getContent()).thenReturn(rowResultsAndNoErrors()); try (Response<RestModel> rsp = new RestModelResponse(response)) { RestModel restModel = rsp.next(); assertThat(restModel).isNotNull(); Map<String, Object> rows = restModel.getRow(); assertThat(rows.entrySet()).hasSize(3); assertThat(rows.get("count")).isEqualTo(1L); NodeModel data = (NodeModel) rows.get("director"); assertThat(data.property("born")).isEqualTo(1931L); data = (NodeModel) rows.get("movie"); assertThat(data.property("title")).isEqualTo("The Birdcage"); assertThat(data.getId().longValue()).isEqualTo(395L); restModel = rsp.next(); rows = restModel.getRow(); assertThat(rows.entrySet()).hasSize(3); assertThat(rows.get("count")).isEqualTo(1L); data = (NodeModel) rows.get("director"); assertThat(data.property("born")).isEqualTo(1931L); data = (NodeModel) rows.get("movie"); assertThat(data.property("released")).isEqualTo(2007L); } }
@Override public NodeBuilder addProperty(String key, Object value) { List<Property<String, Object>> propertyList = node.getPropertyList(); for (Property<String, Object> property : propertyList) { if (property.getKey().equals(key)) { throw new MappingException("Node model already contains property: " + key); } } propertyList.add(new PropertyModel<>(key, value)); return this; }
@Override public NodeBuilder setPrimaryIndex(String primaryIndexField) { super.targetContainer.setPrimaryIndex(primaryIndexField); return this; }
@Override public String[] addedLabels() { return node.getLabels(); }
public DefaultNodeBuilder(Long reference) { node.setId(reference); }
void buildNode(Node node, GraphModel graphModel, Set nodeIdentities) { if (!nodeIdentities.contains(node.getId())) { nodeIdentities.add(node.getId()); NodeModel nodeModel = new NodeModel(); nodeModel.setId(node.getId()); List<String> labelNames = new ArrayList(); for (Label label : node.getLabels()) { labelNames.add(label.name()); } nodeModel.setLabels(labelNames.toArray(new String[] {})); nodeModel.setProperties(buildProperties(node)); graphModel.getNodes().add(nodeModel); } }
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; }
@Override public NodeBuilder addProperty(String key, Object value) { List<Property<String, Object>> propertyList = super.targetContainer.getPropertyList(); for (Property<String, Object> property : propertyList) { if (property.getKey().equals(key)) { throw new MappingException("Node model already contains property: " + key); } } propertyList.add(new PropertyModel<>(key, value)); return this; }
@Override public NodeBuilder setPrimaryIndex(String primaryIndexField) { node.setPrimaryIndex(primaryIndexField); return this; } }
@Test // #150 public void shouldLoadNodesWithUnmappedOrNoLabels() { int movieCount = 0; int userCount = 0; int unmappedCount = 0; int noLabelCount = 0; session.query("CREATE (unknown), (m:Unmapped), (n:Movie), (n)-[:UNKNOWN]->(m)", emptyMap()); Result result = session.query("MATCH (n) return n", emptyMap()); assertThat(result).isNotNull(); Iterator<Map<String, Object>> resultIterator = result.iterator(); while (resultIterator.hasNext()) { Map<String, Object> row = resultIterator.next(); Object n = row.get("n"); if (n instanceof User) { userCount++; } else if (n instanceof Movie) { movieCount++; } else if (n instanceof NodeModel) { if (((NodeModel) n).getLabels().length == 0) { noLabelCount++; } else if (((NodeModel) n).getLabels()[0].equals("Unmapped")) { unmappedCount++; } } } assertThat(unmappedCount).isEqualTo(1); assertThat(noLabelCount).isEqualTo(1); assertThat(movieCount).isEqualTo(4); assertThat(userCount).isEqualTo(5); }
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(); nodeModel.setId(((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; }