| Summary: | Make MakeHandlersGo go | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] e4 | Reporter: | Remy Suen <remy.suen> | ||||||||||||||
| Component: | UI | Assignee: | Paul Webster <pwebster> | ||||||||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||||||||
| Severity: | normal | ||||||||||||||||
| Priority: | P3 | CC: | bokowski, dkniphu, emoffatt, john.arthorne, Mike_Wilson, pwebster, remy.suen | ||||||||||||||
| Version: | 1.0 | Flags: | Mike_Wilson:
pmc_approved+
remy.suen: review+ |
||||||||||||||
| Target Milestone: | 4.1 RC4 | ||||||||||||||||
| Hardware: | All | ||||||||||||||||
| OS: | All | ||||||||||||||||
| Whiteboard: | |||||||||||||||||
| Attachments: |
|
||||||||||||||||
|
Description
Remy Suen
Created attachment 181988 [details] Workbench patch v1 (In reply to comment #0) > Using Command's execute(ExecutionEvent) or executeWithChecks(ExecutionEvent) > method currently doesn't work in 4.x. There has been at least two reports from adopters about this incident, see bug 321263 and bug 328953. Created attachment 184055 [details]
WorkbenchPage patch v2
v1 has gone stale.
Created attachment 197602 [details]
Workbench patch v03
Delegate to the EHandlerService.
PW
Created attachment 197700 [details]
Workbench page v04
Delegate to the handler service with the application context that was passed in.
Because by this point in 3.x it has passed other checks, we simply turn into a NO-OP in the exception case.
PW
Remy, could you review this? PW (In reply to comment #4) > Created attachment 197700 [details] > Workbench page v04 I think we should leave the logging statement to catch offenders of this code pattern. I would also feel safer if we added a check to prevent an infinite loop. Created attachment 197707 [details]
Workbench patch v05
This adds logging back to catch execute calls, and also adds a check so you cannot feed this handler back into the system.
PW
OK, I've updated to address some comments. PW (In reply to comment #7) > Created attachment 197707 [details] > Workbench patch v05 Paul, we return 'null' in the LegacyHandlerService if someone feeds MHG into the method. The IHS's activateHandler(*) methods don't specify that 'null' can be returned, they mention returning "a token". Do you think we should instead throw an exception or...? Created attachment 197711 [details]
Workbench patch v06
OK, we return a bogus activation that also returns correct non-null values where necessary.
PW
(In reply to comment #10) > Created attachment 197711 [details] > Workbench patch v06 Thanks for iterating over this, Paul. Looks good to me, +1. McQ, we're considering this for 4.1. PW getBogusActivation is a bogus name. ;-) +1, given an updated name and a comment that explains what that method is trying to do. Renamed to getSystemActivation(*) and released to HEAD PW *** Bug 348584 has been marked as a duplicate of this bug. *** |