Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 341523 - Optimize validation and content assist for Hermes parser
Summary: Optimize validation and content assist for Hermes parser
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:
 
Reported: 2011-03-31 12:55 EDT by Pascal Filion CLA
Modified: 2022-06-09 10:08 EDT (History)
1 user (show)

See Also:


Attachments
The patch contains the changes related to optimization (3.90 MB, patch)
2011-03-31 12:57 EDT, Pascal Filion CLA
no flags Details | Diff
Updated patch since the previous one was not created correctly (3.10 MB, patch)
2011-04-05 14:02 EDT, Pascal Filion CLA
neil.hauge: iplog+
Details | Diff
Updated patch since the previous one was not created correctly (2.87 MB, patch)
2011-04-05 14:05 EDT, Pascal Filion CLA
neil.hauge: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Pascal Filion CLA 2011-03-31 12:55:44 EDT
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
Comment 1 Pascal Filion CLA 2011-03-31 12:57:42 EDT
Created attachment 192303 [details]
The patch contains the changes related to optimization
Comment 2 Pascal Filion CLA 2011-03-31 14:30:09 EDT
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.
Comment 3 Neil Hauge CLA 2011-04-04 23:31:34 EDT
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.
Comment 4 Pascal Filion CLA 2011-04-05 14:02:22 EDT
Created attachment 192582 [details]
Updated patch since the previous one was not created correctly
Comment 5 Pascal Filion CLA 2011-04-05 14:05:32 EDT
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.
Comment 6 Neil Hauge CLA 2011-04-08 15:11:12 EDT
Latest patches have been tested and committed.
Comment 7 Eclipse Webmaster CLA 2022-06-09 10:08:52 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink