vgritsenko    02/04/13 17:45:29

  Modified:    src/java/org/apache/cocoon/components/xscript
                        XScriptManagerImpl.java XScriptObject.java
                        XScriptObjectFromURL.java
                        XScriptObjectInlineXML.java
               src/java/org/apache/cocoon/components/language/markup/xsp/java
                        xscript-lib.xsl
  Log:
  Fix xscript: toSAX method is from the Source interface, thus cannot use Embedded 
handler there.
  
  Revision  Changes    Path
  1.7       +1 -3      
xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptManagerImpl.java
  
  Index: XScriptManagerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptManagerImpl.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XScriptManagerImpl.java   22 Feb 2002 07:00:15 -0000      1.6
  +++ XScriptManagerImpl.java   14 Apr 2002 00:45:29 -0000      1.7
  @@ -52,8 +52,6 @@
   
   import java.util.HashMap;
   
  -import java.io.InputStream;
  -
   import org.apache.avalon.framework.logger.AbstractLoggable;
   import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.avalon.framework.parameters.Parameterizable;
  @@ -71,7 +69,7 @@
    * The actual implementation of the <code>XScriptManager</code> interface.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ovidiu Predescu</a>
  - * @version CVS $Id: XScriptManagerImpl.java,v 1.6 2002/02/22 07:00:15 cziegeler 
Exp $
  + * @version CVS $Id: XScriptManagerImpl.java,v 1.7 2002/04/14 00:45:29 vgritsenko 
Exp $
    * @since August  4, 2001
    */
   public class XScriptManagerImpl
  
  
  
  1.8       +23 -18    
xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObject.java
  
  Index: XScriptObject.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObject.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- XScriptObject.java        22 Feb 2002 07:00:15 -0000      1.7
  +++ XScriptObject.java        14 Apr 2002 00:45:29 -0000      1.8
  @@ -66,7 +66,6 @@
   import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.ComponentException;
  -import org.apache.avalon.framework.component.Component;
   import org.apache.avalon.framework.component.Composable;
   
   /**
  @@ -75,7 +74,7 @@
    * Source object.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ovidiu Predescu</a>
  - * @version CVS $Id: XScriptObject.java,v 1.7 2002/02/22 07:00:15 cziegeler Exp $
  + * @version CVS $Id: XScriptObject.java,v 1.8 2002/04/14 00:45:29 vgritsenko Exp $
    * @since August  4, 2001
    */
   public abstract class XScriptObject implements Source, Composable
  @@ -115,12 +114,11 @@
      * variable to this instance. Return the result of the
      * transformation as an <code>XScriptObject</code>.
      *
  -   * @param source a <code>XScriptObject</code> value
      * @param stylesheet a <code>XScriptObject</code> value
      * @param params a <code>Parameters</code> value containing optional
      * arguments to be passed to the XSLT processor.
  -   * @param result a <code>Result</code> value. This is where the
  -   * result of the XSLT processing will be placed.
  +   * @return <code>XScriptObject</code> object containing the result
  +   * of the XSLT processing.
      * @exception IllegalArgumentException if an error occurs
      * @exception ProcessingException if an error occurs
      */
  @@ -145,27 +143,32 @@
       }
     }
   
  -  public void toSAX(ContentHandler handler)
  -    throws SAXException
  +  public void toEmbeddedSAX(ContentHandler handler) throws SAXException
  +  {
  +    EmbeddedXMLPipe newHandler = new EmbeddedXMLPipe(handler);
  +    toSAX(newHandler);
  +  }
  +
  +  /* The Source interface methods. */
  +
  +  public void toSAX(ContentHandler handler) throws SAXException
     {
       Parser parser = null;
       try {
  -      EmbeddedXMLPipe newHandler = new EmbeddedXMLPipe(handler);
  -
         parser = (Parser)componentManager.lookup(Parser.ROLE);
  -
         InputSource source = getInputSource();
  -      parser.parse(source, newHandler);
  -
  -    } catch (Exception ex) {
  -      throw new SAXException(ex);
  +      parser.parse(source, handler);
  +    } catch (SAXException e) {
  +      throw e;
  +    } catch (Exception e) {
  +      throw new SAXException(e);
       } finally {
  -      if (parser != null) componentManager.release(parser);
  +      if (parser != null) {
  +        componentManager.release(parser);
  +      }
       }
     }
   
  -  /* The Source interface methods. */
  -
     public long getLastModified()
     {
       return lastModifiedDate.getTime();
  @@ -176,7 +179,9 @@
     public InputSource getInputSource()
       throws ProcessingException, IOException
     {
  -    return new InputSource(getInputStream());
  +    InputSource is = new InputSource(getInputStream());
  +    is.setSystemId(getSystemId());
  +    return is;
     }
   
     public void recycle()
  
  
  
  1.6       +3 -7      
xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObjectFromURL.java
  
  Index: XScriptObjectFromURL.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObjectFromURL.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XScriptObjectFromURL.java 22 Feb 2002 07:00:15 -0000      1.5
  +++ XScriptObjectFromURL.java 14 Apr 2002 00:45:29 -0000      1.6
  @@ -57,16 +57,13 @@
   
   import org.apache.cocoon.components.url.URLFactory;
   import org.apache.cocoon.ProcessingException;
  -import org.apache.avalon.framework.component.Composable;
  -import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.ComponentException;
  -import org.apache.avalon.framework.component.Component;
   
   /**
    * An <code>XScriptObject</code> created from the contents of a URL.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ovidiu Predescu</a>
  - * @version CVS $Id: XScriptObjectFromURL.java,v 1.5 2002/02/22 07:00:15 cziegeler 
Exp $
  + * @version CVS $Id: XScriptObjectFromURL.java,v 1.6 2002/04/14 00:45:29 vgritsenko 
Exp $
    * @since August 30, 2001
    */
   public class XScriptObjectFromURL extends XScriptObject
  @@ -105,8 +102,7 @@
         componentManager.release(urlFactory);
   
         return is;
  -    }
  -    catch (ComponentException ex) {
  +    } catch (ComponentException ex) {
         throw new ProcessingException(ex);
       }
     }
  @@ -124,7 +120,7 @@
     public String getSystemId()
     {
       // FIXME: generate a real system id to represent this object
  -    return "file:/";
  +    return "xscript:url:" + systemId;
     }
   
     public void recycle()
  
  
  
  1.5       +2 -2      
xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObjectInlineXML.java
  
  Index: XScriptObjectInlineXML.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/xscript/XScriptObjectInlineXML.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XScriptObjectInlineXML.java       22 Feb 2002 07:00:15 -0000      1.4
  +++ XScriptObjectInlineXML.java       14 Apr 2002 00:45:29 -0000      1.5
  @@ -68,7 +68,7 @@
    * An <code>XScriptObject</code> created from an inline XML fragment.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ovidiu Predescu</a>
  - * @version CVS $Id: XScriptObjectInlineXML.java,v 1.4 2002/02/22 07:00:15 
cziegeler Exp $
  + * @version CVS $Id: XScriptObjectInlineXML.java,v 1.5 2002/04/14 00:45:29 
vgritsenko Exp $
    * @since July 7, 2001
    */
   public class XScriptObjectInlineXML extends XScriptObject
  @@ -129,6 +129,6 @@
     {
       // FIXME: Implement a URI scheme to be able to refer to XScript
       // variables by URI
  -    return "file:/";
  +    return "xscript:inline:" + System.identityHashCode(this);
     }
   }
  
  
  
  1.5       +6 -8      
xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/java/xscript-lib.xsl
  
  Index: xscript-lib.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/language/markup/xsp/java/xscript-lib.xsl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- xscript-lib.xsl   28 Feb 2002 14:41:07 -0000      1.4
  +++ xscript-lib.xsl   14 Apr 2002 00:45:29 -0000      1.5
  @@ -1,6 +1,6 @@
   <?xml version="1.0" encoding="utf-8"?>
   
  -<!-- $Id: xscript-lib.xsl,v 1.4 2002/02/28 14:41:07 vgritsenko Exp $-->
  +<!-- $Id: xscript-lib.xsl,v 1.5 2002/04/14 00:45:29 vgritsenko Exp $-->
   <!--
   
    ============================================================================
  @@ -57,7 +57,7 @@
    * Date: September 19, 2001
    *
    * @author <a href="mailto:[EMAIL PROTECTED]>Ovidiu Predescu</a>
  - * @version CVS $Revision: 1.4 $ $Date: 2002/02/28 14:41:07 $
  + * @version CVS $Revision: 1.5 $ $Date: 2002/04/14 00:45:29 $
   -->
   
   <xsl:stylesheet
  @@ -125,9 +125,8 @@
                event stream -->
           <xsp:logic>
             try {
  -            <xsl:value-of select="$object"/>.toSAX(this.contentHandler);
  -          }
  -          catch (IllegalArgumentException ex) {
  +            <xsl:value-of select="$object"/>.toEmbeddedSAX(this.contentHandler);
  +          } catch (IllegalArgumentException ex) {
               <xscript:error><xsp:expr>ex.getMessage()</xsp:expr></xscript:error>
             }
           </xsp:logic>
  @@ -198,14 +197,13 @@
             <xsl:with-param name="parameters" select="$parameters"/>
           </xsl:call-template>
           XScriptObject result = <xsl:value-of select="$object"/>.transform(
  -             <xsl:value-of select="$stylesheet-object"/>,
  -             <xsl:value-of select="$params"/>);
  +            <xsl:value-of select="$stylesheet-object"/>, <xsl:value-of 
select="$params"/>);
   <!--
           System.out.println("input source =\n" + <xsl:value-of select="$object"/>);
           System.out.println("stylesheet source =\n" + <xsl:value-of 
select="$stylesheet-object"/>);
           System.out.println("transformation result =\n" + result);
   -->
  -        result.toSAX(this.contentHandler);
  +        result.toEmbeddedSAX(this.contentHandler);
         }
       </xsp:logic>
     </xsl:template>
  
  
  

----------------------------------------------------------------------
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