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.
I'm asking for review of Navigator and Java Navigation; two new modules that I would like to include in standard distribution for Netbeans 4.1 release. Anwers to architecture questions are attached.
Created attachment 19181 [details] arch answers
arch-usecases: "No public API, thus no use cases." - Although the question states API usage you could mention usecases in a spoken language as well. Or you should extend arch-what answer which is IMHO rather brief. arch-time: The URLs in the arch documents should be publicly reachable (http://jupiter...) perf-mem: "Is there any recommended way how to measure it?" - NbTestCase.assertSize() can be used. resources-layer: You could mention the concrete layer folders if you already know them. Model providers: you mention them several times throughout the arch document although it's IMHO not entirely clear what do they represent. Aren't the model providers in fact an SPI? At least they get registered in the layer so it looks like they are.
The assigned reviewer for this case is going to be Jesse as he had a strong opinion about the navigator integration. I asked Hrebejk to defend Dafe and he agreed. Pavel needs to be the reviewer as he wishes to use the functionality (at least in future) and Mila said he is interested in it as well. So guys, let's get ready for the review.
Y01 Use <api> tag for list of modules and probably name all of them. I bet you depend on java at least. Y02 What are the names and locations of your (module) files? Again <api tag> Y03 Another <api> is the layer registration. I want to know where is your folder and what you expect to find there. Btw. I have a feeling that usege of Lookup would be more appropriate. Why not instead of reading layer just do Lookup.getDefault().lookup (...)? You would save yourself a lot of other work and performance surely is not a concern when you have just one provider (java). Y04 You module is providing component. What is going to be in your component's getLookup()? This is an important part of API as the rest of NetBeans is going to act based on your selection. Will there be a Node? In such case its getLookup() will be important as well. Please document using <api> tag. Y05 [perf-scale] I hope you do this computation outside of event thread
Thanks guys for comments. I'll try to reply and enhance my answers. Will deliver on Monday ASAP. Thx.
Created attachment 19282 [details] new version of arch answers
I completed arch answers and attached new version. Below are answers to your questions and comments. I'm sorry I wasn't able to complete answers yesterday. Btw I was surprised by some of the questions, I thought that Navigator story is better known...pardon my ignorance. Mila: > arch-usecases: "No public API, thus no use cases." - Although the I completed usecases. > arch-time: The URLs in the arch documents should be publicly reachable (http://jupiter...) Deleted private url and wrote brief plan. > resources-layer: You could mention the concrete layer folders if you > already know them. Added. > Model providers: you mention them several times throughout the arch > document although it's IMHO not entirely clear what do they represent. > Aren't the model providers in fact an SPI? At least they get > registered in the layer so it looks like they are. Yes, you are right, it is real SPI. I just tried to emphasise current privacy and under development state of this SPI and didn't know how to do it. > Y01 Use <api> tag for list of modules and probably name all of them. > I bet you depend on java at least. Yo I did it, I depend on even more things (jmi.javamodel) > Y02 What are the names and locations of your (module) files? Again > <api tag> done. > Y03 Another <api> is the layer registration. I want to know where is I added api to describe layer reg. Lookup may be better, I don't know. My goal is to have as little work on this as possible, and it's already written and functional through layer registration, so I'd prefer to let this as is for promo-E. > Y04 You module is providing component. What is going to be in your I checked the code and it seems that activated nodes are empty and no special Lookup is used. Probably this needs to be changed, as java actions should work naturally when navigator component is active. > Y05 [perf-scale] I hope you do this computation outside of event > thread Yes.
Accepted with TCRs, see opinion document.
Review is over.