| Summary: |
[content assist] [api] StructuredContentAssistProcessor#CompletionListener#assistSessionEnded always skipped |
| Product: |
[WebTools] WTP Source Editing
|
Reporter: |
Ian Tewksbury <itewksbu> |
| Component: |
wst.sse | Assignee: |
Ian Tewksbury <itewksbu> |
| Status: |
RESOLVED
FIXED
|
QA Contact: |
Nitin Dahyabhai <thatnitind> |
| Severity: |
normal
|
|
|
| Priority: |
P3
|
CC: |
nsand.dev
|
| Version: |
3.2 | Flags: |
nsand.dev:
review+
thatnitind:
review+
|
| Target Milestone: |
3.2 RC1 | |
|
| Hardware: |
All | |
|
| OS: |
All | |
|
| Whiteboard: |
|
| Attachments: |
| Description |
Flags |
|
Fix Patch
|
nsand.dev:
iplog+
|
|
StructuredContentAssistProcessor#CompletionListener#assistSessionEnded is always being skipped right now because it starts with the following statement: event.processor == StructuredContentAssistProcessor.this This would be fine except in SSE the StructuredContentAssistProcessor is always a child of a CompoundContentAssistProcessor and thus that statement fails. Ironically enough StructuredContentAssistProcessor#CompletionListener#assistSessionStarted already has the correct if check of: if (event.processor == StructuredContentAssistProcessor.this || (event.processor instanceof CompoundContentAssistProcessor && ((CompoundContentAssistProcessor)event.processor).containsProcessor(StructuredContentAssistProcessor.this))) { This most likly happned because none of the SSE code takes advantage of ICompletionProposalComputer#sessionEnded so the issue was never noticed there like it was in ICompletionProposalComputer#sessionStarted. Because of this bug anyone who implements ICompletionProposalComputer will never have their #sessionEnded method called. Fix is simple, use the same if statment in #assistSessionEnded as in #assistSessionStarted.