[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| [wtp-dev] New feature targeted for 2.0 M6: Tagging J2EE project	classpath entries for publish/export | 
Title: Message
I wanted to give 
everyone a heads up on a new feature that is targeted for release into the 
j2ee and common component plugins during early M6 (pending review by the 
relevant component team leads/members and PMC).
 
 
If you have any 
questions/concerns or comments on the feature, please add to the discussion in 
the bugzilla. If you are interested in trying out the feature or looking at the 
code and have questions/problems with the patches, please send me an email. 
 
-Rob
 
 
---------------------------------------------------------------------
Summary:
 
This feature allows the resolved contributions 
of classpath entries in J2EE module projects to be mapped into the virtual 
component structure for the exported/published application via the addition of a 
special classpath attribute. The 
primary driver for this feature was support for the contributions from 
classpath containers.
 
Three primary use 
cases are supported:
 
1) Mapping entries 
on the classpath of a dynamic web project
 
-These entries are 
mapped into the WEB-INF/lib folder of the exported/published web module. 
-Validation ensures 
that the resolved classpath entries do not clash with other archives already 
mapped into WEB-INF/lib.
-The special 
classpath attribute can be added/removed for these entries via the Web Libraries 
tab of the J2EE Module Dependencies properties page of the web project. Each 
classpath entry that can legally be mapped into WEB-INF/lib will be listed in 
the dependency table and can be selected/deselected like other standard 
J2EE dependencies.
 
Example: A 
"User Library" classpath container is added to a Dynamic Web project. The user 
wants all archives resolved by this classpath container added 
into the WEB-INF/lib folder of the exported/published web module. This is 
accomplished using this feature by opening the "Web Libraries" tab in 
the "J2EE Module Dependencies" property page and selecting as a 
dependency the item included in the table for this classpath 
container. Confirming this selection will add a WTP-specific attribute 
to the raw classpath entry which will in turn cause the 
resolved contributions from that container to be mapped via the 
virtual component model into the WEB-INF/lib folder of the exported/published 
web module.
 
 
2) Mapping entries 
on the classpath of a non-app client J2EE Java project that is referenced by an 
EAR
 
-These classpath 
entries must be exported (enforced by the validator) and they are mapped into 
the root of the referencing EAR project. 
-Validation ensures 
that the resolved contributions do not clash with archives already mapped into 
the root of the EAR. 
-The MANIFEST 
classpath of the project containing the mapped classpath entry is dynamically 
modified in the exported/published application to reference the 
resolved contributions from all mapped entries.
-The special 
classpath attribute can be added/removed for these entries via the J2EE Module 
Dependencies properties page of the project. Each classpath entry that can 
legally be mapped into referencing project modules will be listed in the 
dependency table and can be selected/deselected like other standard J2EE 
dependencies. 
-Once mapped, the resolved archive contributions can also be 
seen in the J2EE Module Dependencies properties page of the referencing EAR 
project as grayed items.
 
 
3) Mapping entries 
on the classpath of a non-app client J2EE Java project that is referenced by an 
dynamic web project
 
-These classpath 
entries must be exported (enforced by the validator) and they are mapped into 
the WEB-INF/lib directory of the referencing web 
project. 
-Validation ensures 
that the resolved contributions do not clash with archives already mapped into 
the WEB-INF/lib folder of the referencing web project.
-Addition/removal is perfomed as form 
#2
-Once mapped, the resolved 
archive contributions can also be seen on the Web Libraries tab of the 
J2EE Module Dependencies properties page of the referencing web project as 
grayed items.
 
Classpath entry 
attribute details:
 
Raw cp entries must 
have the attribute "org.eclipse.jst.component.dependency" to be mapped 
(only container, library and variable entries are currently supported; 
the following cp containers are disallowed: EAR libraries container, web app 
libraries container, JRE container, server runtime container). If the raw 
cp entry has the attribute, all resolved entries are automatically mapped (i.e. 
the resolved entries do not need the attribute themselves; this allows 
containers not specific to WTP to be supported). If a given container 
implementation needs to map only a subset of the resolved entries, it can add a 
special attribute ("org.eclipse.jst.component.dependency") to the resolved 
entries that should be filtered out.
 
 
 
API 
details:
 
 
_______________________________________________________________________
Notice:  This email message, together with any attachments, may contain
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
entities,  that may be confidential,  proprietary,  copyrighted  and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.