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 76045 - Development Review
Summary: Development Review
Status: VERIFIED FIXED
Alias: None
Product: xml
Classification: Unclassified
Component: XAM (show other bugs)
Version: 5.x
Hardware: All All
: P2 blocker (vote)
Assignee: apireviews
URL:
Keywords: API_REVIEW
: 20532 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-05-07 00:35 UTC by Chris Webster
Modified: 2008-02-15 17:14 UTC (History)
8 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
architecture description for xam module (69.66 KB, text/html)
2006-06-05 16:55 UTC, Chris Webster
Details
architecture description for xdm module (58.64 KB, text/html)
2006-06-05 16:56 UTC, Chris Webster
Details
architecture description for schema model module (56.33 KB, text/html)
2006-06-05 16:56 UTC, Chris Webster
Details
architecture description for WSDL model module (58.32 KB, text/html)
2006-06-05 16:57 UTC, Chris Webster
Details
Updated XAM architecture description (51.40 KB, text/html)
2006-08-05 18:25 UTC, Chris Webster
Details
Retriever architecture description (66.93 KB, text/html)
2006-08-05 18:27 UTC, Chris Webster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Webster 2006-05-07 00:35:44 UTC
Requesting a development review for xml/xdm, xml/xam, xml/schema/api and
xml/wsdl/api. The modules are in release55 branch only.
Comment 1 Jaroslav Tulach 2006-05-23 12:41:38 UTC
Chris, you should find four reviewers that will do the review for you. Usually 
at least two shall be from other teams than yours. Can you negotiate with then 
and add them to CC?
Comment 2 Chris Webster 2006-05-31 03:29:48 UTC
Yarda,
  I added five (there may possibly be six) but several are tentative so
hopefully there will be enough. 
Comment 3 Jaroslav Tulach 2006-06-01 10:27:39 UTC
Ok, now when you have the reviewers, it is probably time to provide the review 
materials. Usually we use the arch.xml document and HTML page generated from 
it. The important questions are stability of the APIs you export, dependencies 
that you have on other modules (should be mostly autogenerated), description 
of the exported APIs (files, classes, properties, etc.).

Usually the first review happens before the work starts, so this information 
need not be 100% correct. High level description of the concept is enough. 
E.g. how many modules you have, dependencies between them, how they are 
supposed to be used, for what tasks, etc. For all of this you can find a place 
in the arch.xml document. More technical info available at 
http://openide.netbeans.org/tutorial/api.html#write

When you think you have such information, please add the html document(s) as 
attachment or provide the link to it, here in this issue. Then someone, 
probably I shall announce the review on nbdev@.
Comment 4 Chris Webster 2006-06-05 16:55:38 UTC
Created attachment 30813 [details]
architecture description for xam module
Comment 5 Chris Webster 2006-06-05 16:56:16 UTC
Created attachment 30814 [details]
architecture description for xdm module
Comment 6 Chris Webster 2006-06-05 16:56:58 UTC
Created attachment 30815 [details]
architecture description for schema model module
Comment 7 Chris Webster 2006-06-05 16:57:29 UTC
Created attachment 30816 [details]
architecture description for WSDL model module
Comment 8 Chris Webster 2006-06-05 16:58:11 UTC
Architecture descriptions attached. 
Comment 9 Milan Kuchtiak 2006-06-07 15:14:59 UTC
MK 01:

Few comments to XML Retriever (part of XAM module).

The crucial method :
FileObject retrieveResource(FileObject destinationDir, URI resourceToRetrieve);

1. Missing javadoc

2. Overload the above retrieveResource() method with :
FileObject retrieveResource(FileObject destinationDir, URI resourceToRetrieve,
boolean overwriteFiles) throws FileAlreadyExistsException...

3. It's nothing said here about catalog.xml file 
In fact this method creates (and writes entries to) catalog.xml file located
under the project's root. The catalog can be used later, and we actually do
that, to work with local resources instead of the remote ones.

4. There is no API to process the catalog.xml
E.g. "Add WS Client" calls the XML Retriever that adds entries to catalog.xml,
but we need to remove entries when WS Client is removed)
I think, if the API method modifies an external file, we need also a way to
rollback the change (to remove the entry from catalog.xml)

5. Overload the above retrieveResource() method with :
FileObject retrieveResource(FileObject destinationDir, FileObject catalogDir,
URI resourceToRetrieve, boolean createNewCatalog, boolean overwriteFiles) throws
FileAlreadyExistsException...

This is due to our usage of XML Retriever in WS support.
We'd rather create an extra catalog file for every WS/WS Client. The current
aproach (one catalog.xml per project) leads to impassable problems (issue 75215)



Comment 10 Jesse Glick 2006-06-20 00:33:15 UTC
I have not yet looked at the Javadoc, so the following comments apply just to
the arch descs. Anyway I doubt I could provide very meaningful comments without
actually trying to use XDM (and maybe XAM, if I can figure out what it is for)
on a real project I am familiar with. For example, apisupport layer editing, or
Ant script editing.

JNG01 - Delete any empty XML layers please.

JNG02 - sample code in XDM arch desc is misformatted (right under BPEL section).
Same in Schema Model arch desc.

JNG03 - for XDM, probably ought to remove Java synchronization and declare model
not thread safe. Clients can add their own synch if they need it.

JNG04 - dep list for XAM looks way too big. Dialogs? Projects? Java projects?
Editor internals? What do any of these things have to do with XML models?

JNG05 - XAM threading model sounds too complicated but maybe it is just not
described adequately.

JNG06 - "The schema editor uses the WSDL model to support both textual and
graphical editing." - is this backwards?
Comment 11 Chris Webster 2006-07-11 17:57:23 UTC
Response to comments from MK:
1. Javadoc has been added to the retrieveResource method.
2, 5. Issuezilla 80011 has been added for these requests. 
3,4. Issuezilla 80013 has been added. 
Comment 12 Lukas Jungmann 2006-07-15 04:16:16 UTC
LJ01: I do not like an idea to store catalog.xml (or main catalog file - w/
respect to mkuchtiak's "We'd rather create an extra catalog file for every WS/WS
Client") directly under project root. In a discussion on nbdev[1] few months ago
there was decided that we will use $PROJECT_ROOT/src/conf/xml-resources (in case
of Java EE related projects) or $PROJECT_ROOT/xml-resources (in case of Java SE
project) as a root directory for xml & wsdl files "downloaded/used" by the IDE,
so I would rather see catalog.xml there.

LJ02: There should be an option for clients of xml-retriever's API (part of xam
module earlier, but now a days retriever becomes standalone module) to somehow
specify a name and location of main OASIS catalog file. I'm refering here to
JSR-224[2], section 4.4. This comment is mainly from webservices support point
of view - this may have also an impact on usability/users productivity of our
tools (and it could also save us some work in other areas - mainly in issues
dealing with proxy servers).

[1]: http://www.netbeans.org/servlets/ReadMsg?list=nbdev&msgNo=33550
[2]: http://www.jcp.org/en/jsr/detail?id=224
Comment 13 Lukas Jungmann 2006-07-15 05:20:59 UTC
LJ03: OASIS catalog seems to (I didn't check it carefully, so take it as an
assuption and if I'm wrong then correct me) support also relative URIs, so there
should be also something, some method (probably hidden=private) which will
translate absolute URLs to relative URIs according to projects/projet's (dist)
directory
Comment 14 Milan Kuchtiak 2006-07-17 07:43:22 UTC
To LJ01 :

Chris created an enhancement (issue 80011) for that. It would be possible to
create an extra catalog for each WS/WS Client.
Comment 15 Jesse Glick 2006-07-20 05:27:52 UTC
*** Issue 20532 has been marked as a duplicate of this issue. ***
Comment 16 Chris Webster 2006-08-05 18:22:59 UTC
Response to comments from JNG:
1. removed the empty layer files
2. formatting fixed in XDM / Schema / WSDL
3. issue #82004
4. Fixed for XAM, the only import is org.openide.util
5. cleaned up in arch.xml
6. yes, cleaned up in arch.xml

Comment 17 Chris Webster 2006-08-05 18:25:59 UTC
Created attachment 32575 [details]
Updated XAM architecture description
Comment 18 Chris Webster 2006-08-05 18:27:24 UTC
Created attachment 32576 [details]
Retriever architecture description
Comment 19 Chris Webster 2006-08-05 18:31:43 UTC
I attached updated architecture descriptions for XAM and Retriever (which was
split from XAM). 
Comment 20 Jaroslav Tulach 2007-12-11 08:17:40 UTC
This looks like a forgotten review request. Please resolve it somehow (won'tfix?).
Comment 21 Samaresh Panda 2008-01-10 17:23:26 UTC
Seems like a review has already been done on this.
Comment 22 Mikhail Matveev 2008-02-15 17:14:57 UTC
Looks like requested review is performed long time ago