|
Description
Shaun Smith
> The Hermes parser integration code should be placed in o.e.p.core along side
> the ANTLR integration code. The target packages are:
> org.eclipse.persistence.internal.jpa.parsing.antlr
> org.eclipse.persistence.internal.jpa.parsing.jpql
> ANTLR integration code would move to the new package for consistency.
> Introducing the Hermes integration code into o.e.p.core a new dependency on the
> Hermes JPQL parser bundle (Bug 338144).
+1. I have no preference for the package names. These are fine by me.
I also spoke to Peter and he agrees in principle (putting the integration code for Hermes in core), though I'm not certain if he agrees with the details (moving antlr integration code, and the specified package names). I'm hoping add his own update soon.
Created attachment 190331 [details] JPQL query to DatabaseQuery conversion using the Hermes parser The path includes the code that converts a JPQL query (string) to a DatabaseQuery by using the Hermes parser, see bug 338138. Created attachment 190805 [details]
JPQL query to DatabaseQuery conversion using the Hermes parser
Made sure the patch contains the latest code.
Created attachment 191180 [details] JPQL query to DatabaseQuery conversion using the Hermes parser This patch contains the latest code, which was built based on the changes made to the Hermes parser, refer to bug 339961. Created attachment 192986 [details] JPQL query to DatabaseQuery conversion using the Hermes parser Updated EL code to use the latest Hermes, which was optimized with bug 341523. Created attachment 193037 [details]
JPQL query to DatabaseQuery conversion using the Hermes parser
The patch I posted yesterday was depending on the pending pluggable parser (HermesParser was implementing JPQLQueryParser). This patch removed that dependency.
Note: The person who will commit this patch will have to change the build files, which is not part of the patch in order for core to depend on the Hermes parser (jpa/org.eclipse.persistence.jpa.jpql).
Created attachment 193939 [details]
JPQL query to DatabaseQuery conversion using the Hermes parser
The previous patch became out dated with the recent update to the Hermes parser, due to optimization and clean up in the validator and content assist classes.
The latest patch seems to have compile issues in core with the latest code on trunk:
[javac] Compiling 1509 source files to C:\_EL_trunk6\foundation\org.eclipse.persistence.core\classes
[javac] C:\_EL_trunk6\foundation\org.eclipse.persistence.core\src\org\eclipse\persistence\internal\jpa\jpql\HermesParser.java:33: cannot find symbol
[javac] symbol : class ANTLRQueryParser
[javac] location: package org.eclipse.persistence.queries
[javac] import org.eclipse.persistence.queries.ANTLRQueryParser;
[javac] ^
[javac] C:\_EL_trunk6\foundation\org.eclipse.persistence.core\src\org\eclipse\persistence\internal\jpa\jpql\HermesParser.java:164: cannot find symbol
[javac] symbol : class ANTLRQueryParser
[javac] location: class org.eclipse.persistence.internal.jpa.jpql.HermesParser
[javac] ANTLRQueryParser parser = new ANTLRQueryParser();
[javac] ^
[javac] C:\_EL_trunk6\foundation\org.eclipse.persistence.core\src\org\eclipse\persistence\internal\jpa\jpql\HermesParser.java:164: cannot find symbol
[javac] symbol : class ANTLRQueryParser
[javac] location: class org.eclipse.persistence.internal.jpa.jpql.HermesParser
[javac] ANTLRQueryParser parser = new ANTLRQueryParser();
[javac] ^
[javac] Note: C:\_EL_trunk6\foundation\org.eclipse.persistence.core\src\org\eclipse\persistence\internal\sessions\AbstractSession.java uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 3 errors
I'm trying to verify changes to the build in core (new dependency on o.e.p.jpa.jpql plugin), and the bnd file used to generate manifests but cannot compile core.
Oops!!! I added ANTLRQueryParser so I could debug and test creating a DatabaseQuery and I didn't realize I didn't delete it before creating the patch. Let me create a new patch. Created attachment 194710 [details]
JPQL query to DatabaseQuery conversion using the Hermes parser
Removed testing code that made the patch not compilable.
Created attachment 194712 [details]
preliminary changes for ant build
I've attached a patch for the build based of of revision 9303.
Was this a problem in M7? If so, is there any impact to clients? There is no impact for M7. The corrected patch is only in EL code, which is not in M7 code base (SVN). Created attachment 194719 [details]
build changes associated with Pascal's patch
removed some debugging messages, and added generated and formated manifest.mf
I checked in the code and the build changes. Tom Ware reviewed the code and Eric reviewed the build changes. The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink |