Lines 73-78
Link Here
|
73 |
/** Target suggestion list. */ |
73 |
/** Target suggestion list. */ |
74 |
private SuggestionList list; |
74 |
private SuggestionList list; |
75 |
|
75 |
|
|
|
76 |
private String typeFilter; |
77 |
|
76 |
// target manager impl |
78 |
// target manager impl |
77 |
private final SuggestionManagerImpl manager; |
79 |
private final SuggestionManagerImpl manager; |
78 |
|
80 |
|
Lines 120-129
Link Here
|
120 |
* @param monitor |
122 |
* @param monitor |
121 |
*/ |
123 |
*/ |
122 |
public final synchronized void scan(DataObject.Container[] folders, SuggestionList list, ScanProgress monitor) { |
124 |
public final synchronized void scan(DataObject.Container[] folders, SuggestionList list, ScanProgress monitor) { |
|
|
125 |
scan(folders, list, monitor, null); |
126 |
} |
127 |
|
128 |
/** |
129 |
* Scans recursively for suggestions notifing given progress monitor. |
130 |
* @param folders containers to be scanned. It must be DataObject subclasses! |
131 |
* @param list |
132 |
* @param monitor |
133 |
* @param filter suggestion type filter or <code>null</code> if scan all types |
134 |
*/ |
135 |
public final synchronized void scan(DataObject.Container[] folders, SuggestionList list, ScanProgress monitor, String filter) { |
123 |
try { |
136 |
try { |
|
|
137 |
typeFilter = filter; |
124 |
progressMonitor = monitor; |
138 |
progressMonitor = monitor; |
125 |
scan(folders, list, true); |
139 |
scan(folders, list, true); |
126 |
} finally { |
140 |
} finally { |
|
|
141 |
typeFilter = null; |
127 |
progressMonitor = null; |
142 |
progressMonitor = null; |
128 |
monitor.scanFinished(); |
143 |
monitor.scanFinished(); |
129 |
} |
144 |
} |
Lines 351-357
Link Here
|
351 |
String type = null; |
366 |
String type = null; |
352 |
try { |
367 |
try { |
353 |
type = provider.getTypes()[0]; |
368 |
type = provider.getTypes()[0]; |
|
|
369 |
if (typeFilter == null || typeFilter.equals(type)) { |
354 |
l = ((DocumentSuggestionProvider) provider).scan(env); |
370 |
l = ((DocumentSuggestionProvider) provider).scan(env); |
|
|
371 |
} |
355 |
} catch (RuntimeException e) { |
372 |
} catch (RuntimeException e) { |
356 |
ErrorManager.getDefault().annotate(e, "Skipping faulty provider (" + provider + ")."); // NOI18N |
373 |
ErrorManager.getDefault().annotate(e, "Skipping faulty provider (" + provider + ")."); // NOI18N |
357 |
ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, e); |
374 |
ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, e); |