use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.
the class DocumentCreater method createWithoutAttributes.
/**
* Create simple test document containing all supported node kinds except the attributes.
*
* @param paramWtx {@link XdmNodeWriteTrx} to write to
* @throws SirixException if anything went wrong
*/
public static void createWithoutAttributes(final XdmNodeWriteTrx wtx) throws SirixException {
assertNotNull(wtx);
wtx.moveToDocumentRoot();
wtx.insertElementAsFirstChild(new QNm("ns", "p", "a"));
wtx.insertTextAsFirstChild("oops1");
wtx.insertElementAsRightSibling(new QNm("b"));
wtx.insertTextAsFirstChild("foo");
wtx.insertElementAsRightSibling(new QNm("c"));
wtx.moveToParent();
wtx.insertTextAsRightSibling("oops2");
wtx.insertElementAsRightSibling(new QNm("b"));
wtx.insertElementAsFirstChild(new QNm("c"));
wtx.insertTextAsRightSibling("bar");
wtx.moveToParent();
wtx.insertTextAsRightSibling("oops3");
wtx.moveToDocumentRoot();
}
use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.
the class OverallTest method testJustEverything.
@Test
public void testJustEverything() throws SirixException {
holder.getWriter().insertElementAsFirstChild(new QNm(getString()));
holder.getWriter().insertElementAsFirstChild(new QNm(getString()));
for (int i = 0; i < ELEMENTS; i++) {
if (ran.nextBoolean()) {
switch(holder.getWriter().getKind()) {
case ELEMENT:
holder.getWriter().setName(new QNm(getString()));
break;
case ATTRIBUTE:
holder.getWriter().setName(new QNm(getString()));
holder.getWriter().setValue(getString());
break;
case NAMESPACE:
holder.getWriter().setName(new QNm(getString()));
break;
case PROCESSING_INSTRUCTION:
case TEXT:
case COMMENT:
holder.getWriter().setValue(getString());
break;
default:
}
} else {
if (holder.getWriter().getKind() == Kind.ELEMENT) {
if (holder.getWriter().getParentKey() == Fixed.DOCUMENT_NODE_KEY.getStandardProperty()) {
assertTrue(holder.getWriter().moveToFirstChild().hasMoved());
assertTrue(holder.getWriter().moveToFirstChild().hasMoved());
}
if (ran.nextBoolean()) {
holder.getWriter().insertElementAsFirstChild(new QNm(getString()));
} else {
holder.getWriter().insertElementAsRightSibling(new QNm(getString()));
}
if (ran.nextBoolean()) {
holder.getWriter().insertAttribute(new QNm(getString()), getString());
holder.getWriter().moveToParent();
}
if (ran.nextBoolean()) {
holder.getWriter().insertNamespace(new QNm(getString(), getString()));
holder.getWriter().moveToParent();
}
}
if (ran.nextInt(100) < REMOVEPERCENTAGE) {
holder.getWriter().remove();
}
if (ran.nextInt(100) < COMMITPERCENTAGE) {
holder.getWriter().commit();
}
do {
final int newKey = ran.nextInt(i + 1) + 1;
if (newKey == Fixed.DOCUMENT_NODE_KEY.getStandardProperty()) {
holder.getWriter().moveToFirstChild();
holder.getWriter().moveToFirstChild();
} else {
holder.getWriter().moveTo(newKey);
if (holder.getWriter().getParentKey() == Fixed.DOCUMENT_NODE_KEY.getStandardProperty()) {
holder.getWriter().moveToFirstChild();
}
}
} while (holder.getWriter() == null);
if (holder.getWriter().getKind() != Kind.ELEMENT) {
holder.getWriter().moveToParent();
}
}
}
final long key = holder.getWriter().getNodeKey();
holder.getWriter().remove();
holder.getWriter().insertElementAsFirstChild(new QNm(getString()));
holder.getWriter().moveTo(key);
holder.getWriter().commit();
holder.getWriter().close();
}
use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.
the class PathSummaryTest method testSetQNmFourthHelper.
private void testSetQNmFourthHelper(final PathSummaryReader pSummary) throws SirixException {
final Axis axis = new DescendantAxis(pSummary);
PathSummaryReader summary = next(axis);
assertTrue(summary != null);
assertEquals(Kind.ELEMENT, summary.getPathKind());
assertEquals(1L, summary.getNodeKey());
assertEquals(7L, summary.getFirstChildKey());
assertEquals(-1L, summary.getLeftSiblingKey());
assertEquals(-1L, summary.getRightSiblingKey());
assertEquals(new QNm("ns", "p", "a"), axis.getTrx().getName());
assertEquals(1, summary.getLevel());
assertEquals(4, summary.getChildCount());
assertEquals(1, summary.getReferences());
summary = next(axis);
assertTrue(summary != null);
assertEquals(Kind.ELEMENT, summary.getPathKind());
assertEquals(7L, summary.getNodeKey());
assertEquals(8L, summary.getFirstChildKey());
assertEquals(-1L, summary.getLeftSiblingKey());
assertEquals(4L, summary.getRightSiblingKey());
assertEquals(new QNm("d"), axis.getTrx().getName());
assertEquals(2, summary.getLevel());
assertEquals(1, summary.getChildCount());
assertEquals(1, summary.getReferences());
summary = next(axis);
assertTrue(summary != null);
assertEquals(Kind.ELEMENT, summary.getPathKind());
assertEquals(8L, summary.getNodeKey());
assertEquals(-1L, summary.getFirstChildKey());
assertEquals(-1L, summary.getLeftSiblingKey());
assertEquals(-1L, summary.getRightSiblingKey());
assertEquals(new QNm("c"), axis.getTrx().getName());
assertEquals(3, summary.getLevel());
assertEquals(0, summary.getChildCount());
assertEquals(1, summary.getReferences());
summary = next(axis);
assertTrue(summary != null);
assertEquals(Kind.ELEMENT, summary.getPathKind());
assertEquals(4L, summary.getNodeKey());
assertEquals(7L, summary.getLeftSiblingKey());
assertEquals(3L, summary.getRightSiblingKey());
assertEquals(6L, summary.getFirstChildKey());
assertEquals(new QNm("b"), axis.getTrx().getName());
assertEquals(2, summary.getLevel());
assertEquals(2, summary.getChildCount());
assertEquals(2, summary.getReferences());
summary = next(axis);
assertTrue(summary != null);
assertEquals(Kind.ATTRIBUTE, summary.getPathKind());
assertEquals(6L, summary.getNodeKey());
assertEquals(-1L, summary.getLeftSiblingKey());
assertEquals(5L, summary.getRightSiblingKey());
assertEquals(-1L, summary.getFirstChildKey());
assertEquals(new QNm("ns", "", "x"), axis.getTrx().getName());
assertEquals(3, summary.getLevel());
assertEquals(0, summary.getChildCount());
assertEquals(1, summary.getReferences());
summary = next(axis);
assertTrue(summary != null);
assertEquals(Kind.ELEMENT, summary.getPathKind());
assertEquals(5L, summary.getNodeKey());
assertEquals(6L, summary.getLeftSiblingKey());
assertEquals(-1L, summary.getRightSiblingKey());
assertEquals(-1L, summary.getFirstChildKey());
assertEquals(new QNm("c"), axis.getTrx().getName());
assertEquals(3, summary.getLevel());
assertEquals(0, summary.getChildCount());
assertEquals(1, summary.getReferences());
summary = next(axis);
assertTrue(summary != null);
assertEquals(Kind.ATTRIBUTE, summary.getPathKind());
assertEquals(3L, summary.getNodeKey());
assertEquals(4L, summary.getLeftSiblingKey());
assertEquals(2L, summary.getRightSiblingKey());
assertEquals(-1L, summary.getFirstChildKey());
assertEquals(new QNm("i"), axis.getTrx().getName());
assertEquals(2, summary.getLevel());
assertEquals(0, summary.getChildCount());
assertEquals(1, summary.getReferences());
summary = next(axis);
assertTrue(summary != null);
assertEquals(Kind.NAMESPACE, summary.getPathKind());
assertEquals(2L, summary.getNodeKey());
assertEquals(3L, summary.getLeftSiblingKey());
assertEquals(-1L, summary.getRightSiblingKey());
assertEquals(-1L, summary.getFirstChildKey());
assertEquals(new QNm("ns", "p", ""), axis.getTrx().getName());
assertEquals(2, summary.getLevel());
assertEquals(0, summary.getChildCount());
assertEquals(1, summary.getReferences());
summary = next(axis);
assertTrue(summary == null);
}
use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.
the class PathSummaryTest method testSetQNmFirst.
/**
* Test setQNm on test document (does not find a corresponding path summary after rename).
*
* @throws SirixException if Sirix fails
*/
@Test
public void testSetQNmFirst() throws SirixException {
wtx.moveTo(9);
wtx.setName(new QNm("foo"));
PathSummaryReader pathSummary = wtx.getPathSummary();
pathSummary.moveToDocumentRoot();
testSetQNmFirstHelper(pathSummary);
wtx.commit();
wtx.close();
pathSummary = holder.getResourceManager().openPathSummary();
testSetQNmFirstHelper(pathSummary);
pathSummary.close();
}
use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.
the class PathSummaryTest method testSecondMoveToFirstChild.
@Test
public void testSecondMoveToFirstChild() throws SirixException {
wtx.moveTo(9);
wtx.insertElementAsFirstChild(new QNm("foo"));
wtx.insertElementAsFirstChild(new QNm("bar"));
PathSummaryReader pathSummary = wtx.getPathSummary();
pathSummary.moveToDocumentRoot();
wtx.moveTo(5);
wtx.moveSubtreeToRightSibling(9);
pathSummary = wtx.getPathSummary();
pathSummary.moveToDocumentRoot();
wtx.commit();
wtx.close();
final XdmNodeReadTrx rtx = holder.getResourceManager().beginNodeReadTrx();
rtx.close();
}
Aggregations