use of org.apache.jena.update.Update in project jena by apache.
the class UpdateBuilderTest method testInsertAndDeleteWithVariableNodeReplacement.
@Test
public void testInsertAndDeleteWithVariableNodeReplacement() {
UpdateBuilder builder = new UpdateBuilder();
Node v = NodeFactory.createVariable("v");
builder.addInsert(new Quad(g, s, v, o));
builder.addDelete(new Triple(s, v, o));
builder.addWhere(null, v, "foo");
builder.setVar(v, p);
Update update = builder.build();
assertTrue(update instanceof UpdateModify);
UpdateModify um = (UpdateModify) update;
List<Quad> quads = um.getInsertQuads();
assertEquals(1, quads.size());
Quad q = quads.get(0);
assertEquals(g, q.getGraph());
assertEquals(s, q.getSubject());
assertEquals(p, q.getPredicate());
assertEquals(o, q.getObject());
quads = um.getDeleteQuads();
assertEquals(1, quads.size());
q = quads.get(0);
assertEquals(Quad.defaultGraphNodeGenerated, q.getGraph());
assertEquals(s, q.getSubject());
assertEquals(p, q.getPredicate());
assertEquals(o, q.getObject());
Element e = um.getWherePattern();
assertTrue(e instanceof ElementGroup);
ElementGroup eg = (ElementGroup) e;
assertEquals(1, eg.getElements().size());
ElementPathBlock epb = (ElementPathBlock) eg.getElements().get(0);
Triple t = epb.getPattern().get(0).asTriple();
assertEquals(Node.ANY, t.getSubject());
assertEquals(p, t.getPredicate());
assertEquals(builder.makeNode("foo"), t.getObject());
}
use of org.apache.jena.update.Update in project jena by apache.
the class UpdateBuilderTest method testInsert_Triple.
@Test
public void testInsert_Triple() {
Triple t = new Triple(s, p, o);
UpdateBuilder builder = new UpdateBuilder();
builder.addInsert(t);
Update update = builder.build();
assertTrue(update instanceof UpdateDataInsert);
UpdateDataInsert udi = (UpdateDataInsert) update;
List<Quad> quads = udi.getQuads();
assertEquals(1, quads.size());
Quad q = quads.get(0);
assertEquals(Quad.defaultGraphNodeGenerated, q.getGraph());
assertEquals(s, q.getSubject());
assertEquals(p, q.getPredicate());
assertEquals(o, q.getObject());
}
use of org.apache.jena.update.Update in project jena by apache.
the class UpdateTransformOps method transform.
public static UpdateRequest transform(UpdateRequest update, ElementTransform transform, ExprTransform exprTransform) {
UpdateRequest req = new UpdateRequest();
req.getPrefixMapping().setNsPrefixes(update.getPrefixMapping());
for (Update up : update.getOperations()) {
up = transform(up, transform, exprTransform);
req.add(up);
}
return req;
}
use of org.apache.jena.update.Update in project jena by apache.
the class AbstractTestUpdateGraphMgt method testCreateDrop1.
@Test
public void testCreateDrop1() {
DatasetGraph gStore = getEmptyDatasetGraph();
Update u = new UpdateCreate(graphIRI);
UpdateAction.execute(u, gStore);
// Only true if a graph caching layer exists.
// JENA-1068 removed that layer
// (which wasn't safe anyway - it only "existed" in the memory cache)
// assertTrue(gStore.containsGraph(graphIRI)) ;
assertTrue(graphEmpty(gStore.getGraph(graphIRI)));
// With "auto SILENT" then these aren't errors.
boolean silentMode = true;
if (!silentMode) {
// try again - should fail (already exists)
try {
UpdateAction.execute(u, gStore);
fail();
} catch (UpdateException ex) {
}
}
// Drop it.
u = new UpdateDrop(graphIRI);
UpdateAction.execute(u, gStore);
assertFalse(gStore.containsGraph(graphIRI));
if (!silentMode) {
// Drop it again. - should fail
try {
UpdateAction.execute(u, gStore);
fail();
} catch (UpdateException ex) {
}
}
}
use of org.apache.jena.update.Update in project jena by apache.
the class ServerCtl method resetServer.
/*package*/
static void resetServer() {
if (countServer.get() == 0)
throw new RuntimeException("No server started!");
if (CLEAR_DSG_DIRECTLY) {
Txn.executeWrite(dsgTesting, () -> dsgTesting.clear());
} else {
Update clearRequest = new UpdateDrop(Target.ALL);
UpdateProcessor proc = UpdateExecutionFactory.createRemote(clearRequest, serviceUpdate());
try {
proc.execute();
} catch (Throwable e) {
e.printStackTrace();
throw e;
}
}
}
Aggregations