]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - server/jcr/mvc/JcrBrowserController.java
1 package org
.argeo
.server
.jcr
.mvc
;
3 import java
.util
.ArrayList
;
4 import java
.util
.Arrays
;
9 import javax
.jcr
.NodeIterator
;
10 import javax
.jcr
.RepositoryException
;
11 import javax
.jcr
.Session
;
12 import javax
.jcr
.Value
;
13 import javax
.jcr
.query
.Query
;
14 import javax
.jcr
.query
.QueryResult
;
15 import javax
.jcr
.query
.Row
;
16 import javax
.jcr
.query
.RowIterator
;
18 import org
.springframework
.stereotype
.Controller
;
19 import org
.springframework
.web
.bind
.annotation
.RequestMapping
;
20 import org
.springframework
.web
.bind
.annotation
.RequestParam
;
21 import org
.springframework
.web
.context
.request
.RequestAttributes
;
22 import org
.springframework
.web
.context
.request
.WebRequest
;
25 public class JcrBrowserController
implements JcrMvcConstants
{
27 @RequestMapping("/getJcrItem.*")
28 public Item
getJcrItem(WebRequest webRequest
,
29 @RequestParam("path") String path
) throws RepositoryException
{
30 return ((Session
) webRequest
.getAttribute(REQUEST_ATTR_SESSION
,
31 RequestAttributes
.SCOPE_REQUEST
)).getItem(path
);
34 @RequestMapping("/queryJcrNodes.*")
35 public List
<String
> queryJcrNodes(WebRequest webRequest
,
36 @RequestParam("statement") String statement
,
37 @RequestParam("language") String language
)
38 throws RepositoryException
{
39 Session session
= ((Session
) webRequest
.getAttribute(
40 REQUEST_ATTR_SESSION
, RequestAttributes
.SCOPE_REQUEST
));
41 Query query
= session
.getWorkspace().getQueryManager().createQuery(
43 NodeIterator nit
= query
.execute().getNodes();
44 List
<String
> paths
= new ArrayList
<String
>();
45 while (nit
.hasNext()) {
46 paths
.add(nit
.nextNode().getPath());
51 @RequestMapping("/queryJcrTable.*")
52 public List
<List
<String
>> queryJcrTable(WebRequest webRequest
,
53 @RequestParam("statement") String statement
,
54 @RequestParam("language") String language
)
55 throws RepositoryException
{
56 Session session
= ((Session
) webRequest
.getAttribute(
57 REQUEST_ATTR_SESSION
, RequestAttributes
.SCOPE_REQUEST
));
58 Query query
= session
.getWorkspace().getQueryManager().createQuery(
60 QueryResult queryResult
= query
.execute();
61 List
<List
<String
>> results
= new ArrayList
<List
<String
>>();
62 results
.add(Arrays
.asList(queryResult
.getColumnNames()));
63 RowIterator rit
= queryResult
.getRows();
65 while (rit
.hasNext()) {
66 Row row
= rit
.nextRow();
67 List
<String
> lst
= new ArrayList
<String
>();
68 for (Value value
: row
.getValues()) {
69 lst
.add(value
.getString());