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 51810
Collapse All | Expand All

(-)a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformProject.java (-2 / +3 lines)
Lines 64-70 Link Here
64
import org.openide.util.ImageUtilities;
64
import org.openide.util.ImageUtilities;
65
import org.openide.util.Lookup;
65
import org.openide.util.Lookup;
66
import org.openide.util.Mutex;
66
import org.openide.util.Mutex;
67
import org.openide.util.Utilities;
68
import org.openide.util.lookup.Lookups;
67
import org.openide.util.lookup.Lookups;
69
import org.w3c.dom.Element;
68
import org.w3c.dom.Element;
70
import org.w3c.dom.NodeList;
69
import org.w3c.dom.NodeList;
Lines 111-120 Link Here
111
        aux = helper().createAuxiliaryConfiguration(); // AuxiliaryConfiguration
110
        aux = helper().createAuxiliaryConfiguration(); // AuxiliaryConfiguration
112
        FreeformFileEncodingQueryImpl FEQImpl = new FreeformFileEncodingQueryImpl(helper(), evaluator());
111
        FreeformFileEncodingQueryImpl FEQImpl = new FreeformFileEncodingQueryImpl(helper(), evaluator());
113
        helper().addAntProjectListener(FEQImpl);
112
        helper().addAntProjectListener(FEQImpl);
113
        FreeformSources sources = new FreeformSources(this);
114
        Lookup baseLookup = Lookups.fixed(
114
        Lookup baseLookup = Lookups.fixed(
115
            this,
115
            this,
116
            new Info(), // ProjectInformation
116
            new Info(), // ProjectInformation
117
            new FreeformSources(this), // Sources
117
            sources, // Sources
118
            new Actions(this), // ActionProvider
118
            new Actions(this), // ActionProvider
119
            new View(this), // LogicalViewProvider
119
            new View(this), // LogicalViewProvider
120
            new ProjectCustomizerProvider(this), // CustomizerProvider
120
            new ProjectCustomizerProvider(this), // CustomizerProvider
Lines 125-130 Link Here
125
            new LookupMergerImpl(), // LookupMerger or ActionProvider
125
            new LookupMergerImpl(), // LookupMerger or ActionProvider
126
            UILookupMergerSupport.createPrivilegedTemplatesMerger(),
126
            UILookupMergerSupport.createPrivilegedTemplatesMerger(),
127
            UILookupMergerSupport.createRecommendedTemplatesMerger(),
127
            UILookupMergerSupport.createRecommendedTemplatesMerger(),
128
            UILookupMergerSupport.createProjectOpenHookMerger(sources),
128
            new FreeformProjectOperations(this),
129
            new FreeformProjectOperations(this),
129
	    new FreeformSharabilityQuery(helper()), //SharabilityQueryImplementation
130
	    new FreeformSharabilityQuery(helper()), //SharabilityQueryImplementation
130
            Accessor.DEFAULT.createProjectAccessor(this), //Access to AntProjectHelper and PropertyEvaluator
131
            Accessor.DEFAULT.createProjectAccessor(this), //Access to AntProjectHelper and PropertyEvaluator
(-)a/ant.freeform/src/org/netbeans/modules/ant/freeform/FreeformSources.java (-8 / +11 lines)
Lines 50-55 Link Here
50
import org.netbeans.spi.project.support.ant.AntProjectEvent;
50
import org.netbeans.spi.project.support.ant.AntProjectEvent;
51
import org.netbeans.spi.project.support.ant.AntProjectListener;
51
import org.netbeans.spi.project.support.ant.AntProjectListener;
52
import org.netbeans.spi.project.support.ant.SourcesHelper;
52
import org.netbeans.spi.project.support.ant.SourcesHelper;
53
import org.netbeans.spi.project.ui.ProjectOpenedHook;
53
import org.openide.util.ChangeSupport;
54
import org.openide.util.ChangeSupport;
54
import org.openide.util.Mutex;
55
import org.openide.util.Mutex;
55
import org.w3c.dom.Element;
56
import org.w3c.dom.Element;
Lines 59-72 Link Here
59
 * XXX will not correctly unregister released external source roots
60
 * XXX will not correctly unregister released external source roots
60
 * @author Jesse Glick
61
 * @author Jesse Glick
61
 */
62
 */
62
final class FreeformSources implements Sources, AntProjectListener {
63
final class FreeformSources extends ProjectOpenedHook implements Sources, AntProjectListener {
63
    
64
    
64
    private final FreeformProject project;
65
    private final FreeformProject project;
66
    private SourcesHelper h;
65
    
67
    
66
    public FreeformSources(FreeformProject project) {
68
    public FreeformSources(FreeformProject project) {
67
        this.project = project;
69
        this.project = project;
68
        project.helper().addAntProjectListener(this);
70
        project.helper().addAntProjectListener(this);
69
        initSources(); // have to register external build roots eagerly
70
    }
71
    }
71
    
72
    
72
    private Sources delegate;
73
    private Sources delegate;
Lines 84-90 Link Here
84
    }
85
    }
85
    
86
    
86
    private Sources initSources() {
87
    private Sources initSources() {
87
        final SourcesHelper h = new SourcesHelper(project.helper(), project.evaluator());
88
        h = new SourcesHelper(project.helper(), project.evaluator());
88
        Element genldata = project.getPrimaryConfigurationData();
89
        Element genldata = project.getPrimaryConfigurationData();
89
        Element foldersE = Util.findElement(genldata, "folders", FreeformProjectType.NS_GENERAL); // NOI18N
90
        Element foldersE = Util.findElement(genldata, "folders", FreeformProjectType.NS_GENERAL); // NOI18N
90
        if (foldersE != null) {
91
        if (foldersE != null) {
Lines 119-129 Link Here
119
                }
120
                }
120
            }
121
            }
121
        }
122
        }
122
        ProjectManager.mutex().postWriteRequest(new Runnable() {
123
            public void run() {
124
                h.registerExternalRoots(FileOwnerQuery.EXTERNAL_ALGORITHM_TRANSIENT);
125
            }
126
        });
127
        return h.createSources();
123
        return h.createSources();
128
    }
124
    }
129
    
125
    
Lines 143-147 Link Here
143
    public void propertiesChanged(AntProjectEvent ev) {
139
    public void propertiesChanged(AntProjectEvent ev) {
144
        // ignore
140
        // ignore
145
    }
141
    }
142
143
    protected void projectOpened() {
144
        getSourceGroups(TYPE_GENERIC);
145
        h.registerExternalRoots(FileOwnerQuery.EXTERNAL_ALGORITHM_TRANSIENT);
146
    }
147
148
    protected void projectClosed() {}
146
    
149
    
147
}
150
}

Return to bug 51810