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.
While supporting Java EE there is a need to access Java EE metadata (information about Java EE artifacts such as servlets or EJBs) expressed as XML deployment descriptors or Java annotations. This will be supported in NetBeans 6.0 by a generic metadata model on top of which the specific (e.g., web, EJB, Java Persistence API) metadata models will be implemented.
Created attachment 40315 [details] Javadoc
The inception review will take place Wednesday April 4 at 5:00 PM CEST. The voting reviewers are: Martin Adamek, Jaroslav Bachorik, Jaroslav Tulach and Tomas Zezula.
1. I'd like to see more detail on the threading constraints for MetadataModel<T>.runReadAction(). For the generic interface, I suppose this might simply be a requirement for detailed threading & locking documentation for each specific model. For example, as a caller, I need to know what sort of locks or thread resources the model is going to acquire to execute the action so I can ensure they are available (or at least, not blocked by my own code) before calling runReadAction(). 2. If I read this correct, all exceptions from runReadAction are wrapped by IOException. Does this make sense? I'd like an easy way to distinguish model access exceptions from nested exceptions thrown by the run method itself.
Notes from review: PW01 more detail on threading .AB every model impl will provide info about its threading restrictions PW02 runReadAction throws IOException .YT sometimes runtime excs should be propagated .CHORUS (TCR) .propagate runtime and IO from model source .wrap checked into some ModelExc from action MA01 MetadataModelImplementation as the name of the interface is common pattern in NetBeans but not very nice in fact .AB consistency .CHORUS it's OK like this, it's consistent MA02 non-void return type of runReadAction really needed? .TZ in java/source it's not possible, but here it's useful MA03 javadoc: runReadAction -> mispelled 'storatge' .AB ok YT01 API will be UNDER DEVELOPMENT? .AB yes YT02 sig-tests? .AB no YT03 TCR publish Javadoc .AB ok YT04 publish API change (to appear in What's new) .AB ok YT05 TCA: TCK (test compatibility kit) .YT also add wrapping exceptions to TCK .AB ok APPROVED with TCRs, merge ASAP: .CHORUS yes
Documenting the exception wrapping and threading restrictions: http://www.netbeans.org/source/browse/j2ee/metadata/src/org/netbeans/modules/j2ee/metadata/model/api/Attic/MetadataModel.java?rev=1.1.2.10&only_with_tag=merged_model&view=auto&content-type=text/vnd.viewcvs-markup Introducing a TCK for exception wrapping: http://www.netbeans.org/source/browse/j2ee/metadata/test/unit/src/org/netbeans/modules/j2ee/metadata/model/api/Attic/MetadataModelCompatibilityTest.java?rev=1.1.2.1&only_with_tag=merged_model&view=auto&content-type=text/vnd.viewcvs-markup http://www.netbeans.org/source/browse/j2ee/metadata/test/unit/src/org/netbeans/modules/j2ee/metadata/model/api/Attic/SimpleMetadataModelImpl.java?rev=1.1.2.1&only_with_tag=merged_model&view=auto&content-type=text/vnd.viewcvs-markup
Provided links are not valid.
Ah yes. Stupid CVS. Since I merged those filed into the trunk, they are not in the attic anymore. Please just remove Attic from the links.
Added apichanges.xml and added the module to build.properties#config.javadoc.devel. I'll wait until the Javadoc is published and close this issue. Thanks for the review.
Javadoc is published, so closing.