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.
These libraries are already in the Netbeans Web modules and copied to enterprise4/modules/ext/jsf-1_2 -rw-r--r-- 1 winstonp winstonp 2260 Aug 17 08:31 LICENSE-APACHE.txt -rw-r--r-- 1 winstonp winstonp 16955 Aug 17 08:31 LICENSE.TXT -rw-r--r-- 1 winstonp winstonp 33362 Aug 17 08:31 THIRDPARTYLICENSEREADME.txt -rw-r--r-- 1 winstonp winstonp 118757 Aug 17 08:31 commons-beanutils.jar -rw-r--r-- 1 winstonp winstonp 170902 Aug 17 08:31 commons-collections.jar -rw-r--r-- 1 winstonp winstonp 109131 Aug 17 08:31 commons-digester.jar -rw-r--r-- 1 winstonp winstonp 31638 Aug 17 08:31 commons-logging.jar -rw-r--r-- 1 winstonp winstonp 323134 Aug 17 08:31 jsf-api.jar -rw-r--r-- 1 winstonp winstonp 1205875 Aug 17 08:31 jsf-impl.jar The redundant jars at visualweb1/modules/ext must be removed. -rw-r--r-- 1 winstonp winstonp 100367 Aug 17 08:32 el-impl-1.2.jar -rw-r--r-- 1 winstonp winstonp 787894 Aug 17 08:32 jsf-ri-1.2.jar
I'm trying to keep it as simple as possible. Finally I was able to get rid of the modules visualweb/ravelibs/jsf-ri-1.2 & visualweb/ravelibs/el-ri-1.2, by exporting the required APIs via the wrapper module web/libs/jsf-1_2. To solve the multiple com.sun.org.apacahe.commons.logging, these API are not exported via this wrapper module. So, I had to add web/libs/jsf-1_2 as friend of web/libs/glassfish_logging. These are the changes. Let me know, if this acceptable, so that I can checkin the code and remove the above two modules from visualweb. Index: glassfish_logging/nbproject/project.xml =================================================================== RCS file: /cvs/web/libs/glassfish_logging/nbproject/project.xml,v retrieving revision 1.4 diff -u -r1.4 project.xml --- glassfish_logging/nbproject/project.xml 10 Aug 2007 16:40:22 -0000 1.4 +++ glassfish_logging/nbproject/project.xml 14 Aug 2007 17:13:22 -0000 @@ -24,11 +24,11 @@ <code-name-base>org.netbeans.libs.glassfish_logging</code-name-base> <module-dependencies/> <friend-packages> - <friend>org.netbeans.modules.web.jspparser</friend> - <friend>org.netbeans.modules.visualweb.libs.apache.commons</friend> - <friend>org.netbeans.modules.visualweb.libs.jsf.ri12</friend> <friend>org.netbeans.modules.visualweb.j2ee14classloaderprovider</friend> <friend>org.netbeans.modules.visualweb.j2ee15classloaderprovider</friend> + <friend>org.netbeans.modules.visualweb.libs.apache.commons</friend> + <friend>org.netbeans.modules.web.jsf12</friend> + <friend>org.netbeans.modules.web.jspparser</friend> <package>com.sun.org.apache.commons.logging</package> <package>com.sun.org.apache.commons.logging.impl</package> </friend-packages> Index: jsf-1_2/nbproject/project.xml =================================================================== RCS file: /cvs/web/libs/jsf-1_2/nbproject/project.xml,v retrieving revision 1.3 diff -u -r1.3 project.xml --- jsf-1_2/nbproject/project.xml 10 Aug 2007 16:40:26 -0000 1.3 +++ jsf-1_2/nbproject/project.xml 15 Aug 2007 00:21:21 -0000 @@ -22,8 +22,29 @@ <configuration> <data xmlns="http://www.netbeans.org/ns/nb-module-project/2"> <code-name-base>org.netbeans.modules.web.jsf12</code-name-base> + <class-path-extension> + <runtime-relative-path>ext/jsf-1_2/jsf-api.jar</runtime-relative-path> + <binary-origin>build/external/jsf-1.2/jsf-api.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/jsf-1_2/jsf-impl.jar</runtime-relative-path> + <binary-origin>build/external/jsf-1.2/jsf-impl.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/glassfish-jspparser.jar</runtime-relative-path> + <binary-origin>../../jspparser/external/glassfish-jspparser.jar</binary-origin> + </class-path-extension> <module-dependencies> <dependency> + <code-name-base>org.netbeans.libs.glassfish_logging</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <release-version>1</release-version> + <specification-version>1.1</specification-version> + </run-dependency> + </dependency> + <dependency> <code-name-base>org.netbeans.modules.servletjspapi</code-name-base> <build-prerequisite/> <compile-dependency/> @@ -33,12 +54,51 @@ </run-dependency> </dependency> </module-dependencies> - <class-path-extension> - <runtime-relative-path>ext/jsf-1_2/jsf-api.jar</runtime-relative-path> - <binary-origin>build/external/jsf-1.2/jsf-api.jar</binary-origin> - </class-path-extension> <public-packages> - <subpackages>javax.faces</subpackages> + <package>com.sun.el</package> + <package>com.sun.el.lang</package> + <package>com.sun.el.parser</package> + <package>com.sun.el.util</package> + <package>com.sun.faces</package> + <package>com.sun.faces.application</package> + <package>com.sun.faces.config</package> + <package>com.sun.faces.config.beans</package> + <package>com.sun.faces.config.rules</package> + <package>com.sun.faces.context</package> + <package>com.sun.faces.el</package> + <package>com.sun.faces.io</package> + <package>com.sun.faces.lifecycle</package> + <package>com.sun.faces.renderkit</package> + <package>com.sun.faces.renderkit.html_basic</package> + <package>com.sun.faces.spi</package> + <package>com.sun.faces.taglib</package> + <package>com.sun.faces.taglib.html_basic</package> + <package>com.sun.faces.taglib.jsf_core</package> + <package>com.sun.faces.util</package> + <package>com.sun.faces.vendor</package> + <package>com.sun.org.apache.commons.beanutils</package> + <package>com.sun.org.apache.commons.beanutils.converters</package> + <package>com.sun.org.apache.commons.beanutils.locale</package> + <package>com.sun.org.apache.commons.beanutils.locale.converters</package> + <package>com.sun.org.apache.commons.collections</package> + <package>com.sun.org.apache.commons.collections.comparators</package> + <package>com.sun.org.apache.commons.collections.iterators</package> + <package>com.sun.org.apache.commons.digester</package> + <package>com.sun.org.apache.commons.digester.rss</package> + <package>com.sun.org.apache.commons.digester.xmlrules</package> + <package>javax.faces</package> + <package>javax.faces.application</package> + <package>javax.faces.component</package> + <package>javax.faces.component.html</package> + <package>javax.faces.context</package> + <package>javax.faces.convert</package> + <package>javax.faces.el</package> + <package>javax.faces.event</package> + <package>javax.faces.lifecycle</package> + <package>javax.faces.model</package> + <package>javax.faces.render</package> + <package>javax.faces.validator</package> + <package>javax.faces.webapp</package> </public-packages> </data> </configuration>
I'm waiting for explicit approval from Petr Pisl on this
Hi Winston, I'm sorry for my late response, I was on a vacation. I don't understand the changes in jsf-1_2/nbproject/project.xml file. PP01: What is the reason putting glassfish-jspparser on the jsf 1.2 library classpath? PP02: There should be fast track review for adding public packages. PP03: You should use <subpackages> tag instead list all packages. PP04: It's reasonable to show implementation packages as public packages?
PP01: What is the reason putting glassfish-jspparser on the jsf 1.2 library classpath? The idea is to remove all the duplicate jars used by Visualweb, instead as much as possible use the jars already included in the web module. In order to remove visualweb/ravelibs/el-ri-1.2 (Expression language Implementations), I'm getting the corresponding classes from glassfish-jspparser (com.sun.el.*) PP02: There should be fast track review for adding public packages. Could you please tell me how should I do that. PP03: You should use <subpackages> tag instead list all packages. Sure I'll try that. I did that because I had to take out the package com.sun.org.apache.commons.logging from the export PP04: It's reasonable to show implementation packages as public packages? Agree, implementation should not be exported as public packages. But I could not export these packages as only friends API because there were 23 modules depends on this and looks like only 14 are allowed. Should I create separate wrapper modules under web/libs and export the APIs as friend API, so that only few friend modules (less than 14) per wrapper module need to be added?
Petr, looks like I have to export few more API through this module They are from commons-beanutils.jar commons-collections.jar commons-digester.jar commons-logging.jar
Winston, >The idea is to remove all the duplicate jars used by Visualweb, instead as much as >possible use the jars already included in the web module. >In order to remove visualweb/ravelibs/el-ri-1.2 (Expression language Implementations), >I'm getting the corresponding classes from glassfish-jspparser (com.sun.el.*) I don't like the suggested solution. Is not clean. I don't like that the jsf 1_2 library wrapper should depend on the jspparser. It would be better solution to create a library wrapper for glasfish-jspparser.jar. But still it's strange that you want to have public packages, which are not api. In jsp parser module I solve this by new classloader. >PP02: There should be fast track review for adding public packages. > Could you please tell me how should I do that. There is a document, where is described how to go through the review. http://openide.netbeans.org/tutorial/review-steps.html But I would try to find different solution. >Agree, implementation should not be exported as public packages. >But I could not export these packages as only friends API because >there were 23 modules depends on this and looks like only 14 are allowed. JSF 1.2 library wrapper doesn't have friends. It's really public api, so there should be only api packages. >Should I create separate wrapper modules under web/libs and export the APIs >as friend API, so that only few friend modules (less than 14) per wrapper >module need to be added? Probably yes, but if you create a friend api, then there is expectation that it becomes public I think that for the jars commons-beanutils.jar, commons-collections.jar, commons-digester.jar and commons-logging.jar there should be created separate library wrappers. But then has to be clear, which version of these jars are used. I expect that these jars you take from bundled jsf 1.2 library.
Hi Petr, I agree to your comments. How about the following. - Leave alone JSF 1.2 library Wrapper. Let it export only javax.face.* as public API (since they are true public API) - Create another wrapper module under web/libs (jsf-1_2-ri) called "JavaServer Faces 1.2 RI" (Package name org.netbeans.modules.web.libs.jsf12ri) - Wrap the following jars in this module From web/libs/jsf-1.2/external/jsf-1.2.zip - commons-beanutils.jar - commons-collections.jar - commons-digester.jar - jsf-impl.jar From web/jspparser/external - glassfish-jspparser.jar - Export the required packages only to the followingfriend modules visualweb/ insync/ jsfsupport/ jsfsupport/designtime-1.1 jsfsupport/designtime-1.2 classloaderprovider/j2ee14 classloaderprovider/j2ee15 propertyeditors/ - Since the packages are exported only to friend modules, no API review required, I suppose What do you think?
Winston, I agree with the suggested solution. Now I can see one possible issue. I'm not sure, whether one physical file (like a jar file) can belongs to the more nbm files. I guess NO, but this is not really issue for this solution, just to be careful that the new wrapper should not own any of the jar files, which already belong to another module (are tracked in a nbm file).
Hi Petr, I'm attaching the zip of the module I created. Interestingly, after removing some left over code, looks like we may not even require commons-beanutils.jar commons-collections.jar and commons-digester.jar. So I'm exporting APIs only from jsf-impl.jar and glassfish-jspparser.jar. Take a look at the attached module and let me know if it is OK to check it in.
Created attachment 47238 [details] New JavaServer Faces 1.2 RI module
It looks for me ok. Just probably is better to use <subpackages> then have a long list of all packages.
CVS: Modified Files: CVS: visualweb/appbase/library/nbproject/build-impl.xml CVS: visualweb/appbase/library/nbproject/genfiles.properties CVS: visualweb/appbase/library/nbproject/project.properties CVS: visualweb/classloaderprovider/.cvsignore CVS: visualweb/classloaderprovider/j2ee14/.cvsignore CVS: visualweb/classloaderprovider/j2ee14/nbproject/project.xml CVS: visualweb/classloaderprovider/j2ee15/.cvsignore CVS: visualweb/classloaderprovider/j2ee15/nbproject/project.xml CVS: visualweb/dataconnectivity/.cvsignore CVS: visualweb/dataconnectivity/nbproject/project.properties CVS: visualweb/dataprovider/runtime/library/.cvsignore CVS: visualweb/designer/.cvsignore visualweb/insync/.cvsignore CVS: visualweb/insync/nbproject/project.xml CVS: visualweb/jsfsupport/designtime/.cvsignore CVS: visualweb/jsfsupport/designtime/nbproject/project.xml CVS: visualweb/jsfsupport/designtime-1.1/nbproject/project.xml CVS: visualweb/jsfsupport/designtime-1.2/nbproject/project.xml CVS: visualweb/jsfsupport/nbproject/project.xml CVS: visualweb/jsfsupport/runtime/.cvsignore CVS: visualweb/jsfsupport/runtime/library/.cvsignore CVS: visualweb/jsfsupport/runtime/library/nbproject/build-impl.xml CVS: visualweb/jsfsupport/runtime/library/nbproject/genfiles.properties CVS: visualweb/jsfsupport/runtime/library/nbproject/project.properties CVS: visualweb/propertyeditors/nbproject/project.xml CVS: visualweb/propertyeditors/resolver/library/nbproject/build-impl.xml CVS: visualweb/propertyeditors/resolver/library/nbproject/genfiles.properties CVS: visualweb/ravelibs/commons-beanutils/.cvsignore CVS: visualweb/ravelibs/sun-apache-commons/.cvsignore CVS: visualweb/test/.cvsignore CVS: visualweb/themebuilder/src/org/netbeans/modules/themebuilder/project/ThemeBuilderProjectOpenedHook.java CVS: visualweb/woodstock/components/nbproject/project.xml CVS: Removed Files: CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/generator/BeanInfoGenerator.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/generator/JavaSourceWriter.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/generator/Main.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/AttrEntry.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/ClassEntry.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/ComponentEntry.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/ComponentInfo.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/ConfigDigester.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/ConfigFile.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/ConfigOverlayDigester.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/FacetEntry.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/FeatureEntry.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/NamedValueEntry.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/PropAttrEntry.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/PropEntry.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/RendererEntry.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/TagAttribute.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/TagEntry.java CVS: visualweb/jsfsupport/src/org/netbeans/modules/visualweb/jsfsupport/parser/TagLibrary.java CVS: visualweb/ravelibs/commons-beanutils/build.xml CVS: visualweb/ravelibs/commons-beanutils/manifest.mf CVS: visualweb/ravelibs/commons-beanutils/build.xml CVS: visualweb/ravelibs/commons-beanutils/manifest.mf CVS: visualweb/ravelibs/commons-beanutils/nbproject/.cvsignore CVS: visualweb/ravelibs/commons-beanutils/nbproject/project.properties CVS: visualweb/ravelibs/commons-beanutils/nbproject/project.xml CVS: visualweb/ravelibs/commons-beanutils/release/modules/ext/commons-beanutils.jar CVS: visualweb/ravelibs/commons-beanutils/src/org/netbeans/modules/visualweb/libs/commons/beanutils/Bundle.properties CVS: visualweb/ravelibs/commons-collections/build.xml CVS: visualweb/ravelibs/commons-collections/manifest.mf CVS: visualweb/ravelibs/commons-collections/nbproject/.cvsignore CVS: visualweb/ravelibs/commons-collections/nbproject/project.properties CVS: visualweb/ravelibs/commons-collections/nbproject/project.xml CVS: visualweb/ravelibs/commons-collections/release/modules/ext/commons-collections.jar CVS: visualweb/ravelibs/commons-collections/src/org/netbeans/modules/visualweb/libs/commons/collections/Bundle.properties CVS: visualweb/ravelibs/commons-digester/build.xml CVS: visualweb/ravelibs/commons-digester/manifest.mf CVS: visualweb/ravelibs/commons-digester/nbproject/.cvsignore CVS: visualweb/ravelibs/commons-digester/nbproject/project.properties CVS: visualweb/ravelibs/commons-digester/nbproject/project.xml CVS: visualweb/ravelibs/commons-digester/release/modules/ext/commons-digester.jar CVS: visualweb/ravelibs/commons-digester/src/org/netbeans/modules/visualweb/libs/commons/digester/Bundle.properties CVS: visualweb/ravelibs/commons-logging/build.xml CVS: visualweb/ravelibs/commons-logging/manifest.mf CVS: visualweb/ravelibs/commons-logging/nbproject/.cvsignore CVS: visualweb/ravelibs/commons-logging/nbproject/project.properties CVS: visualweb/ravelibs/commons-logging/nbproject/project.xml CVS: visualweb/ravelibs/commons-logging/release/modules/ext/commons-logging.jar CVS: visualweb/ravelibs/commons-logging/src/org/netbeans/modules/visualweb/libs/commons/logging/Bundle.properties CVS: visualweb/ravelibs/el-ri-1.2/build.xml CVS: visualweb/ravelibs/el-ri-1.2/manifest.mf CVS: visualweb/ravelibs/el-ri-1.2/external/sources/el-ri-1.2-src.zip CVS: visualweb/ravelibs/el-ri-1.2/nbproject/project.properties CVS: visualweb/ravelibs/el-ri-1.2/nbproject/project.xml CVS: visualweb/ravelibs/el-ri-1.2/release/.cvsignore CVS: visualweb/ravelibs/el-ri-1.2/release/modules/.cvsignore CVS: visualweb/ravelibs/el-ri-1.2/release/modules/ext/.cvsignore CVS: visualweb/ravelibs/el-ri-1.2/release/modules/ext/el-impl-1.2.jar CVS: visualweb/ravelibs/el-ri-1.2/src/org/netbeans/modules/visualweb/libs/el/ri12/Bundle.properties CVS: visualweb/ravelibs/jsf-ri-1.2/build.xml CVS: visualweb/ravelibs/jsf-ri-1.2/l10n_notes.txt CVS: visualweb/ravelibs/jsf-ri-1.2/manifest.mf CVS: visualweb/ravelibs/jsf-ri-1.2/external/.cvsignore CVS: visualweb/ravelibs/jsf-ri-1.2/external/sources/.cvsignore CVS: visualweb/ravelibs/jsf-ri-1.2/external/sources/jsf-1.2_04-b10-p01-src.zip CVS: visualweb/ravelibs/jsf-ri-1.2/nbproject/.cvsignore CVS: visualweb/ravelibs/jsf-ri-1.2/nbproject/project.properties CVS: visualweb/ravelibs/jsf-ri-1.2/nbproject/project.xml CVS: visualweb/ravelibs/jsf-ri-1.2/release/.cvsignore CVS: visualweb/ravelibs/jsf-ri-1.2/release/modules/.cvsignore CVS: visualweb/ravelibs/jsf-ri-1.2/release/modules/ext/.cvsignore CVS: visualweb/ravelibs/jsf-ri-1.2/release/modules/ext/jsf-ri-1.2.jar CVS: visualweb/ravelibs/jsf-ri-1.2/src/org/netbeans/modules/visualweb/libs/jsf/ri12/Bundle.properties CVS: visualweb/ravelibs/sun-apache-commons/build.xml CVS: visualweb/ravelibs/sun-apache-commons/manifest.mf CVS: visualweb/ravelibs/sun-apache-commons/nbproject/.cvsignore CVS: visualweb/ravelibs/sun-apache-commons/nbproject/project.properties CVS: visualweb/ravelibs/sun-apache-commons/nbproject/project.xml CVS: visualweb/ravelibs/sun-apache-commons/release/modules/ext/com-sun-apache-commons.jar CVS: visualweb/ravelibs/sun-apache-commons/src/org/netbeans/modules/visualweb/libs/apache/commons/Bundle.properties
Verified that el-impl-1.2.jar, and jsf-ri-1.2.jar are no longer in the modules/ext for visualweb: Product Version: NetBeans 6 IDE Dev (Build 200709101200) System: Windows Vista version 6.0 running on x86; Cp1252; en_US (nb) Java: 1.6.0_03; Java HotSpot(TM) Client VM 1.6.0_03-b02 Glassfish: 58g