Bug 15112 - [WorkingSets] getRecentWorkingSets is not symmetric to API
Summary: [WorkingSets] getRecentWorkingSets is not symmetric to API
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows NT
: P5 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform UI Triaged CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 15085
  Show dependency tree
 
Reported: 2002-05-02 12:08 EDT by Dani Megert CLA
Modified: 2019-09-06 16:16 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dani Megert CLA 2002-05-02 12:08:23 EDT
The method can only be used in areas/dialogs which force single selection
i.e. using createWorkingSetSelectionDialog(*, false).

Those that allow to select more than one working set for an operation will have
to build their own mechanism. It would be great if one single mechanism could be
used. The getRecentWorkingSets would then return IWorkingSet[][].
Comment 1 Knut Radloff CLA 2002-05-06 13:26:07 EDT
I agree that we should provide something for multi working sets (those selected 
in multi select working set selection dialogs, possibly more than one working 
set).
However, I don't think multi working sets should share an MRU list with single 
working sets. If they did then we would again mix or somehow restrict multi 
working sets with single working sets in dialogs that only support single 
working sets, like the navigator view filter dialog. This has caused confusion 
in the past.
We could still maintain a single list and make clients that are not interested 
in multi working sets ignore them. However, the MRU list size would no longer 
be deterministic. You could possibly have an empty MRU list after filtering out 
multi working sets.
An alternative would be to maintain two MRU lists instead. Adding API along the 
lines of addRecentMultiWorkingSet(IWorkingSet[]), IWorkingSet[][] 
getRecentMultiWorkingSets().
Comment 2 Dani Megert CLA 2002-05-06 13:33:10 EDT
What's important to me is that if someone selects a working set via
single-select dialog I get this working set when asking fro the multi-LRU list.

>however, the MRU list size would no longer be deterministic.
This is always true. The list is 0..maxSize.
Comment 3 Knut Radloff CLA 2002-05-07 14:35:26 EDT
Revisit post v2.
Need to determine how to best handle multi/single recently used working sets. 
Another option in addition to the ones above would be to make a mixed 
multi/single working set list the default and maintain a separate one just for 
single working sets.
A new abstraction for multi working sets may be desirable. It could then also 
implement a working set merge method so that any viewer could easily support 
multiple working sets.
Comment 4 Knut Radloff CLA 2002-07-17 09:35:35 EDT
Should add API that returns both single and multi recently used working sets 
with each group having the same upper limit (e.g., 5 for a total of 10 MRU 
working sets).
This way the single MRU working sets contained in the mixed list would match 
exactly the array returned by the existing getRecentWorkingSets.
Comment 5 Knut Radloff CLA 2003-09-02 17:18:03 EDT
Reassigning to Nick since he is taking ownership of this component.
Comment 6 Kim Horne CLA 2007-06-20 10:38:02 EDT
No plans to address although it may fall under a general working set refresh at some point.
Comment 7 Hitesh CLA 2010-07-05 11:31:10 EDT
Just stumbled upon this bug while looking for another 'recently-used-workingset' bug. Why not use an aggregate workingset to house a list of workingsets that you'd like to maintain in the MRU. I agree, this is certainly different from an array of workingsets or the idea presented in the bug, but it accomplishes the purpose. 

The change to two dimensional array return value is a breaking change. Changing the return type or adding a new method, both seem like options we cannot use.
Comment 8 Dani Megert CLA 2010-07-06 01:52:27 EDT
>The change to two dimensional array return value is a breaking change. 
Yes, it will need new API, see comment 1.
Comment 9 Eclipse Webmaster CLA 2019-09-06 16:16:36 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.