@Test public void testBNodeSerialization() throws Exception { testCon.add(bob, name, nameBob); Statement st; RepositoryResult<Statement> statements = testCon.getStatements(null, null, null, false); try { st = statements.next(); } finally { statements.close(); } BNode bnode = (BNode) st.getSubject(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(baos); out.writeObject(bnode); out.close(); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); ObjectInputStream in = new ObjectInputStream(bais); BNode deserializedBNode = (BNode) in.readObject(); in.close(); assertTrue(bnode.equals(deserializedBNode)); assertTrue(testCon.hasStatement(bnode, name, nameBob, true)); assertTrue(testCon.hasStatement(deserializedBNode, name, nameBob, true)); }
protected void endUpdateInternal(UpdateContext op) throws SailException { Collection<Statement> model; // realize DELETE synchronized (removed) { model = removed.remove(op); } if (model != null) { for (Statement st : model) { Resource ctx = st.getContext(); if (wildContext.equals(ctx)) { removeStatementsInternal(st.getSubject(), st.getPredicate(), st.getObject()); } else { removeStatementsInternal(st.getSubject(), st.getPredicate(), st.getObject(), ctx); } } } // realize INSERT synchronized (added) { model = added.remove(op); } if (model != null) { for (Statement st : model) { addStatementInternal(st.getSubject(), st.getPredicate(), st.getObject(), st.getContext()); } } }
protected void endUpdateInternal(UpdateContext op) throws SailException { Collection<Statement> model; // realize DELETE synchronized (removed) { model = removed.remove(op); } if (model != null) { for (Statement st : model) { Resource ctx = st.getContext(); if (wildContext.equals(ctx)) { removeStatementsInternal(st.getSubject(), st.getPredicate(), st.getObject()); } else { removeStatementsInternal(st.getSubject(), st.getPredicate(), st.getObject(), ctx); } } } // realize INSERT synchronized (added) { model = added.remove(op); } if (model != null) { for (Statement st : model) { addStatementInternal(st.getSubject(), st.getPredicate(), st.getObject(), st.getContext()); } } }
while (result.hasNext()) { Statement st = result.next(); assertTrue(bob.equals(st.getSubject())); assertTrue(name.equals(st.getPredicate())); assertTrue(nameBob.equals(st.getObject()));