@Override protected V initFrom(V element) { return vertexFactory.initVertex( element.getId(), GradoopConstants.DEFAULT_VERTEX_LABEL, element.getGraphIds()); } }
@Override protected V initFrom(V element) { return vertexFactory.initVertex( element.getId(), GradoopConstants.DEFAULT_VERTEX_LABEL, element.getGraphIds()); } }
@Override public void writeVertex(@Nonnull final EPGMVertex vertexData) throws IOException { VertexHandler vertexHandler = config.getVertexHandler(); // vertex id Put put = new Put(vertexHandler.getRowKey(vertexData.getId())); // write vertex data to Put put = vertexHandler.writeVertex(put, vertexData); // write to table vertexTable.put(put); if (autoFlush) { admin.flush(vertexTable.getName()); } }
@Override public Vertex readRow(EPGMVertex origin) { return factory.initVertex( origin.getId(), origin.getLabel(), origin.getProperties(), origin.getGraphIds() ); }
@Nonnull @Override public Pair<Key, Value> toRow(@Nonnull EPGMVertex record) throws IOException { //write to content return new Pair<>(new Key(record.getId().toString()), new Value(KryoUtils.dumps(factory.initVertex( record.getId(), record.getLabel(), record.getProperties(), record.getGraphIds())))); }
/** * Creates a new EPGMVertex from the GDL Loader or updates an existing one. * * @param v vertex from GDL Loader * @return EPGM vertex */ private V initVertex(Vertex v) { V vertex; if (!vertexIds.containsKey(v.getId())) { vertex = (V) config.getVertexFactory().createVertex( v.getLabel(), Properties.createFromMap(v.getProperties()), createGradoopIdSet(v)); vertexIds.put(v.getId(), vertex.getId()); vertices.put(vertex.getId(), vertex); } else { vertex = vertices.get(vertexIds.get(v.getId())); vertex.setGraphIds(createGradoopIdSet(v)); } return vertex; }
@Test public void createWithIDTest() { GradoopId vertexID = GradoopId.get(); EPGMVertex v = new VertexFactory().initVertex(vertexID); assertThat(v.getId(), is(vertexID)); assertThat(v.getPropertyCount(), is(0)); assertThat(v.getGraphCount(), is(0)); }
@Test public void createVertexPojoTest() { GradoopId vertexID = GradoopId.get(); String label = "A"; Properties props = Properties.create(); props.set("k1", "v1"); props.set("k2", "v2"); GradoopId graphId1 = GradoopId.get(); GradoopId graphId2 = GradoopId.get(); GradoopIdSet graphIds = new GradoopIdSet(); graphIds.add(graphId1); graphIds.add(graphId2); EPGMVertex vertex = new VertexFactory() .initVertex(vertexID, label, props, graphIds); assertThat(vertex.getId(), is(vertexID)); assertEquals(label, vertex.getLabel()); assertThat(vertex.getPropertyCount(), is(2)); assertThat(vertex.getPropertyValue("k1").getString(), Is.<Object>is("v1")); assertThat(vertex.getPropertyValue("k2").getString(), Is.<Object>is("v2")); assertThat(vertex.getGraphCount(), is(2)); assertTrue(vertex.getGraphIds().contains(graphId1)); assertTrue(vertex.getGraphIds().contains(graphId2)); }