/** * Creates a new instance from multiple GradoopIDs. * * @param ids given ids * @return gradoop id set */ public static GradoopIdSet fromExisting(Collection<GradoopId> ids) { return new GradoopIdSet(ids); }
/** * Creates a new instance from multiple GradoopIDs represented as byte array. * * @param bytes byte array representing multiple gradoop ids * @return gradoop id set */ public static GradoopIdSet fromByteArray(byte[] bytes) { return new GradoopIdSet(bytes); }
@Override public GradoopIdSet readGraphIds(Result res) { byte[] graphBytes = res.getValue(CF_META_BYTES, COL_GRAPHS_BYTES); GradoopIdSet graphIds; if (graphBytes != null) { graphIds = GradoopIdSet.fromByteArray(graphBytes); } else { graphIds = new GradoopIdSet(); } return graphIds; } }
@Override public void addGraphId(GradoopId graphId) { if (graphIds == null) { graphIds = new GradoopIdSet(); } graphIds.add(graphId); }
@Override public void reduce(Iterable<GradoopId> iterable, Collector<GradoopIdSet> collector) throws Exception { GradoopIdSet ids = new GradoopIdSet(); for (GradoopId id : iterable) { ids.add(id); } collector.collect(ids); } }
/** * {@inheritDoc} */ @Override public GraphCollection getGraphs(final GradoopId... identifiers) { GradoopIdSet graphIds = new GradoopIdSet(); for (GradoopId id : identifiers) { graphIds.add(id); } return getGraphs(graphIds); }
@Override public GraphCollection getGraphs(final GradoopId... identifiers) { GradoopIdSet graphIds = new GradoopIdSet(); for (GradoopId id : identifiers) { graphIds.add(id); } return getGraphs(graphIds); }
@Override public void reduce(Iterable<GradoopId> iterable, Collector<GradoopIdSet> collector) throws Exception { GradoopIdSet ids = new GradoopIdSet(); for (GradoopId id : iterable) { ids.add(id); } collector.collect(ids); } }
/** * Returns all vertices that belong to the given graph variables. * * @param graphVariables graph variables used in the GDL script * @return vertices that are contained in the graphs */ public Collection<V> getVerticesByGraphVariables(String... graphVariables) { GradoopIdSet graphIds = new GradoopIdSet(); for (G graphHead : getGraphHeadsByVariables(graphVariables)) { graphIds.add(graphHead.getId()); } return getVerticesByGraphIds(graphIds); }
/** * Returns all edges that belong to the given graph variables. * * @param variables graph variables used in the GDL script * @return edges */ public Collection<E> getEdgesByGraphVariables(String... variables) { GradoopIdSet graphIds = new GradoopIdSet(); for (G graphHead : getGraphHeadsByVariables(variables)) { graphIds.add(graphHead.getId()); } return getEdgesByGraphIds(graphIds); }
@Test(expected = NoSuchElementException.class) public void testIteratorException() throws Exception { GradoopIdSet ids = new GradoopIdSet(); Iterator<GradoopId> idsIterator = ids.iterator(); assertFalse(idsIterator.hasNext()); idsIterator.next(); }
@Test public void testContainsAny() throws Exception { GradoopId id1 = GradoopId.get(); GradoopId id2 = GradoopId.get(); GradoopId id3 = GradoopId.get(); GradoopIdSet ids = new GradoopIdSet(); ids.addAll(Arrays.asList(id1, id2)); assertTrue(ids.containsAny(Sets.newHashSet(id1))); assertTrue(ids.containsAny(Sets.newHashSet(id2))); assertTrue(ids.containsAny(Sets.newHashSet(id1, id2))); assertFalse(ids.containsAny(Sets.newHashSet(id3))); assertTrue(ids.containsAny(Sets.newHashSet(id1, id3))); }
@Test public void testContainsAllCollection() throws Exception { GradoopId id1 = GradoopId.get(); GradoopId id2 = GradoopId.get(); GradoopId id3 = GradoopId.get(); GradoopIdSet ids = new GradoopIdSet(); ids.addAll(Arrays.asList(id1, id2)); assertTrue(ids.containsAll(Sets.newHashSet(id1))); assertTrue(ids.containsAll(Sets.newHashSet(id2))); assertTrue(ids.containsAll(Sets.newHashSet(id1, id2))); assertFalse(ids.containsAll(Sets.newHashSet(id3))); assertFalse(ids.containsAll(Sets.newHashSet(id1, id3))); }
@Test public void testSize() throws Exception { GradoopId id1 = GradoopId.get(); GradoopId id2 = GradoopId.get(); GradoopIdSet ids = new GradoopIdSet(); assertThat(ids.size(), is(0)); ids.add(id1); assertThat(ids.size(), is(1)); ids.add(id1); assertThat(ids.size(), is(1)); ids.add(id2); assertThat(ids.size(), is(2)); }
@Test public void testClear() throws Exception { GradoopId id1 = GradoopId.get(); GradoopId id2 = GradoopId.get(); GradoopIdSet ids = new GradoopIdSet(); ids.add(id1); ids.add(id2); assertThat(ids.size(), is(2)); ids.clear(); assertThat(ids.size(), is(0)); }
@Test public void testResetGraphIds() { Properties propertiesMock = mock(Properties.class); GradoopIdSet idSet = new GradoopIdSet(); idSet.add(GradoopId.get()); GraphElement graphElementMock = mock(GraphElement.class, withSettings() .useConstructor(GradoopId.get(), "someLabel", propertiesMock, idSet) .defaultAnswer(CALLS_REAL_METHODS)); graphElementMock.resetGraphIds(); assertTrue(graphElementMock.getGraphIds().isEmpty()); } }
@Test public void testContains() throws Exception { GradoopId id1 = GradoopId.get(); GradoopId id2 = GradoopId.get(); GradoopIdSet ids = new GradoopIdSet(); ids.add(id1); assertThat(ids.size(), is(1)); assertTrue(ids.contains(id1)); assertFalse(ids.contains(id2)); }
@Test public void testIsEmpty() throws Exception { GradoopIdSet set1 = GradoopIdSet.fromExisting(GradoopId.get()); assertFalse(set1.isEmpty()); assertTrue(new GradoopIdSet().isEmpty()); }
@Test public void testContainsAllGradoopIds() throws Exception { GradoopId id1 = GradoopId.get(); GradoopId id2 = GradoopId.get(); GradoopId id3 = GradoopId.get(); GradoopIdSet ids = new GradoopIdSet(); ids.addAll(Arrays.asList(id1, id2)); assertTrue(ids.containsAll(GradoopIdSet.fromExisting(id1))); assertTrue(ids.containsAll(GradoopIdSet.fromExisting(id2))); assertTrue(ids.containsAll(GradoopIdSet.fromExisting(id1, id2))); assertFalse(ids.containsAll(GradoopIdSet.fromExisting(id3))); assertFalse(ids.containsAll(GradoopIdSet.fromExisting(id1, id3))); }
@Test public void testContainsAny1() throws Exception { GradoopId id1 = GradoopId.get(); GradoopId id2 = GradoopId.get(); GradoopId id3 = GradoopId.get(); GradoopIdSet ids = new GradoopIdSet(); ids.addAll(Arrays.asList(id1, id2)); assertTrue(ids.containsAny(GradoopIdSet.fromExisting(id1))); assertTrue(ids.containsAny(GradoopIdSet.fromExisting(id2))); assertTrue(ids.containsAny(GradoopIdSet.fromExisting(id1, id2))); assertFalse(ids.containsAny(GradoopIdSet.fromExisting(id3))); assertTrue(ids.containsAny(GradoopIdSet.fromExisting(id1, id3))); }