protected void doGet()

in src/main/java/org/apache/sling/launchpad/testservices/jcr/FullTextQueryServlet.java [56:83]


    protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/plain");

        String queryText = request.getParameter("q");
        if (queryText == null || queryText.isEmpty()) {
            response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
            response.getWriter().write("Missing mandatory 'q' parameter");
            return;
        }

        Session session = request.getResourceResolver().adaptTo(Session.class);

        try {
            Query query = session.getWorkspace()
                    .getQueryManager()
                    .createQuery("SELECT * FROM [nt:base] AS s WHERE CONTAINS(s.*, $queryText)", Query.JCR_SQL2);
            query.bindValue("queryText", session.getValueFactory().createValue(queryText));
            QueryResult result = query.execute();
            NodeIterator iterator = result.getNodes();
            while (iterator.hasNext()) {
                response.getWriter().println(iterator.nextNode().getPath());
            }
        } catch (RepositoryException e) {
            throw new ServletException(e);
        }
    }