Community
Participate
Working Groups
Build Identifier: 2.3.0 The content assist and validation are complete but no optimization has been done yet. In order to have a faster response time when validating and using content assist in an IDE, improvement should be done in that API. Phase one of optimization should be related to caching information related to JPA artifacts, how path expressions are resolved. Reproducible: Always
Created attachment 192303 [details] The patch contains the changes related to optimization
The patch includes the following changes: - The internal TypeResolver API was refactored (and renamed to Resolver too). A Resolver was constantly recreated during validation and content assist when the type or mapping for a path expression. Now a single instance exists for any resolver. "e.name" will be resolved once if it's used more than once in a query. - The declaration of the query is now scanned only once. JPQLQueryContext now contains that information, which is shared accross validation and content assist. Prior to this change, the declaration was rescanned everytime it was needed. - Some of the visitor classes are now cached, which means they can be reused until everything is disposed.
It appears there are some problems with the patch. There are a few references to EntityTypeResolver after applying the patch, in addition to a few other compile errors. The test project has some compile errors due to the classpath not containing all the necessary required projects.
Created attachment 192582 [details] Updated patch since the previous one was not created correctly
Created attachment 192584 [details] Updated patch since the previous one was not created correctly The unit-tests were also converted to be a simple Java project but also a plug-in test, which will eventually be consumed.
Latest patches have been tested and committed.
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink