Package org.exist.xquery

Examples of org.exist.xquery.XQuery


        try {
            configureAndStore(CONF2, XML);

            broker = pool.get(pool.getSecurityManager().getSystemSubject());

            XQuery xquery = broker.getXQueryService();
            assertNotNull(xquery);
            Sequence seq = xquery.execute("//para[ft:query(., 'mixed')]", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            String result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertEquals("<para>some paragraph with <hi>" + MATCH_START + "mixed" +
                    MATCH_END + "</hi> content.</para>", result);

            seq = xquery.execute("//para[ft:query(., '+nested +inner +elements')]", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertEquals("<para>another paragraph with <note><hi>" + MATCH_START + "nested" +
                    MATCH_END + "</hi> " + MATCH_START +
                    "inner" + MATCH_END + "</note> " + MATCH_START + "elements" + MATCH_END + ".</para>", result);

            seq = xquery.execute("//para[ft:query(term, 'term')]", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertEquals("<para>a third paragraph with <term>" + MATCH_START + "term" + MATCH_END +
                    "</term>.</para>", result);

            seq = xquery.execute("//para[ft:query(., '+double +match')]", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertEquals("<para>" + MATCH_START + "double" + MATCH_END + " " +
                    MATCH_START + "match" + MATCH_END + " " + MATCH_START + "double" + MATCH_END + " " +
                    MATCH_START + "match" + MATCH_END + "</para>", result);

            seq = xquery.execute(
                    "for $para in //para[ft:query(., '+double +match')] return\n" +
                            "   <hit>{$para}</hit>", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            result = queryResult2String(broker, seq);
View Full Code Here


        try {
            configureAndStore(CONF1, XML);

            broker = pool.get(pool.getSecurityManager().getSystemSubject());

            XQuery xquery = broker.getXQueryService();
            assertNotNull(xquery);
            Sequence seq = xquery.execute("//para[ft:query(., 'mixed')]/hi", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            String result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertXpathEvaluatesTo("1", "count(//exist:match)", result);

            seq = xquery.execute("//para[ft:query(., 'nested')]/note", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertXpathEvaluatesTo("1", "count(//hi/exist:match)", result);
View Full Code Here

        try {
            configureAndStore(CONF3, XML);

            broker = pool.get(pool.getSecurityManager().getSystemSubject());

            XQuery xquery = broker.getXQueryService();
            assertNotNull(xquery);
            Sequence seq = xquery.execute("//hi[ft:query(., 'mixed')]/ancestor::para", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            String result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertXpathEvaluatesTo("1", "count(//exist:match)", result);

            seq = xquery.execute("//hi[ft:query(., 'nested')]/parent::note", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertXpathEvaluatesTo("1", "count(//hi/exist:match)", result);
View Full Code Here

        try {
            configureAndStore(CONF4, XML1);

            broker = pool.get(pool.getSecurityManager().getSystemSubject());

            XQuery xquery = broker.getXQueryService();
            assertNotNull(xquery);
            Sequence seq = xquery.execute("//p[ft:query(., 'mixed')]", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            String result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertEquals("<p>Paragraphs with <s>" + MATCH_START + "mix" + MATCH_END +
                    "</s><s>ed</s> content are <s>danger</s>ous.</p>", result);

            seq = xquery.execute("//p[ft:query(., 'ignored')]", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertEquals("<p>A simple<note>sic</note> paragraph with <hi>highlighted</hi> text <note>and a note</note> to be " +
                    MATCH_START + "ignored" + MATCH_END + ".</p>", result);

            seq = xquery.execute("//p[ft:query(., 'highlighted')]", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertEquals("<p>A simple<note>sic</note> paragraph with <hi>" + MATCH_START +
                    "highlighted" + MATCH_END + "</hi> text <note>and a note</note> to be " +
                    "ignored.</p>", result);

            seq = xquery.execute("//p[ft:query(., 'highlighted')]/hi", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertEquals("<hi>" + MATCH_START + "highlighted" + MATCH_END + "</hi>", result);
           
            seq = xquery.execute("//head[ft:query(., 'title')]", null, AccessContext.TEST);
            assertNotNull(seq);
            assertEquals(1, seq.getItemCount());
            result = queryResult2String(broker, seq);
            System.out.println("RESULT: " + result);
            XMLAssert.assertEquals("<head>The <b>" + MATCH_START + "title" + MATCH_END + "</b>of it</head>",
View Full Code Here

        BrokerPool pool = null;
        DBBroker broker = null;
        try {
            pool = BrokerPool.getInstance();
            broker = pool.get(pool.getSecurityManager().getSystemSubject());
            XQuery xquery = broker.getXQueryService();
            assertNotNull(xquery);
            Sequence seq = xquery.execute(
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "declare function local:key-callback($term as xs:string, $data as xs:int+) as element() { " +
                "   <entry>" +
                "     <term>{$term}</term>" +
                "     <frequency>{$data[1]}</frequency>" +
View Full Code Here

        DBBroker broker = null;
        try {
            pool = BrokerPool.getInstance();
            assertNotNull(pool);
            broker = pool.get(pool.getSecurityManager().getSystemSubject());
            XQuery xquery = broker.getXQueryService();
            assertNotNull(xquery);
            String query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:equals(//gml:*, //gml:Point[gml:coordinates[. = '278697.450,187740.900']])";
            Sequence seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:disjoint(//gml:*, //gml:Point[gml:coordinates[. = '278697.450,187740.900']])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:intersects(//gml:*, //gml:Point[gml:coordinates[. = '278697.450,187740.900']])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:touches(//gml:*, //gml:Point[gml:coordinates[. = '278697.450,187740.900']])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            //assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:crosses(//gml:*, //gml:Point[gml:coordinates[. = '278697.450,187740.900']])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            //assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:within(//gml:*, //gml:Point[gml:coordinates[. = '278697.450,187740.900']])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:contains(//gml:*, //gml:Point[gml:coordinates[. = '278697.450,187740.900']])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:overlaps(//gml:*, //gml:Point[gml:coordinates[. = '278697.450,187740.900']])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            //assertTrue(seq.getItemCount() > 0);
           
            //Tests with empty sequences
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:equals(//gml:*, ())";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:overlaps((), //gml:Point[gml:coordinates[. = '278697.450,187740.900']])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() == 0);
           
            //In-memory test
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:equals(//gml:*, " + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
           
        } catch (Exception e) {
            e.printStackTrace();
View Full Code Here

    private void parseDiff(DBBroker broker, DocumentImpl doc) throws XPathException {
        deletedNodes = new TreeMap<NodeId, String>();
        insertedNodes = new TreeMap<NodeId, ElementImpl>();
        appendedNodes = new TreeMap<NodeId, ElementImpl>();
        XQuery service = broker.getXQueryService();
        Sequence changes;
    try {
      changes = service.execute("declare namespace v=\"http://exist-db.org/versioning\";" +
              "doc('" + doc.getURI().toString() + "')/v:version/v:diff/*",
              Sequence.EMPTY_SEQUENCE, AccessContext.TEST);
    } catch (PermissionDeniedException e) {
      throw new XPathException(e);
    }
View Full Code Here

        DBBroker broker = null;
        try {
            pool = BrokerPool.getInstance();
            assertNotNull(pool);
            broker = pool.get(pool.getSecurityManager().getSystemSubject());
            XQuery xquery = broker.getXQueryService();
            assertNotNull(xquery);
            String query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getWKT((//gml:Polygon)[1])";
            Sequence seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getWKB((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0)
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getMinX((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getMaxX((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getMinY((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getMaxY((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getCentroidX((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getCentroidY((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getArea((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326WKT((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326WKB((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326MinX((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326MaxX((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326MinY((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326MaxY((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326CentroidX((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326CentroidY((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326Area((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getSRS((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getGeometryType((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:isClosed((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:isSimple((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:isValid((//gml:Polygon)[1])";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);

            //Tests with empty sequences
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getWKT(())"
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() == 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getArea(())"
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() == 0);
            //In-memory tests
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getWKT(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getWKB(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);         
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getMinX(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getMaxX(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getMinY(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getMaxY(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getCentroidX(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getCentroidY(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getArea(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326WKT(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326WKB(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326MinX(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326MaxX(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326MinY(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326MaxY(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326CentroidX(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326CentroidY(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getEPSG4326Area(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getSRS(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);   
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:getGeometryType(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:isClosed(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:isSimple(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
            query = "import module namespace spatial='http://exist-db.org/xquery/spatial' " +
                "at 'java:org.exist.examples.indexing.spatial.module.SpatialModule'; " +
                "declare namespace gml = 'http://www.opengis.net/gml'; " +
                "spatial:isValid(" + IN_MEMORY_GML + ")";
            seq = xquery.execute(query, null, AccessContext.TEST);
            assertNotNull(seq);
            assertTrue(seq.getItemCount() > 0);
        } catch (Exception e) {
            e.printStackTrace();
            fail(e.getMessage());
View Full Code Here

      BrokerPool pool = null;
      DBBroker broker = null
        try {
            pool = BrokerPool.getInstance();
            broker = pool.get(pool.getSecurityManager().getSystemSubject());
            XQuery xquery = broker.getXQueryService();
            Sequence result = xquery.execute(XQUERY, null, AccessContext.TEST);
            System.out.println("Found: " + result.getItemCount());
            StringWriter out = new StringWriter();
            Properties props = new Properties();
            props.setProperty(OutputKeys.INDENT, "yes");
            SAXSerializer serializer = new SAXSerializer(out, props);
View Full Code Here

   * @throws EXistException
   * @throws XPathException
   */
  protected NodeList select(DocumentSet docs)
    throws PermissionDeniedException, EXistException, XPathException {
    final XQuery xquery = broker.getXQueryService();
    final XQueryPool pool = xquery.getXQueryPool();
    final Source source = new StringSource(selectStmt);
    CompiledXQuery compiled = pool.borrowCompiledXQuery(broker, source);
    XQueryContext context;
    if(compiled == null)
        {context = xquery.newContext(getAccessContext());}
    else
        {context = compiled.getContext();}

    context.setStaticallyKnownDocuments(docs);
    declareNamespaces(context);
    declareVariables(context);
    if(compiled == null)
      try {
        compiled = xquery.compile(context, source);
      } catch (final IOException e) {
        throw new EXistException("An exception occurred while compiling the query: " + e.getMessage());
      }
   
    Sequence resultSeq = null;
    try {
      resultSeq = xquery.execute(compiled, null);
    } finally {
      pool.returnCompiledXQuery(source, compiled);
    }

    if (!(resultSeq.isEmpty() || Type.subTypeOf(resultSeq.getItemType(), Type.NODE)))
View Full Code Here

TOP

Related Classes of org.exist.xquery.XQuery

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.