private Logger logger = Logger.getLogger(OpenPreferencesHandler.class);
- private List<PageWrapper> pagesYetToBeAdded = new ArrayList<>();
-
- private Map<String, PreferenceNode> idToNodeMap = new HashMap<>();
-
@Execute
public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell) {
+ List<PageWrapper> pagesYetToBeAdded = new ArrayList<>();
+ Map<String, PreferenceNode> idToNodeMap = new HashMap<>();
+
PreferenceManager manager = new PreferenceManager('/');
IExtensionRegistry reg = Platform.getExtensionRegistry();
}
}
-// pagesYetToBeAdded.entrySet().stream().
-// //filter stream to only contain parent nodes
-// filter(entry->{
-// PageWrapper pageWrapper = entry.getValue();
-// PreferenceNode node = new PreferenceNode(pageWrapper.getId(), pageWrapper.getPage());
-// if(StringUtils.isEmpty(pageWrapper.getCategory())){
-// manager.addToRoot(node);
-// return true;
-// }
-// return false;
-// })
-// .map(parent->addPage(parent.getValue(), manager));
-
-
Collections.sort(pagesYetToBeAdded, new PreferenceNodeComparator());
int size = pagesYetToBeAdded.size();
Iterator<PageWrapper> iterator = pagesYetToBeAdded.iterator();
while(iterator.hasNext()){
PageWrapper pageWrapper = iterator.next();
- if(addPage(pageWrapper)){
+ if(addPage(pageWrapper, idToNodeMap)){
iterator.remove();
}
}
dialog.open();
}
- private boolean addPage(PageWrapper pageWrapper){
+ private boolean addPage(PageWrapper pageWrapper, Map<String, PreferenceNode> idToNodeMap){
PreferenceNode node = new PreferenceNode(pageWrapper.getId(), pageWrapper.getPage());
- idToNodeMap.put(pageWrapper.getId(), node);
PreferenceNode parent = idToNodeMap.get(pageWrapper.getCategory());
if(parent!=null){
+ idToNodeMap.put(pageWrapper.getId(), node);
parent.add(node);
return true;
}