You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ov...@apache.org on 2001/10/29 22:53:58 UTC

cvs commit: xml-cocoon2/src/org/apache/cocoon/components/xscript XScriptManager.java XScriptManagerImpl.java XScriptObject.java XScriptObjectFromURL.java

ovidiu      01/10/29 13:53:58

  Modified:    src/org/apache/cocoon/components/xscript XScriptManager.java
                        XScriptManagerImpl.java XScriptObject.java
                        XScriptObjectFromURL.java
  Log:
  Don't expose the ComponentManager from XScriptManagerImpl to the
  XScript object. Have instead XScriptObject implement Composable so it
  can receive the ComponentManager from its container.
  
  Revision  Changes    Path
  1.3       +0 -7      xml-cocoon2/src/org/apache/cocoon/components/xscript/XScriptManager.java
  
  Index: XScriptManager.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/xscript/XScriptManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XScriptManager.java	2001/10/26 11:29:52	1.2
  +++ XScriptManager.java	2001/10/29 21:53:58	1.3
  @@ -150,11 +150,4 @@
      */
     void removeFirst(String name, String sessionContext, String pageContext)
       throws IllegalArgumentException;
  -
  -  /**
  -   * Return the <code>ComponentManager</code> managing this instance.
  -   *
  -   * @return a <code>ComponentManager</code> value
  -   */
  -  ComponentManager getComponentManager();
   }
  
  
  
  1.3       +9 -5      xml-cocoon2/src/org/apache/cocoon/components/xscript/XScriptManagerImpl.java
  
  Index: XScriptManagerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/xscript/XScriptManagerImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XScriptManagerImpl.java	2001/10/25 19:32:59	1.2
  +++ XScriptManagerImpl.java	2001/10/29 21:53:58	1.3
  @@ -73,6 +73,15 @@
       getLogger().debug("XScriptManager component initialized.");
     }
   
  +  public void register(XScriptObject object)
  +  {
  +    try {
  +      object.compose(manager);
  +    }
  +    catch (ComponentException ex) {
  +    }
  +  }
  +
     public void configure(Configuration conf)
       throws ConfigurationException
     {
  @@ -251,10 +260,5 @@
       // No variable `name' found, throw an exception.
       throw new IllegalArgumentException("removeFirst: no variable '" + name
                                          + "' accessible from this scope!");
  -  }
  -  
  -  public ComponentManager getComponentManager()
  -  {
  -    return manager;
     }
   }
  
  
  
  1.2       +15 -7     xml-cocoon2/src/org/apache/cocoon/components/xscript/XScriptObject.java
  
  Index: XScriptObject.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/xscript/XScriptObject.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XScriptObject.java	2001/10/10 20:53:56	1.1
  +++ XScriptObject.java	2001/10/29 21:53:58	1.2
  @@ -24,6 +24,7 @@
   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;
   
   /**
    * <code>XScriptObject</code> is the root class implemented by all the
  @@ -33,7 +34,7 @@
    * @author <a href="mailto:ovidiu@cup.hp.com">Ovidiu Predescu</a>
    * @since August  4, 2001
    */
  -public abstract class XScriptObject implements Source
  +public abstract class XScriptObject implements Source, Composable
   {
     /**
      * The creation date of this <code>XScriptObject</code>.
  @@ -46,6 +47,8 @@
      */
     XScriptManager xscriptManager;
     
  +  protected ComponentManager componentManager;
  +
     /**
      * Creates a new <code>XScriptObject</code> instance.
      *
  @@ -54,6 +57,13 @@
     public XScriptObject(XScriptManager manager)
     {
       this.xscriptManager = manager;
  +    ((XScriptManagerImpl)this.xscriptManager).register(this);
  +  }
  +
  +  public void compose(ComponentManager manager)
  +    throws ComponentException
  +  {
  +    this.componentManager = manager;
     }
     
     /**
  @@ -77,13 +87,12 @@
         CharArrayWriter writer = new CharArrayWriter();
         StreamResult result = new StreamResult(writer);
         
  -      ComponentManager manager = xscriptManager.getComponentManager();
         XSLTProcessor transformer
  -        = (XSLTProcessor)manager.lookup(XSLTProcessor.ROLE);
  +        = (XSLTProcessor)componentManager.lookup(XSLTProcessor.ROLE);
         
         transformer.transform(this, stylesheet, params, result);
   
  -      manager.release((Component)transformer);
  +      componentManager.release((Component)transformer);
   
         return new XScriptObjectResult(xscriptManager, writer.toString());
       }
  @@ -98,14 +107,13 @@
       try {
         EmbeddedXMLPipe newHandler = new EmbeddedXMLPipe(handler);
   
  -      ComponentManager manager = xscriptManager.getComponentManager();
  -      Parser parser = (Parser)manager.lookup(Parser.ROLE);
  +      Parser parser = (Parser)componentManager.lookup(Parser.ROLE);
         
         parser.setContentHandler(newHandler);
         InputSource source = getInputSource();
         parser.parse(source);
   
  -      manager.release(parser);
  +      componentManager.release(parser);
       }
       catch (Exception ex) {
         throw new SAXException(ex);
  
  
  
  1.3       +5 -5      xml-cocoon2/src/org/apache/cocoon/components/xscript/XScriptObjectFromURL.java
  
  Index: XScriptObjectFromURL.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/xscript/XScriptObjectFromURL.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XScriptObjectFromURL.java	2001/10/25 19:32:59	1.2
  +++ XScriptObjectFromURL.java	2001/10/29 21:53:58	1.3
  @@ -28,7 +28,8 @@
   public class XScriptObjectFromURL extends XScriptObject
   {
     /**
  -   * The URL containing to obtain the source from.
  +   * The content obtained from this URL becomes the content of this
  +   * instance.
      */
     String systemId;
   
  @@ -38,7 +39,7 @@
     int contentLength;
   
     /**
  -   * When the content of the URL was last modified.
  +   * When was the content of the URL last modified.
      */
     long lastModified;
     
  @@ -52,13 +53,12 @@
       throws ProcessingException, IOException
     {
       try {
  -      ComponentManager manager = xscriptManager.getComponentManager();
  -      URLFactory urlFactory = (URLFactory)manager.lookup(URLFactory.ROLE);
  +      URLFactory urlFactory = (URLFactory)componentManager.lookup(URLFactory.ROLE);
         URL url = urlFactory.getURL(systemId);
         URLConnection conn = url.openConnection();
         InputStream is = conn.getInputStream();
         contentLength = conn.getContentLength();
  -      manager.release((Component)urlFactory);
  +      componentManager.release((Component)urlFactory);
   
         return is;
       }
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org