Hi,
under org.apache.jackrabbit.core.query, jackrabbit-core currently
contains everything needed to *parse* JSR-170 query statements, both in
"XPath" and "SQL".
This part of the code is completely independent from jackrabbit-core (I
have successfully borrowed it for use in a proprietary, JCR2SPI-based
server).
As a matter of fact, around a year ago when the EG discussed the topic
of query syntaxes, the way Jackrabbit handles queries was mentioned
repeatedly as proof that supporting two different query syntaxes is not
a big deal, as long as they can be parsed into a single internal
representation.
Therefore I'd suggest to either
- move the query parser into a separate top-level project (with a
dependency on jackrabbit-spi-commons), or to
- move it into jackrabbit-spi-commons.
On the other hand, I can think of a few reasons for not doing that now,
such as:
- with the work on the JCR 2.0 RI, query is a moving target, and
- exposing the internal query tree as a "public" API may be problematic.
Feedback appreciated,
Julian