jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Mueller (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (OAK-5260) Incorrect handling of subpaths with leading left curly bracket
Date Wed, 14 Dec 2016 15:27:58 GMT

    [ https://issues.apache.org/jira/browse/OAK-5260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15748605#comment-15748605
] 

Thomas Mueller edited comment on OAK-5260 at 12/14/16 3:27 PM:
---------------------------------------------------------------

[~bdelacretaz] JavaCC would be (a) tricky due to the "Listener" callback mechanism, (b) probably
result in slower code, and (c) be harder to maintain. I have used both [ANTLR|http://newsql.sourceforge.net/]
and JavaCC in the past, but I find hand-written parsers [1|https://github.com/h2database/h2database/blob/master/h2/src/main/org/h2/command/Parser.java]
[2|https://github.com/h2database/h2database/blob/master/h2/src/main/org/h2/jdbc/JdbcConnection.java#L1291]
[3|http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/query/sql2/Parser.java]
 [4|http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java]
[5|http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/xpath/XPathToSQL2Converter.java]
[6|http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/json/JsopTokenizer.java]
[7| https://github.com/h2database/h2database/blob/master/h2/src/tools/org/h2/build/doc/XMLParser.java]
[8|https://github.com/h2database/h2database/blob/master/h2/src/main/org/h2/bnf/Bnf.java#L86]
to be easier to write and maintain and faster.




was (Author: tmueller):
[~bdelacretaz] JavaCC would be (a) tricky due to the "Listener" callback mechanism, (b) probably
result in slower code, and (c) be harder to maintain. I have used both ANTLR [9] and JavaCC
in the past, but I find hand-written parsers [1]-[8] to be easier to write and maintain.

[1] https://github.com/h2database/h2database/blob/master/h2/src/main/org/h2/command/Parser.java
[2] https://github.com/h2database/h2database/blob/master/h2/src/main/org/h2/jdbc/JdbcConnection.java#L1291
[3] http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/query/sql2/Parser.java
[4] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SQL2Parser.java
[5] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/xpath/XPathToSQL2Converter.java
[6] http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/json/JsopTokenizer.java
[7] https://github.com/h2database/h2database/blob/master/h2/src/tools/org/h2/build/doc/XMLParser.java
[8] https://github.com/h2database/h2database/blob/master/h2/src/main/org/h2/bnf/Bnf.java#L86
[9] http://newsql.sourceforge.net/

> Incorrect handling of subpaths with leading left curly bracket
> --------------------------------------------------------------
>
>                 Key: OAK-5260
>                 URL: https://issues.apache.org/jira/browse/OAK-5260
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: jcr
>            Reporter: Bertrand Delacretaz
>            Assignee: Julian Sedding
>             Fix For: 1.6
>
>         Attachments: OAK-5260-jsedding.patch, OAK-5260.patch
>
>
> As per SLING-6383 it looks like the Oak name mapping causes for example getItem("/libs/{sub")
(with a left curly bracket in the path) to return the /libs node if that exists but the supplied
path does not.
> I'll attach a patch with a test that demonstrates this. 
> [~fmeschbe] mentions in that Sling issue that the parsing of the CR 2 section 3.2.5.1
Expanded Form could be involved, treating the left curly bracket in a special way that's not
appropriate here.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message