Search in sources :

Example 6 with DocumentException

use of org.brackit.xquery.xdm.DocumentException in project sirix by sirixdb.

the class DBNode method prepend.

private DBNode prepend(XdmNodeWriteTrx wtx, Node<?> child) throws DocumentException {
    try {
        SubtreeBuilder builder = null;
        if (wtx.hasFirstChild()) {
            wtx.moveToFirstChild();
            builder = new SubtreeBuilder(mCollection, wtx, Insert.ASLEFTSIBLING, Collections.<SubtreeListener<? super AbstractTemporalNode<DBNode>>>emptyList());
        } else {
            builder = new SubtreeBuilder(mCollection, wtx, Insert.ASFIRSTCHILD, Collections.<SubtreeListener<? super AbstractTemporalNode<DBNode>>>emptyList());
        }
        child.parse(builder);
        wtx.moveTo(builder.getStartNodeKey());
    } catch (final SirixException e) {
        throw new DocumentException(e);
    }
    return new DBNode(wtx, mCollection);
}
Also used : SubtreeListener(org.brackit.xquery.node.parser.SubtreeListener) DocumentException(org.brackit.xquery.xdm.DocumentException) AbstractTemporalNode(org.brackit.xquery.xdm.AbstractTemporalNode) SirixException(org.sirix.exception.SirixException)

Example 7 with DocumentException

use of org.brackit.xquery.xdm.DocumentException in project sirix by sirixdb.

the class DBNode method setAttribute.

private DBNode setAttribute(XdmNodeWriteTrx wtx, Node<?> attribute) throws DocumentException {
    if (wtx.isElement()) {
        final String value = attribute.getValue().asStr().stringValue();
        final QNm name = attribute.getName();
        try {
            wtx.insertAttribute(name, value);
        } catch (final SirixException e) {
            throw new DocumentException(e);
        }
        return new DBNode(mRtx, mCollection);
    }
    throw new DocumentException("No element node selected!");
}
Also used : QNm(org.brackit.xquery.atomic.QNm) DocumentException(org.brackit.xquery.xdm.DocumentException) SirixException(org.sirix.exception.SirixException)

Example 8 with DocumentException

use of org.brackit.xquery.xdm.DocumentException in project sirix by sirixdb.

the class DBNode method insertBefore.

private DBNode insertBefore(XdmNodeWriteTrx wtx, Node<?> node) throws DocumentException {
    try {
        final SubtreeBuilder builder = new SubtreeBuilder(mCollection, wtx, Insert.ASLEFTSIBLING, Collections.<SubtreeListener<? super AbstractTemporalNode<DBNode>>>emptyList());
        node.parse(builder);
        wtx.moveTo(builder.getStartNodeKey());
    } catch (final SirixException e) {
        throw new DocumentException(e);
    }
    return new DBNode(wtx, mCollection);
}
Also used : DocumentException(org.brackit.xquery.xdm.DocumentException) SirixException(org.sirix.exception.SirixException)

Example 9 with DocumentException

use of org.brackit.xquery.xdm.DocumentException in project sirix by sirixdb.

the class DBNode method replaceWith.

private DBNode replaceWith(XdmNodeWriteTrx wtx, Node<?> node) throws DocumentException {
    if (node instanceof DBNode) {
        final DBNode other = (DBNode) node;
        try {
            final XdmNodeReadTrx rtx = other.getTrx();
            rtx.moveTo(other.getNodeKey());
            wtx.replaceNode(rtx);
        } catch (final SirixException e) {
            throw new DocumentException(e.getCause());
        }
        return new DBNode(wtx, mCollection);
    } else {
        final SubtreeBuilder builder = createBuilder(wtx);
        node.parse(builder);
        try {
            return replace(builder.getStartNodeKey(), wtx);
        } catch (final SirixException e) {
            throw new DocumentException(e.getCause());
        }
    }
}
Also used : XdmNodeReadTrx(org.sirix.api.XdmNodeReadTrx) DocumentException(org.brackit.xquery.xdm.DocumentException) SirixException(org.sirix.exception.SirixException)

Example 10 with DocumentException

use of org.brackit.xquery.xdm.DocumentException in project sirix by sirixdb.

the class DBNode method prepend.

private DBNode prepend(XdmNodeWriteTrx wtx, SubtreeParser parser) throws DocumentException {
    try {
        parser.parse(new SubtreeBuilder(mCollection, wtx, Insert.ASFIRSTCHILD, Collections.<SubtreeListener<? super AbstractTemporalNode<DBNode>>>emptyList()));
        moveRtx();
        wtx.moveToFirstChild();
    } catch (final SirixException e) {
        throw new DocumentException(e);
    }
    return new DBNode(wtx, mCollection);
}
Also used : SubtreeListener(org.brackit.xquery.node.parser.SubtreeListener) DocumentException(org.brackit.xquery.xdm.DocumentException) AbstractTemporalNode(org.brackit.xquery.xdm.AbstractTemporalNode) SirixException(org.sirix.exception.SirixException)

Aggregations

DocumentException (org.brackit.xquery.xdm.DocumentException)35 SirixException (org.sirix.exception.SirixException)25 SubtreeListener (org.brackit.xquery.node.parser.SubtreeListener)7 AbstractTemporalNode (org.brackit.xquery.xdm.AbstractTemporalNode)7 XdmNodeWriteTrx (org.sirix.api.XdmNodeWriteTrx)7 QNm (org.brackit.xquery.atomic.QNm)5 DatabaseConfiguration (org.sirix.access.conf.DatabaseConfiguration)5 Database (org.sirix.api.Database)5 SirixRuntimeException (org.sirix.exception.SirixRuntimeException)5 ResourceManager (org.sirix.api.ResourceManager)4 IOException (java.io.IOException)3 XdmNodeReadTrx (org.sirix.api.XdmNodeReadTrx)3 PrintStream (java.io.PrintStream)2 Path (java.nio.file.Path)2 QueryException (org.brackit.xquery.QueryException)2 Sequence (org.brackit.xquery.xdm.Sequence)2 DBCollection (org.sirix.xquery.node.DBCollection)2 DBStore (org.sirix.xquery.node.DBStore)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 FileInputStream (java.io.FileInputStream)1