use of org.sirix.api.XdmNodeWriteTrx in project sirix by sirixdb.
the class XMLSerializerTest method testXMLSerializer.
@Test
public void testXMLSerializer() throws Exception {
final Database database = TestHelper.getDatabase(PATHS.PATH1.getFile());
final ResourceManager manager = database.getResourceManager(new ResourceManagerConfiguration.Builder(TestHelper.RESOURCE).build());
final XdmNodeWriteTrx wtx = manager.beginNodeWriteTrx();
DocumentCreater.create(wtx);
wtx.commit();
wtx.close();
// Generate from this session.
final ByteArrayOutputStream out = new ByteArrayOutputStream();
final XMLSerializer serializer = new XMLSerializerBuilder(manager, out).emitXMLDeclaration().build();
serializer.call();
assertEquals(DocumentCreater.XML, out.toString());
manager.close();
}
use of org.sirix.api.XdmNodeWriteTrx in project sirix by sirixdb.
the class XMLSerializerTest method testIDSerializer.
@Test
public void testIDSerializer() throws Exception {
final Database database = TestHelper.getDatabase(PATHS.PATH1.getFile());
final ResourceManager manager = database.getResourceManager(new ResourceManagerConfiguration.Builder(TestHelper.RESOURCE).build());
final XdmNodeWriteTrx wtx = manager.beginNodeWriteTrx();
DocumentCreater.create(wtx);
wtx.commit();
wtx.close();
// Generate from this session.
final ByteArrayOutputStream out = new ByteArrayOutputStream();
final XMLSerializer serializer = new XMLSerializerBuilder(manager, out).emitIDs().emitXMLDeclaration().build();
serializer.call();
assertEquals(DocumentCreater.ID, out.toString());
manager.close();
}
use of org.sirix.api.XdmNodeWriteTrx in project sirix by sirixdb.
the class XMLSerializerTest method testRestSerializer.
@Test
public void testRestSerializer() throws Exception {
final Database database = TestHelper.getDatabase(PATHS.PATH1.getFile());
final ResourceManager manager = database.getResourceManager(new ResourceManagerConfiguration.Builder(TestHelper.RESOURCE).build());
final XdmNodeWriteTrx wtx = manager.beginNodeWriteTrx();
DocumentCreater.create(wtx);
wtx.commit();
wtx.close();
// Generate from this session.
final ByteArrayOutputStream out = new ByteArrayOutputStream();
final XMLSerializer serializer = XMLSerializer.newBuilder(manager, out).emitRESTful().emitIDs().emitXMLDeclaration().build();
serializer.call();
assertEquals(DocumentCreater.REST, out.toString());
manager.close();
}
use of org.sirix.api.XdmNodeWriteTrx in project sirix by sirixdb.
the class PostOrderTest method testIterateDocumentFirst.
@Test
public void testIterateDocumentFirst() throws SirixException, IOException, XMLStreamException {
try (final XdmNodeWriteTrx wtx = holder.getResourceManager().beginNodeWriteTrx()) {
wtx.moveTo(9);
wtx.insertSubtreeAsFirstChild(XMLShredder.createStringReader(DocumentCreater.XML_WITHOUT_XMLDECL));
wtx.commit();
final long key = wtx.getNodeKey();
AbsAxisTest.testIAxisConventions(new PostOrderAxis(wtx), new long[] { 17L, 19L, 20L, 18L, 21L, 24L, 25L, 22L, 26L });
new IteratorTester<Long>(ITERATIONS, IteratorFeature.UNMODIFIABLE, ImmutableList.of(17L, 19L, 20L, 18L, 21L, 24L, 25L, 22L, 26L), null) {
@Override
protected Iterator<Long> newTargetIterator() {
wtx.moveTo(key);
return new PostOrderAxis(wtx);
}
}.test();
wtx.moveTo(14L);
AbsAxisTest.testIAxisConventions(new PostOrderAxis(wtx, IncludeSelf.YES), new long[] { 17L, 19L, 20L, 18L, 21L, 24L, 25L, 22L, 26L, 14L });
new IteratorTester<Long>(ITERATIONS, IteratorFeature.UNMODIFIABLE, ImmutableList.of(17L, 19L, 20L, 18L, 21L, 24L, 25L, 22L, 26L), null) {
@Override
protected Iterator<Long> newTargetIterator() {
wtx.moveTo(14L);
return new PostOrderAxis(wtx, IncludeSelf.YES);
}
}.test();
wtx.moveToDocumentRoot();
AbsAxisTest.testIAxisConventions(new PostOrderAxis(wtx), new long[] { 4L, 6L, 7L, 5L, 8L, 17L, 19L, 20L, 18L, 21L, 24L, 25L, 22L, 26L, 14L, 11L, 12L, 9L, 13L, 1L });
new IteratorTester<Long>(ITERATIONS, IteratorFeature.UNMODIFIABLE, ImmutableList.of(4L, 6L, 7L, 5L, 8L, 17L, 19L, 20L, 18L, 21L, 24L, 25L, 22L, 26L, 14L, 11L, 12L, 9L, 13L, 1L), null) {
@Override
protected Iterator<Long> newTargetIterator() {
wtx.moveToDocumentRoot();
return new PostOrderAxis(wtx);
}
}.test();
wtx.moveToDocumentRoot();
AbsAxisTest.testIAxisConventions(new PostOrderAxis(wtx, IncludeSelf.YES), new long[] { 4L, 6L, 7L, 5L, 8L, 17L, 19L, 20L, 18L, 21L, 24L, 25L, 22L, 26L, 14L, 11L, 12L, 9L, 13L, 1L, 0L });
new IteratorTester<Long>(ITERATIONS, IteratorFeature.UNMODIFIABLE, ImmutableList.of(4L, 6L, 7L, 5L, 8L, 17L, 19L, 20L, 18L, 21L, 24L, 25L, 22L, 26L, 14L, 11L, 12L, 9L, 13L, 1L, 0L), null) {
@Override
protected Iterator<Long> newTargetIterator() {
wtx.moveToDocumentRoot();
return new PostOrderAxis(wtx, IncludeSelf.YES);
}
}.test();
}
}
use of org.sirix.api.XdmNodeWriteTrx in project sirix by sirixdb.
the class XdmResourceManagerTest method testRevision.
@Test
public void testRevision() {
XdmNodeReadTrx rtx = holder.getReader();
assertEquals(0L, rtx.getRevisionNumber());
try (final XdmNodeWriteTrx wtx = holder.getResourceManager().beginNodeWriteTrx()) {
assertEquals(1L, wtx.getRevisionNumber());
// Commit and check.
wtx.commit();
}
try {
rtx = holder.getResourceManager().beginNodeReadTrx(Constants.UBP_ROOT_REVISION_NUMBER);
assertEquals(Constants.UBP_ROOT_REVISION_NUMBER, rtx.getRevisionNumber());
} finally {
rtx.close();
}
try (final XdmNodeReadTrx rtx2 = holder.getResourceManager().beginNodeReadTrx()) {
assertEquals(1L, rtx2.getRevisionNumber());
}
}
Aggregations