You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gr...@locus.apache.org on 2000/09/17 16:31:28 UTC

cvs commit: xml-cocoon/src/org/apache/cocoon/processor/xsp XSPPage.java

greenrd     00/09/17 07:31:28

  Modified:    .        changes.xml
               src/org/apache/cocoon/processor/xsp XSPPage.java
  Log:
  Changed xsp:expr to only clone nodes where necessary
  
  Revision  Changes    Path
  1.112     +8 -4      xml-cocoon/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/changes.xml,v
  retrieving revision 1.111
  retrieving revision 1.112
  diff -u -r1.111 -r1.112
  --- changes.xml	2000/09/16 23:02:29	1.111
  +++ changes.xml	2000/09/17 14:31:28	1.112
  @@ -4,7 +4,7 @@
   
   <!--
     History of Cocoon changes
  -  $Id: changes.xml,v 1.111 2000/09/16 23:02:29 greenrd Exp $
  +  $Id: changes.xml,v 1.112 2000/09/17 14:31:28 greenrd Exp $
   -->
   
   <changes title="History of Changes">
  @@ -18,6 +18,10 @@
   
    <release version="@version@" date="@date@">
     <action dev="RDG" type="fix">
  +   Changed XSPPage to only clone nodes where necessary, enhancing performance
  +   for complex pages.
  +  </action>
  +  <action dev="RDG" type="fix">
      Changed &lt;xsp:pi&gt; back to use target= instead of name= in order
      not to break existing users' code (which there is a lot of!).
      Changed XSP docs to reflect correct usage.
  @@ -74,13 +78,13 @@
      Patched the cookie XSP taglib and the LDAP processor.
     </action>
     <action dev="SM" type="fix" due-to="Mark Washeim" due-to-email="esalon@canuck.com">
  -   Make Cocoon run better under heavy load.
  +   Implemented blocking in Engine to make Cocoon run better under heavy load.
     </action>
     <action dev="SM" type="add" due-to="Mark Evans" due-to-email="mark.evans@dsto.defence.gov.au">
      Added Solaris8 and improved Win2k installation case documentation.
     </action>
     <action dev="DB" type="fix">
  -   Made XSP SQL processor to array to string conversion when using a Format object on a text column
  +   Made XSP SQL processor do array to string conversion when using a Format object on a text column
     </action>
     <action dev="DB" type="update">
      Brought XInclude processor into conformance (mostly) with the 2000-07-17 version of the working draft.
  @@ -89,7 +93,7 @@
      Fixed problem with unresolved SystemID URIs that cause problems with latest Xerces.
     </action>
     <action dev="SM" type="update">
  -   Updated latest Xerces and Xalan.
  +   Updated to latest Xerces and Xalan.
     </action>
     <action dev="SM" type="add" due-to="Jeremy Quinn" due-to-email="sharkbait@mac.com">
      Included FP form-handling taglib for XSP.
  
  
  
  1.7       +10 -3     xml-cocoon/src/org/apache/cocoon/processor/xsp/XSPPage.java
  
  Index: XSPPage.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/processor/xsp/XSPPage.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XSPPage.java	2000/04/06 06:11:50	1.6
  +++ XSPPage.java	2000/09/17 14:31:28	1.7
  @@ -1,4 +1,4 @@
  -/*-- $Id: XSPPage.java,v 1.6 2000/04/06 06:11:50 ricardo Exp $ -- 
  +/*-- $Id: XSPPage.java,v 1.7 2000/09/17 14:31:28 greenrd Exp $ -- 
   
    ============================================================================
                      The Apache Software License, Version 1.1
  @@ -63,7 +63,7 @@
   
   /**
    * @author <a href="mailto:ricardo@apache.org">Ricardo Rocha</a>
  - * @version $Revision: 1.6 $ $Date: 2000/04/06 06:11:50 $
  + * @version $Revision: 1.7 $ $Date: 2000/09/17 14:31:28 $
    */
   public abstract class XSPPage extends AbstractProducer {
     protected Parser xspParser;
  @@ -141,7 +141,14 @@
   
       // Already a node? Use it verbatim
       if (v instanceof Node) {
  -      return XSPUtil.cloneNode((Node) v, factory);
  +      Node node = (Node) v;
  +      // Don't bother cloning node unless necessary
  +      if (node.getOwnerDocument () == factory) {
  +        return node;
  +      }
  +      else {
  +        return XSPUtil.cloneNode(node, factory);
  +      }
       }
   
       // Array: recurse over each element