Beispiel #1
0
 public void testXQuery() throws RemoteException {
   admin.removeCollection(sessionId, testColl);
   admin.createCollection(sessionId, testColl);
   String data =
       "<test>"
           + "  <fruit name='apple'/>"
           + "  <fruit name='orange'/>"
           + "  <fruit name='pear'/>"
           + "  <fruit name='grape'/>"
           + "  <fruit name='banana'/>"
           + "  <fruit name='mango'/>"
           + "</test>";
   String data1 =
       "<test>"
           + "  <fruit name='guava'/>"
           + "  <fruit name='quince'/>"
           + "  <fruit name='pineapple'/>"
           + "  <fruit name='mandarine'/>"
           + "  <fruit name='persimmon'/>"
           + "  <fruit name='pomegranate'/>"
           + "</test>";
   System.out.println("====> Creating test documents");
   admin.store(sessionId, data.getBytes(), "UTF-8", testColl + "/docA", true);
   admin.store(sessionId, data1.getBytes(), "UTF-8", testColl + "/docB", true);
   System.out.println("====> getResource");
   String rd = query.getResource(sessionId, testColl + "/docA", true, false);
   System.out.println(rd);
   System.out.println("====> listCollection");
   Collection coll = query.listCollection(sessionId, testColl);
   String[] colls = coll.getCollections().getElements();
   if (colls != null)
     for (int i = 0; i < colls.length; i++) {
       System.out.println("  collection " + colls[i]);
     }
   String[] ress = coll.getResources().getElements();
   assertEquals(ress.length, 2);
   if (ress != null)
     for (int i = 0; i < ress.length; i++) {
       System.out.println("  resources " + ress[i]);
     }
   System.out.println("====> getResourceData");
   byte[] rd1 = query.getResourceData(sessionId, testColl + "/docB", true, false, false);
   System.out.println(new String(rd1));
   System.out.println("====> performing xquery with retrieve");
   String qry = "for $a in collection('" + testColl + "')/test/fruit return $a";
   assertEquals(doXQuery(qry), 12);
   System.out.println("====> performing xquery with retrieveData");
   assertEquals(doXQueryB(qry), 12);
   System.out.println("====> performing xquery with retrieveByDocument");
   assertEquals(doXQueryC(qry), 6);
   System.out.println("====> performing xquery, expecting 0 hits");
   String qry1 = "for $a in collection('" + testColl + "')/test/nuts return $a";
   assertEquals(doXQuery(qry1), 0);
   String qry2 = "for $a in collection('" + testColl + "')/test/fruit[@name &= 'apple'] return $a";
   assertEquals(doXQuery(qry2), 1);
 }