Search in sources :

Example 31 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class ProcessFileSystemAttributes method processFile.

@Override
public void processFile(final XdmNodeWriteTrx trx, Path path, final Optional<BasicFileAttributes> attrs) {
    if (Files.exists(path)) {
        final String file = path.getFileName().toString();
        final int index = file.lastIndexOf('.');
        if (index > 0) {
            final String suffix = file.substring(index + 1);
            if (!suffix.isEmpty()) {
                try {
                    trx.insertAttribute(new QNm("suffix"), file.substring(index + 1));
                    trx.moveToParent();
                } catch (SirixException e) {
                    LOGWRAPPER.error(e.getMessage(), e);
                }
            }
        }
    }
}
Also used : QNm(org.brackit.xquery.atomic.QNm) SirixException(org.sirix.exception.SirixException)

Example 32 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class VersioningTest method test1.

/**
 * Test revisioning.
 *
 * @throws SirixException if anything in Sirix fails
 */
public void test1() throws SirixException {
    try (final ResourceManager manager = mDatabase.getResourceManager(new ResourceManagerConfiguration.Builder(TestHelper.RESOURCE).build())) {
        XdmNodeWriteTrx wtx = manager.beginNodeWriteTrx();
        for (int i = 0; i < Constants.NDP_NODE_COUNT - 1; i++) {
            wtx.insertElementAsFirstChild(new QNm("foo"));
        }
        wtx.commit();
        assertTrue(wtx.getNodeKey() == Constants.NDP_NODE_COUNT - 1);
        wtx.close();
        wtx = manager.beginNodeWriteTrx();
        setBaaaz(wtx);
        setFooBar(wtx);
        setFoooo(wtx);
        wtx.moveTo(Constants.NDP_NODE_COUNT - 1);
        fillNodePage(wtx);
        wtx.commit();
        wtx.close();
        wtx = manager.beginNodeWriteTrx();
        wtx.moveTo((Constants.NDP_NODE_COUNT << 1) - 1);
        fillNodePage(wtx);
        wtx.commit();
        wtx.close();
        wtx = manager.beginNodeWriteTrx();
        wtx.moveTo((Constants.NDP_NODE_COUNT * 3) - 1);
        fillNodePage(wtx);
        wtx.commit();
        wtx.close();
        wtx = manager.beginNodeWriteTrx();
        wtx.moveTo((Constants.NDP_NODE_COUNT << 2) - 1);
        fillNodePage(wtx);
        wtx.commit();
        wtx.close();
        try (final XdmNodeReadTrx rtx = manager.beginNodeReadTrx()) {
            assertTrue(rtx.moveToFirstChild().hasMoved());
            assertEquals(new QNm("foobar"), rtx.getName());
            assertTrue(rtx.moveToFirstChild().hasMoved());
            assertEquals(new QNm("foooo"), rtx.getName());
            for (int i = 0; i < Constants.NDP_NODE_COUNT - 4; i++) {
                assertTrue(rtx.moveToFirstChild().hasMoved());
            }
            assertEquals(new QNm("baaaz"), rtx.getName());
        }
    }
}
Also used : XdmNodeWriteTrx(org.sirix.api.XdmNodeWriteTrx) QNm(org.brackit.xquery.atomic.QNm) XdmNodeReadTrx(org.sirix.api.XdmNodeReadTrx) ResourceManager(org.sirix.api.ResourceManager)

Example 33 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class VersioningTest method test.

/**
 * Test revisioning.
 *
 * @throws SirixException if anything in Sirix fails
 */
public void test() throws SirixException {
    try (final ResourceManager manager = mDatabase.getResourceManager(new ResourceManagerConfiguration.Builder(TestHelper.RESOURCE).build())) {
        try (final XdmNodeWriteTrx wtx = manager.beginNodeWriteTrx()) {
            for (int i = 0; i < Constants.NDP_NODE_COUNT - 1; i++) {
                wtx.insertElementAsFirstChild(new QNm("foo"));
            }
            wtx.commit();
            assertTrue(wtx.getNodeKey() == Constants.NDP_NODE_COUNT - 1);
            fillNodePage(wtx);
            wtx.commit();
            assertTrue(wtx.getNodeKey() == (Constants.NDP_NODE_COUNT << 1) - 1);
            fillNodePage(wtx);
            wtx.commit();
            assertTrue(wtx.getNodeKey() == (Constants.NDP_NODE_COUNT * 3) - 1);
            fillNodePage(wtx);
            wtx.commit();
            assertTrue(wtx.getNodeKey() == (Constants.NDP_NODE_COUNT << 2) - 1);
            fillNodePage(wtx);
            wtx.commit();
            assertTrue(wtx.getNodeKey() == (Constants.NDP_NODE_COUNT * 5) - 1);
            try (final XdmNodeReadTrx rtx = manager.beginNodeReadTrx()) {
                for (int i = 0; i < Constants.NDP_NODE_COUNT - 1; i++) {
                    assertTrue(rtx.moveToFirstChild().hasMoved());
                }
                move(rtx);
                move(rtx);
                move(rtx);
                move(rtx);
            }
        }
    }
}
Also used : XdmNodeWriteTrx(org.sirix.api.XdmNodeWriteTrx) QNm(org.brackit.xquery.atomic.QNm) XdmNodeReadTrx(org.sirix.api.XdmNodeReadTrx) ResourceManager(org.sirix.api.ResourceManager)

Example 34 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class VersioningTest method setFooBar.

/**
 * Set the first {@link QNm} in the first node page.
 *
 * @param wtx {@link XdmNodeWriteTrx} instance
 * @throws SirixException if inserting elements fails
 */
private void setFooBar(final XdmNodeWriteTrx wtx) throws SirixException {
    wtx.moveToDocumentRoot();
    wtx.moveToFirstChild();
    wtx.setName(new QNm("foobar"));
}
Also used : QNm(org.brackit.xquery.atomic.QNm)

Example 35 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class VersioningTest method setFoooo.

/**
 * Set the second {@link QNm} in the first node page.
 *
 * @param wtx {@link XdmNodeWriteTrx} instance
 * @throws SirixException if inserting elements fails
 */
private void setFoooo(final XdmNodeWriteTrx wtx) throws SirixException {
    wtx.moveToDocumentRoot();
    wtx.moveToFirstChild();
    wtx.moveToFirstChild();
    wtx.setName(new QNm("foooo"));
}
Also used : QNm(org.brackit.xquery.atomic.QNm)

Aggregations

QNm (org.brackit.xquery.atomic.QNm)89 XdmNodeReadTrx (org.sirix.api.XdmNodeReadTrx)20 Test (org.junit.Test)18 QueryException (org.brackit.xquery.QueryException)15 XdmNodeWriteTrx (org.sirix.api.XdmNodeWriteTrx)15 DBNode (org.sirix.xquery.node.DBNode)12 QName (javax.xml.namespace.QName)11 PathSummaryReader (org.sirix.index.path.summary.PathSummaryReader)11 IndexController (org.sirix.access.IndexController)10 IndexDef (org.sirix.index.IndexDef)10 Item (org.brackit.xquery.xdm.Item)7 Axis (org.sirix.api.Axis)7 DescendantAxis (org.sirix.axis.DescendantAxis)7 SirixException (org.sirix.exception.SirixException)7 Attribute (javax.xml.stream.events.Attribute)5 Namespace (javax.xml.stream.events.Namespace)5 DocumentException (org.brackit.xquery.xdm.DocumentException)5 SirixIOException (org.sirix.exception.SirixIOException)5 Ignore (org.junit.Ignore)4 SirixUsageException (org.sirix.exception.SirixUsageException)4