1 17 package org.alfresco.jcr.query; 18 19 import java.util.List ; 20 21 import javax.jcr.RepositoryException; 22 import javax.jcr.query.InvalidQueryException; 23 import javax.jcr.query.Query; 24 import javax.jcr.query.QueryResult; 25 26 import org.alfresco.jcr.session.SessionImpl; 27 import org.alfresco.service.cmr.repository.NodeRef; 28 import org.alfresco.service.cmr.repository.NodeService; 29 import org.alfresco.service.cmr.search.SearchService; 30 31 32 37 public class XPathQueryImpl extends QueryImpl 38 { 39 40 45 public XPathQueryImpl(SessionImpl session, String statement) 46 { 47 super(session, statement); 48 } 49 50 @Override 51 public void isValidStatement() throws InvalidQueryException 52 { 53 } 55 56 59 public QueryResult execute() throws RepositoryException 60 { 61 SearchService search = getSession().getRepositoryImpl().getServiceRegistry().getSearchService(); 62 NodeService nodes = getSession().getRepositoryImpl().getServiceRegistry().getNodeService(); 63 NodeRef root = nodes.getRootNode(getSession().getWorkspaceStore()); 64 List <NodeRef> nodeRefs = search.selectNodes(root, getStatement(), null, getSession().getNamespaceResolver(), false, SearchService.LANGUAGE_JCR_XPATH); 65 return new NodeRefListQueryResultImpl(getSession(), nodeRefs).getProxy(); 66 } 67 68 71 public String getLanguage() 72 { 73 return Query.XPATH; 74 } 75 76 } 77 | Popular Tags |