Sure, you can extract the tips Dain mentioned in the mail you'd sent
to me, and then I can add on it if I found something new with my task
:)

On Tue, Jul 22, 2008 at 3:33 PM, Karan Malhi <[EMAIL PROTECTED]> wrote:
> Thanks,
>
> I just followed the tips and suggestions at this wiki page.
> http://openejb.apache.org/tips-and-suggestions.html
>
> This is the procedure which DBlevins recommends.
> I also tried to follow this time to add the revision number to the JIRA,
> (see Vamsi's suggestion)
>
> We should also add some tips for Jaxb in here.
>
> On Tue, Jul 22, 2008 at 8:26 AM, Mohammad Nour El-Din <
> [EMAIL PROTECTED]> wrote:
>
>> Hi Karan...
>>
>>  I really like the way you add comments to commits specially the "How
>> it was fixed" section, thank you very much for teaching me a new good
>> practice :)
>>
>> On Mon, Jul 21, 2008 at 3:04 AM,  <[EMAIL PROTECTED]> wrote:
>> > Author: kmalhi
>> > Date: Sun Jul 20 17:04:56 2008
>> > New Revision: 678330
>> >
>> > URL: http://svn.apache.org/viewvc?rev=678330&view=rev
>> > Log:
>> > OPENEJB-861 Add support to add JSF impl jars to WEB-INF/lib
>> > FIXED this issue
>> >
>> > How it was fixed:-
>> > Made the org.apache.openejb.core.TempClassLoader also load classes belong
>> to packages starting with javax.faces
>> > This means that the TempClassLoader will be able to load
>> javax.faces.FacesServlet, which is configured
>> > in web.xml of every JSF application
>> >
>> >
>> > Modified:
>> >
>>  
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java
>> >
>> > Modified:
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java
>> > URL:
>> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java?rev=678330&r1=678329&r2=678330&view=diff
>> >
>> ==============================================================================
>> > ---
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java
>> (original)
>> > +++
>> openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/TempClassLoader.java
>> Sun Jul 20 17:04:56 2008
>> > @@ -60,12 +60,21 @@
>> >         // bug #283. defer to system if the name is a protected name.
>> >         // "sun." is required for JDK 1.4, which has an access check for
>> >         // sun.reflect.GeneratedSerializationConstructorAccessor1
>> > -        if (name.startsWith("java.") ||
>> > -                name.startsWith("javax.") ||
>> > -                name.startsWith("sun.")) {
>> > +        /*
>> > +         * FIX for openejb-tomcat JSF support . Added the following to
>> the if statement below: !name.startsWith("javax.faces")
>> > +         *We want to use this TempClassLoader to also load the classes
>> in the javax.faces package.
>> > +         *If not, then our AnnotationDeployer will not be able to load
>> the javax.faces.FacesServlet class if this class is in a jar which
>> > +         *is in the WEB-INF/lib directory of a web app.
>> > +         * see AnnotationDeployer$ProcessAnnotatedBeans.deploy(WebModule
>> webModule)
>> > +         * Here is what happened  before this fix was applied:
>> > +         * 1. The AnnotationDeployer tries to load the
>> javax.faces.FacesServlet using this classloader (TempClassLoader)
>> > +         * 2. Since this class loader uses Class.forName to load classes
>> starting with java, javax or sun, it cannot load javax.faces.FacesServlet
>> > +         * 3. Result is , AnnotationDeployer throws a
>> ClassNotFoundException
>> > +         */
>> > +        if ( !name.startsWith("javax.faces.") && (
>> name.startsWith("java.") || name.startsWith("javax.") ||
>> name.startsWith("sun."))) {
>> >             return Class.forName(name, resolve,
>> getClass().getClassLoader());
>> >         }
>> > -
>> > +//        ( && !name.startsWith("javax.faces.") )||
>> >         String resourceName = name.replace('.', '/') + ".class";
>> >         InputStream in = getResourceAsStream(resourceName);
>> >         if (in == null) {
>> >
>> >
>> >
>>
>>
>>
>> --
>> Thanks
>> - Mohammad Nour
>>
>
>
>
> --
> Karan Singh Malhi
>



-- 
Thanks
- Mohammad Nour

Reply via email to