Christopher Oliver <[EMAIL PROTECTED]> writes:

> 
> It appears the source resolver used by the compiling class loader was 
> able to resolve a Source for one of your Java classes but 
> Source.getInputStream() returned null. Since clearly you 
> weren't using 
> the compiling class loader previously, this seems odd. I'm not sure 
> what's causing this. Can you provide more information? What class was 
> being loaded when this occurred? Can you set a breakpoint in 
> CompilingClassLoader and find out what type of Source was returned?

Hmm, interesting.  When I deploy our EAR expanded I don't get this
error, but instead something else goes wrong in our business logic
classes that I haven't had a chance to track down yet.  If the problems
are related then the flowscript causing the problem is:

        function logon( collection, screen )            // Handle logon
screen
        {
            var logonOk = false;
            while ( !logonOk )
            {
          cocoon.sendPageAndWait( "run/_logon/" + screen );
                var handler =
Packages.org.stjude.ct.ui.logon.LogonAction();
          logonOk = handler.logon( cocoon );
            }
            _redirectTo( "frameset.frameset" );
        }

The class being instantiated here is and old Cocoon action that has been
modified to take a Cocoon object...

> 
> Assuming that the above _is_ what's happening, a possible fix 
> might be 
> to modify CompilingClassLoader as follows:
> 
>     class SourceReaderFactory implements JavaSourceReaderFactory {
>         public JavaSourceReader
>             getSourceReader(final String className)
>             throws IOException {
>             Source src = getSource(className);
>             if (src == null) return null;
>             try {
>                 InputStream is = src.getInputStream();
>                 if (is == null) {
>                     return null;
>                 }
>                 ...

Reply via email to