Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 358241 - Hermes version 2.0
Summary: Hermes version 2.0
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Eclipselink (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Pascal Filion CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 360799
  Show dependency tree
 
Reported: 2011-09-20 09:16 EDT by Pascal Filion CLA
Modified: 2022-06-09 10:03 EDT (History)
1 user (show)

See Also:
neil.hauge: review+


Attachments
Hermes 2.0.0 source code (5.23 MB, patch)
2011-10-13 09:48 EDT, Pascal Filion CLA
no flags Details | Diff
Hermes 2.0.0 test source code (3.26 MB, patch)
2011-10-13 09:49 EDT, Pascal Filion CLA
no flags Details | Diff
EL Hermes 2.0.0 source code (168.92 KB, patch)
2011-10-13 09:50 EDT, Pascal Filion CLA
no flags Details | Diff
Hermes documentation (157.00 KB, application/msword)
2011-10-13 09:52 EDT, Pascal Filion CLA
no flags Details
Hermes 2.0.0 source code (5.25 MB, patch)
2011-10-20 12:20 EDT, Pascal Filion CLA
no flags Details | Diff
Hermes 2.0.0 test source code (3.26 MB, patch)
2011-10-20 12:22 EDT, Pascal Filion CLA
no flags Details | Diff
EL Hermes 2.0.0 source code (167.13 KB, patch)
2011-10-20 12:23 EDT, Pascal Filion CLA
no flags Details | Diff
EL Hermes 2.0.0 source code (443.98 KB, patch)
2011-11-14 08:40 EST, Pascal Filion CLA
no flags Details | Diff
Hermes 2.0.0 test source code (3.26 MB, patch)
2011-11-14 08:43 EST, Pascal Filion CLA
no flags Details | Diff
Hermes 2.0.0 source code (5.29 MB, patch)
2011-11-14 08:44 EST, Pascal Filion CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Pascal Filion CLA 2011-09-20 09:16:02 EDT
Parser:
- Make the entire API public.
   - Move the parser classes from
      org.eclipse.persistence.jpa.internal.jpql.parser
      to
      org.eclipse.persistence.jpa.jpql.parser
   - Change the visibility of the classes to be public
   - Change the visibility of the methods to be either public or protected 
- Create a JPQL grammar, split JPA 1.0 and JPA 2.0 into two different grammars
- Add support to parse JPQL fragment (being able to parse only a portion of a JPQL query)
- Add a default implementation of the SPI that accesses Java classes
 
Extensibility support
- Add extensibility support for the JPQL grammar (allows extending the grammar defined in the spec)
- Move EclipseLink specific support to be an extension over the default grammar
- Separate validation and content assist support into default (pure JPA) and EclipseLink
 
State object model
- Create a new state object model that allows editing (the parsed tree is read-only)
- Allow the state model to be manually created
- Create a builder that converts an existing JPQL query (String) into a state object model
 
- Refactoring support:
   - Renaming an identification variable
   - Renaming an entity name
   - Renaming a path within a path expression
   - Renaming a class name (e.g. in a constructor expression)
   - Renaming an enum constant
Comment 1 Pascal Filion CLA 2011-10-13 09:48:41 EDT
Created attachment 205122 [details]
Hermes 2.0.0 source code
Comment 2 Pascal Filion CLA 2011-10-13 09:49:49 EDT
Created attachment 205124 [details]
Hermes 2.0.0 test source code
Comment 3 Pascal Filion CLA 2011-10-13 09:50:40 EDT
Created attachment 205125 [details]
EL Hermes 2.0.0 source code
Comment 4 Pascal Filion CLA 2011-10-13 09:52:13 EDT
Created attachment 205126 [details]
Hermes documentation
Comment 5 Pascal Filion CLA 2011-10-13 10:00:23 EDT
Two fo the projects require to have JPA 2.0 plug-in part of the Target Platform.

To run the Hermes unit-tests, the launch configuration AllHermesParserTest requires a classpath variable: PERSISTENCE_LIB that points to JPA 2.0 jar.
Comment 6 Pascal Filion CLA 2011-10-20 12:20:22 EDT
Created attachment 205657 [details]
Hermes 2.0.0 source code

Refreshed the patch to make sure the revision number of some file is correct.
Comment 7 Pascal Filion CLA 2011-10-20 12:22:38 EDT
Created attachment 205658 [details]
Hermes 2.0.0 test source code

Refreshed the patch to make sure the revision number of some file is correct.
Comment 8 Pascal Filion CLA 2011-10-20 12:23:31 EDT
Created attachment 205660 [details]
EL Hermes 2.0.0 source code

Refreshed the patch to make sure the revision number of some file is correct.
Comment 9 Pascal Filion CLA 2011-11-14 08:40:44 EST
Created attachment 206939 [details]
EL Hermes 2.0.0 source code

Contains half of the optimization work
Comment 10 Pascal Filion CLA 2011-11-14 08:43:00 EST
Created attachment 206940 [details]
Hermes 2.0.0 test source code
Comment 11 Pascal Filion CLA 2011-11-14 08:44:58 EST
Created attachment 206941 [details]
Hermes 2.0.0 source code
Comment 12 Neil Hauge CLA 2011-11-16 21:19:54 EST
I've reviewed the patches from comment 10 and 11 in a limited fashion due to the size and scope of the changes.  The core changes to make the parser public, extensible, and add the state model appear to have been achieved and the tests are all passing as expected.
Comment 13 Pascal Filion CLA 2011-11-17 07:59:12 EST
Patches have been checked in.
Comment 14 Eclipse Webmaster CLA 2022-06-09 10:03:25 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink