jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cédric Damioli <cedric.dami...@anyware-tech.com>
Subject Re: How to get children (direct descendants of the given node)
Date Fri, 16 Mar 2007 20:06:00 GMT
Why parentFolder.getChildren() doesn't fit your needs ?

Lubos and Alena Pochman a écrit :
> It is Friday, and I probably have brain lock (bigger than usual 8-).
> But I cannot find easy way to get children (direct descendants of the 
> given
> node).
> The best thing I came up with is (for nt:folder traversal):
>
>            ArrayList<String> subFolderNames = new ArrayList<String>();
>            Workspace workspace = this.session.getWorkspace();
>            QueryManager queryMan = workspace.getQueryManager();
>            String qstr = "/jcr:root" + path + "//element(*, nt:folder)";
>            Query q = queryMan.createQuery(qstr, Query.XPATH);
>            QueryResult results = q.execute();
>            NodeIterator it = results.getNodes();
>            while (it.hasNext()) {
>                Node n = it.nextNode();
>                if (parentFolder.getDepth() + 1 == n.getDepth())
>                    subFolderNames.add(n.getName());
>            }
>
> There must be a better way (I just do not see it 8-).
>
> Lubos
>

-- 
Cédric Damioli
Directeur de projets
Solutions CMS
ANYWARE TECHNOLOGIES
Tel : +33 (0)5 61 00 73 47
Fax : +33 (0)5 61 00 51 46
http://www.anyware-tech.com


Mime
View raw message