Lines 91-96
Link Here
|
91 |
import org.openide.filesystems.FileUtil; |
91 |
import org.openide.filesystems.FileUtil; |
92 |
import org.openide.loaders.DataFolder; |
92 |
import org.openide.loaders.DataFolder; |
93 |
import org.openide.nodes.FilterNode; |
93 |
import org.openide.nodes.FilterNode; |
|
|
94 |
import org.openide.util.RequestProcessor.Task; |
94 |
import org.xml.sax.SAXException; |
95 |
import org.xml.sax.SAXException; |
95 |
|
96 |
|
96 |
/** |
97 |
/** |
Lines 264-272
Link Here
|
264 |
|
265 |
|
265 |
@Override |
266 |
@Override |
266 |
public void run() { |
267 |
public void run() { |
|
|
268 |
final Project[] toCheck = OpenProjects.getDefault().getOpenProjects(); |
269 |
checkProjects(toCheck); |
270 |
} |
271 |
|
272 |
private void checkProjects(final Project[] toCheck) { |
267 |
final List<FeatureInfo> additional = new ArrayList<FeatureInfo>(); |
273 |
final List<FeatureInfo> additional = new ArrayList<FeatureInfo>(); |
268 |
FeatureInfo f = null; |
274 |
FeatureInfo f = null; |
269 |
for (Project p : OpenProjects.getDefault().getOpenProjects()) { |
275 |
for (Project p : toCheck) { |
270 |
Data d = new Data(p.getProjectDirectory(), true); |
276 |
Data d = new Data(p.getProjectDirectory(), true); |
271 |
for (FeatureInfo info : FeatureManager.features()) { |
277 |
for (FeatureInfo info : FeatureManager.features()) { |
272 |
switch (info.isProject(d)) { |
278 |
switch (info.isProject(d)) { |
Lines 300-305
Link Here
|
300 |
|
306 |
|
301 |
@Override |
307 |
@Override |
302 |
public void propertyChange(PropertyChangeEvent evt) { |
308 |
public void propertyChange(PropertyChangeEvent evt) { |
|
|
309 |
if (OpenProjects.PROPERTY_WILL_OPEN_PROJECTS.equals(evt.getPropertyName())) { |
310 |
final Object arr = evt.getNewValue(); |
311 |
if (arr instanceof Project[]) { |
312 |
Task t = FeatureManager.getInstance().create(new Runnable() { |
313 |
@Override |
314 |
public void run() { |
315 |
checkProjects((Project[])arr); |
316 |
} |
317 |
}); |
318 |
t.schedule(0); |
319 |
t.waitFinished(); |
320 |
} |
321 |
} |
303 |
if (OpenProjects.PROPERTY_OPEN_PROJECTS.equals(evt.getPropertyName())) { |
322 |
if (OpenProjects.PROPERTY_OPEN_PROJECTS.equals(evt.getPropertyName())) { |
304 |
RequestProcessor.Task t = FeatureManager.getInstance().create(this); |
323 |
RequestProcessor.Task t = FeatureManager.getInstance().create(this); |
305 |
t.schedule(0); |
324 |
t.schedule(0); |