cziegeler    01/12/27 01:32:33

  Modified:    src/org/apache/cocoon/acting ScriptAction.java
  Log:
  Revised ScriptAction
  
  Revision  Changes    Path
  1.7       +22 -13    xml-cocoon2/src/org/apache/cocoon/acting/ScriptAction.java
  
  Index: ScriptAction.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/acting/ScriptAction.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ScriptAction.java 2001/10/11 07:28:16     1.6
  +++ ScriptAction.java 2001/12/27 09:32:33     1.7
  @@ -5,7 +5,6 @@
    * version 1.1, a copy of which has been included  with this distribution in *
    * the LICENSE file.                                                         *
    *****************************************************************************/
  -
   package org.apache.cocoon.acting;
   
   // Cocoon imports
  @@ -31,27 +30,39 @@
   
   /**
    * A simple action that executes any script that can be run by the BSF
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]";>Jason Foster</a>
  + * @version CVS $Revision: 1.7 $ $Date: 2001/12/27 09:32:33 $
    */
   
  -public class ScriptAction extends ComposerAction implements ThreadSafe {
  +public class ScriptAction
  +extends ComposerAction
  +implements ThreadSafe {
   
   
  -    public Map act( Redirector redirector, SourceResolver resolver, Map 
objectModel, String source, Parameters par ) throws Exception
  -    {
  +    public Map act( Redirector redirector,
  +                    SourceResolver resolver,
  +                    Map objectModel,
  +                    String source,
  +                    Parameters par )
  +    throws Exception {
  +        Source src = null;
           try {
               // Figure out what script to open.  A missing script name is caught
               // by the resolver/SystemId grouping later on and causes an exception
   
               String scriptName = source;
   
  -            getLogger().debug("script source [" + scriptName + "]");
   
               // Locate the appropriate file on the filesytem
   
  -            Source src = resolver.resolve(scriptName);
  +            src = resolver.resolve(scriptName);
               String systemID = src.getSystemId();
   
  -            getLogger().debug("script resolved to [" + systemID + "]");
  +            if (this.getLogger().isDebugEnabled() == true) {
  +                getLogger().debug("script source [" + scriptName + "]");
  +                getLogger().debug("script resolved to [" + systemID + "]");
  +            }
   
               // TODO: why doesn't this work?
               // Reader in = src.getCharacterStream();
  @@ -99,15 +110,13 @@
               {
                   return ( null );
               }
  -        } catch (FileNotFoundException e) {
  -            throw new ProcessingException(
  -                    "Exception in ScriptAction.act()", e);
  -        } catch (BSFException e) {
  -            throw new ProcessingException(
  -                    "Exception in ScriptAction.act()", e);
  +        } catch (ProcessingException e) {
  +            throw e;
           } catch (Exception e) {
               throw new ProcessingException(
                       "Exception in ScriptAction.act()", e);
  +        } finally {
  +            if (src != null) src.recycle();
           } // try/catch
       } // public Map act(...)
   } // public class ScriptAction
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to