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 23820 - Composite Java libraries
Summary: Composite Java libraries
Status: RESOLVED WONTFIX
Alias: None
Product: java
Classification: Unclassified
Component: Unsupported (show other bugs)
Version: 3.x
Hardware: PC Linux
: P4 blocker (vote)
Assignee: _ pkuzel
URL:
Keywords: UI
Depends on: 23818
Blocks: 23798
  Show dependency tree
 
Reported: 2002-05-22 09:14 UTC by Svata Dedic
Modified: 2007-09-26 09:14 UTC (History)
0 users

See Also:
Issue Type: TASK
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Svata Dedic 2002-05-22 09:14:20 UTC
Libraries may want to use other libraries as their
building blocks (resources). Implementation of
such resource should be willing to contibute the
"inserted library" contents of the desired type to
content queries, such as documentation roots, or
classpath items.
Comment 1 Svata Dedic 2002-05-22 10:19:01 UTC
Adjusting milestone for planning
Comment 2 _ pkuzel 2003-05-01 11:46:02 UTC
Current libraries framework design uses very simple approach that
enables an implementation to realize this requirement.

<code>Library</code> itself contains only typed file sets. File set
itself are raw URLs without any semantics. These can be easily merged
at the library level. There is also an SPI <code>Volume</code> that
interprets library file sets as lookups. The volume asks library for
content to interpret. It can got the merged fileset. It's true that
the volume does not know file set URLs origin, but it AFAIK does not
matter (until you will argue with perfomance&caching).

I hope I do not miss some important aspect.
Comment 3 _ pkuzel 2003-05-19 14:28:17 UTC
At the current world of frameworks I have not found any use case where
explicit/hard library dependencies are needed.

Descheduling from 4.0 plans.

The functionality can be exposed once such use case will be
discovered, the design allows it.
Comment 4 Svata Dedic 2003-05-19 20:15:19 UTC
I personally don't find the case that a library uses another library
as part of its implementation so rare. Defining a library as closure
of its dependencies does not seem too user-friendly to me. If a
library definition should change, it also requires to change
everything that has that library merged in its closure.
I am marking this issue for solution in NetBeans for Developers project.
Comment 5 _ pkuzel 2003-07-22 17:46:05 UTC
I'm not sure if API is required. Such libraries should be AFAIK
_tranparent_ to clients. the framerork implementtaion just need to
provide UI and implement the transparent behaviour if user using the
UI creates a composite library.

<repeating_myself no-new-idea=true>
Of cource the question is how to implement the transparent behaviour
without understanding resources meaning. As solution I propose to
merge resources at FileSet level and then let them interpret by SPI
volume provider.
</repeating_myself>

API => UI
Comment 6 Svata Dedic 2003-07-22 20:47:33 UTC
The volume provider should know which resources are defined in the
library and which are "merged in"; e.g. for giving the local ones over
the "imported" ones. 

Libraries as are currently being developed do not satisfy original
requirements as they seem tied to a small strictly closed set of
java-centric use cases. 
I plan to replace the whole subsystem in NB4DEV, if time permits.
Comment 7 _ pkuzel 2003-07-23 09:41:43 UTC
Local vs. imported issue: FileSets are ordered. Merging them, imported
get prevailed by local ones (if provider interpret order in such a way).

Please state requirement that cannot be satisfied by this simplified
approach. 

Comment 8 Jan Pokorsky 2003-11-27 15:17:29 UTC
The projects prototype has been canceled. For more details see
http://www.netbeans.org/servlets/ReadMsg?msgId=619519&listName=nbdiscuss