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.

Bug 99792 - Java EE generic metadata model API review
Summary: Java EE generic metadata model API review
Status: RESOLVED FIXED
Alias: None
Product: javaee
Classification: Unclassified
Component: Code (show other bugs)
Version: 6.x
Hardware: All All
: P1 blocker (vote)
Assignee: Andrei Badea
URL:
Keywords: API, API_REVIEW
Depends on:
Blocks: 95534
  Show dependency tree
 
Reported: 2007-04-03 11:33 UTC by Andrei Badea
Modified: 2007-04-18 09:01 UTC (History)
7 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Javadoc (76.97 KB, application/x-compressed)
2007-04-03 11:41 UTC, Andrei Badea
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrei Badea 2007-04-03 11:33:13 UTC
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.
Comment 1 Andrei Badea 2007-04-03 11:41:23 UTC
Created attachment 40315 [details]
Javadoc
Comment 2 Andrei Badea 2007-04-03 11:47:46 UTC
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.
Comment 3 _ pcw 2007-04-03 23:31:04 UTC
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.
Comment 4 Martin Adamek 2007-04-04 17:16:13 UTC
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
Comment 6 Martin Adamek 2007-04-15 19:50:37 UTC
Provided links are not valid.
Comment 7 Andrei Badea 2007-04-15 21:07:47 UTC
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.
Comment 8 Andrei Badea 2007-04-16 17:20:26 UTC
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.
Comment 9 Andrei Badea 2007-04-18 09:01:12 UTC
Javadoc is published, so closing.