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/11/01 21:20:47 UTC

cvs commit: xml-cocoon/src/org/apache/cocoon/processor/xsp/library/sql esql.xsl

greenrd     00/11/01 12:20:45

  Modified:    .        todo.xml changes.xml
               src/org/apache/cocoon/processor/xsp/library/sql esql.xsl
  Log:
  made esql default to inner method false and noted changes
  
  Revision  Changes    Path
  1.42      +0 -6      xml-cocoon/todo.xml
  
  Index: todo.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/todo.xml,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- todo.xml	2000/10/27 11:45:56	1.41
  +++ todo.xml	2000/11/01 20:20:37	1.42
  @@ -3,7 +3,7 @@
   <!DOCTYPE todo SYSTEM "./xdocs/dtd/todo-v10.dtd">
   
   <!--
  -  $Id: todo.xml,v 1.41 2000/10/27 11:45:56 greenrd Exp $
  +  $Id: todo.xml,v 1.42 2000/11/01 20:20:37 greenrd Exp $
   -->
   
   <todo title="Things To Do for Cocoon 1.x">
  @@ -16,12 +16,6 @@
    </devs>
   
    <actions priority="high">
  -  <action context="code">
  -   Fix Tomcat bug (see cocoon-dev list).
  -  </action>
  -  <action context="code">
  -   Make ESQL default to inner-method=false.
  -  </action>
     <action context="code">
      Track down cause of OutOfMemoryError.
     </action>
  
  
  
  1.139     +8 -6      xml-cocoon/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/changes.xml,v
  retrieving revision 1.138
  retrieving revision 1.139
  diff -u -r1.138 -r1.139
  --- changes.xml	2000/10/30 11:28:52	1.138
  +++ changes.xml	2000/11/01 20:20:38	1.139
  @@ -4,7 +4,7 @@
   
   <!--
     History of Cocoon changes   
  -  $Id: changes.xml,v 1.138 2000/10/30 11:28:52 jeremy Exp $ 
  +  $Id: changes.xml,v 1.139 2000/11/01 20:20:38 greenrd Exp $ 
   -->
   
   <changes title="History of Changes">
  @@ -14,15 +14,17 @@
       <person name="Ricardo Rocha" email="ricardo@apache.org" id="RR"/>
       <person name="Pierpaolo Fumagalli" email="pier@apache.org" id="PF"/>
       <person name="Robin Green" email="greenrd@hotmail.com" id="RDG"/>
  -    <person name="Jeremy Quinn" email="jeremy@apache.org" id="JQ"/>
     </devs>
   
    <release version="@version@" date="@date@">
  -  <action dev="JQ" type="fix" due-to="Konstantin Piroumian" due-to-email="KPiroumian@flagship.ru">
  -   Fixed fp.xsl, to work better when mixed with other taglibs.
  +  <action dev="RDG" type="update">
  +   IMPORTANT: Made esql default to inner-method="false" since the
  +   inner-method facility is not always needed and causes confusion.
     </action>
  -  <action dev="JQ" type="fix">
  -   Fixed fp.xsl, to hopefully allow use of config elements properly.
  +  <action dev="RDG" type="update">
  +   Cocoon now sets a Last-Modified HTTP header based on the time the
  +   result was generated (either now or when the result was last changed
  +   in the cache).
     </action>
     <action dev="RDG" type="fix" due-to="Paul Lamb" due-to-email="paul@oil-law.com">
      Fixed XSPProcessor to pick up correct classpath and
  
  
  
  1.24      +32 -38    xml-cocoon/src/org/apache/cocoon/processor/xsp/library/sql/esql.xsl
  
  Index: esql.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon/src/org/apache/cocoon/processor/xsp/library/sql/esql.xsl,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- esql.xsl	2000/10/17 04:35:44	1.23
  +++ esql.xsl	2000/11/01 20:20:43	1.24
  @@ -1,5 +1,5 @@
   <?xml version="1.0"?>
  -<!-- $Id: esql.xsl,v 1.23 2000/10/17 04:35:44 balld Exp $-->
  +<!-- $Id: esql.xsl,v 1.24 2000/11/01 20:20:43 greenrd Exp $-->
   <!--
   
    ============================================================================
  @@ -119,11 +119,9 @@
                     int count;
                     int max_rows;
                     int skip_rows;
  -                  boolean has_resultset;
  -		  int update_count;
                    }
   		</xsp:logic>
  -		<xsl:for-each select=".//esql:execute-query[not(@inner-method='no')]">
  +		<xsl:for-each select=".//esql:execute-query[@inner-method='yes']">
   		 <xsl:call-template name="generate-code">
   		  <xsl:with-param name="inner-method">yes</xsl:with-param>
   		 </xsl:call-template>
  @@ -132,7 +130,7 @@
   	</xsp:page>
   </xsl:template>
   
  -<xsl:template match="xsp:page/*[not(namespace-uri(.)='http://www.apache.org/1999/XSP/Core')]">
  +<xsl:template match="xsp:page/*">
    <xsl:copy>
     <xsl:apply-templates select="@*"/>
     <xsp:logic>
  @@ -152,7 +150,7 @@
    <xspdoc:desc>indicates that a sql connection is going to be defined and one or more queries may be executed</xspdoc:desc>
   <xsl:template match="esql:execute-query">
    <xsl:choose>
  -  <xsl:when test="@inner-method='no'">
  +  <xsl:when test="not(@inner-method='yes')">
      <xsl:call-template name="generate-code">
       <xsl:with-param name="inner-method">no</xsl:with-param>
      </xsl:call-template>
  @@ -274,11 +272,10 @@
   	        <xsl:when test="esql:query">
   	         _esql_session.query = String.valueOf(<xsl:copy-of select="$query"/>);
   	         _esql_session.statement = _esql_session.connection.createStatement();
  -                 _esql_session.has_resultset = _esql_session.statement.execute(_esql_session.query);
  +	         _esql_session.resultset = _esql_session.statement.executeQuery(_esql_session.query);
   		</xsl:when>
   		<xsl:when test="esql:statement">
   		 _esql_session.prepared_statement = _esql_session.connection.prepareStatement(String.valueOf(<xsl:copy-of select="$statement"/>));
  -		 _esql_session.statement = _esql_session.prepared_statement;
   		 <xsl:text>_esql_session.prepared_statement.</xsl:text>
   		 <xsl:for-each select=".//esql:parameter">
   		  <xsl:choose>
  @@ -293,40 +290,37 @@
   		   </xsl:otherwise>
   		  </xsl:choose>
   		 </xsl:for-each>
  -	         _esql_session.has_resultset = _esql_session.prepared_statement.execute();
  +	         _esql_session.resultset = _esql_session.prepared_statement.executeQuery();
   		</xsl:when>
   	       </xsl:choose>
  -               if (_esql_session.has_resultset) {
  -                _esql_session.resultset = _esql_session.statement.getResultSet();
  -	        _esql_session.resultset_metadata = _esql_session.resultset.getMetaData();
  -                _esql_session.update_count = -1;
  -	        _esql_session.count = 0;
  -	        if (_esql_session.skip_rows &gt; 0) {
  -	         while (_esql_session.resultset.next()) {
  -		  _esql_session.count++;
  -		  if (_esql_session.count == _esql_session.skip_rows) {
  -	           break;
  -		  }
  -		 }
  -	        }
  -	        boolean _esql_results_<xsl:value-of select="generate-id(.)"/> = false;
  +	       _esql_session.resultset_metadata = _esql_session.resultset.getMetaData();
  +	       _esql_session.count = 0;
  +	       if (_esql_session.skip_rows &gt; 0) {
   	        while (_esql_session.resultset.next()) {
  -		 _esql_results_<xsl:value-of select="generate-id(.)"/> = true;
  -	         <xsl:apply-templates select="esql:results/*"/>
  -		 if (_esql_session.max_rows != -1 &amp;&amp; _esql_session.count - _esql_session.skip_rows == _esql_session.max_rows-1) {
  -		  break;
  -		 }
   		 _esql_session.count++;
  -	        }
  -	        _esql_session.resultset.close();
  -	        if (!_esql_results_<xsl:value-of select="generate-id(.)"/>) {
  -                 <xsl:apply-templates select="esql:no-results/*"/>
  -	        }
  -               } else {
  -                _esql_session.update_count = _esql_session.statement.getUpdateCount();
  -                <xsl:apply-templates select="esql:count-results/*"/>
  -               }
  -	       _esql_session.statement.close();
  +		 if (_esql_session.count == _esql_session.skip_rows) {
  +	          break;
  +		 }
  +		}
  +	       }
  +	       boolean _esql_results_<xsl:value-of select="generate-id(.)"/> = false;
  +	       while (_esql_session.resultset.next()) {
  +		_esql_results_<xsl:value-of select="generate-id(.)"/> = true;
  +	        <xsl:apply-templates select="esql:results/*"/>
  +		if (_esql_session.max_rows != -1 &amp;&amp; _esql_session.count - _esql_session.skip_rows == _esql_session.max_rows-1) {
  +		 break;
  +		}
  +		_esql_session.count++;
  +	       }
  +	       _esql_session.resultset.close();
  +	       if (_esql_session.statement != null) {
  +	         _esql_session.statement.close();
  +	       } else if (_esql_session.prepared_statement != null) {
  +	         _esql_session.prepared_statement.close();
  +	       }
  +	       if (!_esql_results_<xsl:value-of select="generate-id(.)"/>) {
  +                <xsl:apply-templates select="esql:no-results/*"/>
  +	       }
   	       } catch (Exception _esql_exception) {
   		<xsl:if test="esql:error-results//esql:get-stacktrace">
   		 StringWriter _esql_exception_writer = new StringWriter();