This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 203220
Collapse All | Expand All

(-)a/ide.ergonomics/src/org/netbeans/modules/ide/ergonomics/fod/FeatureProjectFactory.java (-1 / +20 lines)
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);
(-)a/projectui/src/org/netbeans/modules/project/ui/OpenProjectList.java (+11 lines)
Lines 137-142 Link Here
137
    
137
    
138
    // Property names
138
    // Property names
139
    public static final String PROPERTY_OPEN_PROJECTS = "OpenProjects";
139
    public static final String PROPERTY_OPEN_PROJECTS = "OpenProjects";
140
    public static final String PROPERTY_WILL_OPEN_PROJECTS = "WillOpenProjects";
140
    public static final String PROPERTY_MAIN_PROJECT = "MainProject";
141
    public static final String PROPERTY_MAIN_PROJECT = "MainProject";
141
    public static final String PROPERTY_RECENT_PROJECTS = "RecentProjects";
142
    public static final String PROPERTY_RECENT_PROJECTS = "RecentProjects";
142
    public static final String PROPERTY_REPLACE = "ReplaceProject";
143
    public static final String PROPERTY_REPLACE = "ReplaceProject";
Lines 610-615 Link Here
610
        assert !Arrays.asList(projects).contains(null) : "Projects can't be null";
611
        assert !Arrays.asList(projects).contains(null) : "Projects can't be null";
611
        LOAD.waitFinished();
612
        LOAD.waitFinished();
612
            
613
            
614
        pchSupport.firePropertyChange(PROPERTY_WILL_OPEN_PROJECTS, null, projects);
615
        for (int i = 0; i < projects.length; i++) {
616
            try {
617
                projects[i] = ProjectManager.getDefault().findProject(projects[i].getProjectDirectory());
618
            } catch (IOException ex) {
619
                LOGGER.log(Level.INFO, "Cannot convert " + projects[i].getProjectDirectory(), ex);
620
            } catch (IllegalArgumentException ex) {
621
                LOGGER.log(Level.INFO, "Cannot convert " + projects[i].getProjectDirectory(), ex);
622
            }
623
        }
613
            
624
            
614
        try {
625
        try {
615
            LOAD.enter();
626
            LOAD.enter();
(-)a/projectui/src/org/netbeans/modules/project/ui/OpenProjectsTrampolineImpl.java (+3 lines)
Lines 110-115 Link Here
110
        if ( e.getPropertyName().equals( OpenProjectList.PROPERTY_OPEN_PROJECTS ) ) {        
110
        if ( e.getPropertyName().equals( OpenProjectList.PROPERTY_OPEN_PROJECTS ) ) {        
111
            pchSupport.firePropertyChange( OpenProjects.PROPERTY_OPEN_PROJECTS, e.getOldValue(), e.getNewValue() );
111
            pchSupport.firePropertyChange( OpenProjects.PROPERTY_OPEN_PROJECTS, e.getOldValue(), e.getNewValue() );
112
        }
112
        }
113
        if ( e.getPropertyName().equals( OpenProjectList.PROPERTY_WILL_OPEN_PROJECTS ) ) {        
114
            pchSupport.firePropertyChange( OpenProjects.PROPERTY_WILL_OPEN_PROJECTS, e.getOldValue(), e.getNewValue() );
115
        }
113
        if ( e.getPropertyName().equals( OpenProjectList.PROPERTY_MAIN_PROJECT ) ) {        
116
        if ( e.getPropertyName().equals( OpenProjectList.PROPERTY_MAIN_PROJECT ) ) {        
114
            pchSupport.firePropertyChange( OpenProjects.PROPERTY_MAIN_PROJECT, e.getOldValue(), e.getNewValue() );
117
            pchSupport.firePropertyChange( OpenProjects.PROPERTY_MAIN_PROJECT, e.getOldValue(), e.getNewValue() );
115
        }
118
        }
(-)a/projectuiapi/src/org/netbeans/api/project/ui/OpenProjects.java (+6 lines)
Lines 79-84 Link Here
79
     * @see #getOpenProjects
79
     * @see #getOpenProjects
80
     */
80
     */
81
    public static final String PROPERTY_OPEN_PROJECTS = "openProjects"; // NOI18N
81
    public static final String PROPERTY_OPEN_PROJECTS = "openProjects"; // NOI18N
82
83
    /**
84
     * Property representing open projects.
85
     * @see #getOpenProjects
86
     */
87
    public static final String PROPERTY_WILL_OPEN_PROJECTS = "willOpenProjects"; // NOI18N
82
    
88
    
83
    /**
89
    /**
84
     * Property representing main project.
90
     * Property representing main project.

Return to bug 203220