@Test public void mrswGraph1() { Model m = create().getDefaultModel() ; Resource r = m.createResource("x") ; ExtendedIterator<Statement> iter1 = m.listStatements(r, null, (RDFNode)null) ; assertNotNull(iter1.next()) ; ExtendedIterator<Statement> iter2 = m.listStatements(r, null, (RDFNode)null) ; assertNotNull(iter2.next()) ; for ( ; iter2.hasNext() ; ) iter2.next() ; assertNotNull(iter1.next()) ; }
private static Dataset create() { Graph g = buildGraph() ; Dataset ds = TDBFactory.createDataset() ; ds.getDefaultModel().getGraph().getBulkUpdateHandler().add(g) ; return ds ; }
@Test(expected=ConcurrentModificationException.class) public void mrswGraph6() { Dataset d = TDBFactory.createDataset() ; Model m = d.getNamedModel("http://example") ; m.getGraph().getBulkUpdateHandler().add(buildGraph()) ; Resource r = m.createResource("x") ; ExtendedIterator<Statement> iter1 = m.listStatements(r, null, (RDFNode)null) ; assertNotNull(iter1.next()) ; Triple t = SSE.parseTriple("(<y> <p> 99)") ; m.getGraph().delete(t) ; iter1.next() ; }
@Test(expected=ConcurrentModificationException.class) public void mrswDataset1() { DatasetGraph dsg = create().asDatasetGraph() ; Quad quad = SSE.parseQuad("(<g> <y> <p> 99)") ; Iterator<Quad> iter = dsg.find() ; dsg.add(quad) ; // Bad - after an update. iter.hasNext() ; iter.next() ; }
@Test public void mrswSPARQL1() { Dataset ds = create(); Query query = QueryFactory.create("SELECT * { ?s ?p ?o}") ; QueryExecution qExec = QueryExecutionFactory.create(query, ds) ; ResultSet rs = qExec.execSelect() ; while(rs.hasNext()) rs.next(); qExec.close() ; DatasetGraph dsg = ds.asDatasetGraph() ; Quad quad = SSE.parseQuad("(<g> <y> <p> 99)") ; dsg.add(quad) ; Iterator<Quad> iter = dsg.find() ; iter.hasNext() ; iter.next() ; }
@Test(expected=ConcurrentModificationException.class) public void mrswGraph3() { Model m = create().getDefaultModel() ; Resource r = m.createResource("x") ; ExtendedIterator<Statement> iter1 = m.listStatements(r, null, (RDFNode)null) ; assertNotNull(iter1.next()) ; Triple t = SSE.parseTriple("(<y> <p> 99)") ; m.getGraph().delete(t) ; // Bad iter1.hasNext(); }
@Test(expected=ConcurrentModificationException.class) public void mrswSPARQL2() { Dataset ds = create(); DatasetGraph dsg = ds.asDatasetGraph() ; Query query = QueryFactory.create("SELECT * { ?s ?p ?o}") ; QueryExecution qExec = QueryExecutionFactory.create(query, ds) ; ResultSet rs = qExec.execSelect() ; rs.hasNext() ; rs.next(); Quad quad = SSE.parseQuad("(<g> <y> <p> 99)") ; dsg.add(quad) ; rs.hasNext() ; // <<--- Here. rs.next(); }
@Test public void mrswGraph5() { Dataset d = TDBFactory.createDataset() ; Model m = d.getNamedModel("http://example") ; m.getGraph().getBulkUpdateHandler().add(buildGraph()) ; Resource r = m.createResource("x") ; ExtendedIterator<Statement> iter1 = m.listStatements(r, null, (RDFNode)null) ; while(iter1.hasNext()) iter1.next(); Triple t = SSE.parseTriple("(<y> <p> 99)") ; m.getGraph().delete(t) ; iter1.hasNext() ; }
@Test(expected=ConcurrentModificationException.class) public void mrswGraph2() { Model m = create().getDefaultModel() ; Resource r = m.createResource("x") ; ExtendedIterator<Statement> iter1 = m.listStatements(r, null, (RDFNode)null) ; assertNotNull(iter1.next()) ; Triple t = SSE.parseTriple("(<y> <p> 99)") ; m.getGraph().add(t) ; // Bad iter1.hasNext(); }
@Test(expected=ConcurrentModificationException.class) public void mrswGraph4() { Model m = create().getDefaultModel() ; Resource r = m.createResource("x") ; ExtendedIterator<Statement> iter1 = m.listLiteralStatements(r, null, 1) ; assertNotNull(iter1.next()) ; // and now the iterator has implicitly finished. Triple t = SSE.parseTriple("(<y> <p> 99)") ; m.getGraph().add(t) ; // Bad - modification of the dataset occurred. iter1.hasNext(); }