KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > alfresco > jcr > query > QueryManagerImplTest


1 package org.alfresco.jcr.query;
2
3 import javax.jcr.Node;
4 import javax.jcr.NodeIterator;
5 import javax.jcr.Property;
6 import javax.jcr.Session;
7 import javax.jcr.SimpleCredentials;
8 import javax.jcr.Value;
9 import javax.jcr.query.Query;
10 import javax.jcr.query.QueryManager;
11 import javax.jcr.query.QueryResult;
12 import javax.jcr.query.Row;
13 import javax.jcr.query.RowIterator;
14
15 import org.alfresco.jcr.test.BaseJCRTest;
16
17 public class QueryManagerImplTest extends BaseJCRTest
18 {
19
20     protected Session superuserSession;
21     
22     @Override JavaDoc
23     protected void setUp() throws Exception JavaDoc
24     {
25         super.setUp();
26         
27         SimpleCredentials superuser = new SimpleCredentials("superuser", "".toCharArray());
28         superuserSession = repository.login(superuser, getWorkspace());
29     }
30     
31     @Override JavaDoc
32     protected void tearDown() throws Exception JavaDoc
33     {
34         superuserSession.logout();
35         super.tearDown();
36     }
37
38
39     public void testQuery()
40         throws Exception JavaDoc
41     {
42         QueryManager queryMgr = superuserSession.getWorkspace().getQueryManager();
43         String JavaDoc[] languages = queryMgr.getSupportedQueryLanguages();
44         assertEquals(1, languages.length);
45         assertEquals(Query.XPATH, languages[0]);
46         
47         Query query = queryMgr.createQuery("//*", Query.XPATH);
48         QueryResult result = query.execute();
49         String JavaDoc[] columnNames = result.getColumnNames();
50
51         // iterate via row iterator
52
int rowCnt = 0;
53         RowIterator rowIterator = result.getRows();
54         while(rowIterator.hasNext())
55         {
56             Row row = rowIterator.nextRow();
57             for (String JavaDoc columnName : columnNames)
58             {
59                 Value value = row.getValue(columnName);
60                 if (value != null)
61                 {
62                     String JavaDoc strValue = value.getString();
63                     assertNotNull(strValue);
64                 }
65             }
66             rowCnt++;
67         }
68         
69         // iterate via node iterator
70
int nodeCnt = 0;
71         NodeIterator nodeIterator = result.getNodes();
72         while(nodeIterator.hasNext())
73         {
74             Node node = nodeIterator.nextNode();
75             Property property = node.getProperty("sys:node-uuid");
76             Value value = property.getValue();
77             String JavaDoc uuid = value.getString();
78             assertNotNull(uuid);
79             nodeCnt++;
80         }
81
82         // check same number of items returned from each iterator
83
assertEquals(rowCnt, nodeCnt);
84     }
85     
86     
87 }
88
Popular Tags