cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Konovalov <>
Subject Re: Handling SQL Transformer exceptions
Date Mon, 27 Mar 2006 14:59:33 GMT

>I don't think that you can call this a 'bug in Cocoon'!
I meant, a bug in my app (DB problem is not shown to the user and not handled, just fails
to insert and let user guess what happened). 
 I use Cocoon 2.0.4, not 2.1. Would it mean any difference for handling SQLTransformer exceptions
Thank you,

----- Original Message ----
Sent: Monday, March 27, 2006 8:54:35 AM
Subject: Re: Handling SQL Transformer exceptions

Hi Oleg, 
I don't think that you can call this a 'bug in Cocoon'! Do you really mean a Cocoon 2.0 version
or just generally version 2 of Cocoon? 
It seems you are building a generic DB query tool so I suppose the following is not appropriate
but I would argue that this is not the desired way to use the SQLTransformer since the overall
Application design should prevent any constraints ever being violated. In my view, such Constraints
are fundamental rules that are there to define the parameters of the system and not just as
a last line of defence or for the creation of indexes. However,  to handle such Processing
Exceptions in Cocoon you should take a look at :- 
if, of course, you are using Cocoon 2.1. 
Hope this helps 
     Warrell Harries | IT Services, West Sussex County Council | Location: Northleigh House
 Office: +44 (0) 1243-756837 | Email:
   Oleg Konovalov <>  27/03/2006 14:26    Please respond to
 cocoon list <>   cc
 Handling SQL Transformer exceptions 
 I am trying to fix the bug in the Cocoon 2.0 application:
 - it is not handling exceptions from SQLTransformer in the GUI,
 need to show user an error that Insert failed.
 Here is an exception we often get:
 ERROR   (2006-03-24) 15:29.31:855   [sitemap.transformer.sql] (/myapp) Thread-11/SQLTransformer$Query:
Caught a SQLException
 java.sql.SQLException: ORA-00001: unique constraint (MBRDEV.UKC_ASSOC_COT) violated
     at oracle.jdbc.dbaccess.DBError.throwSqlException(
 Here is a simplified version of my XSL:
 <xsl:template match="/">
         <title><xsl:value-of select='$table'/><xsl:text> modification</xsl:text></title>
 <xsl:template name='doInsert'>
     <xsl:param name='row'/>
     <xsl:param name='table'/>
             <xsl:text>insert into </xsl:text>
             <xsl:value-of select='$table'/>
     <!-- This is the code I added to handle that exception which is supposed to show it
to the user -->
     <xsl:if test="count(//sql:error[1]) > 0">  
         <xsl:call-template name='buildErrorMessage'>
             <xsl:with-param name='row' select='.'/>
             <xsl:with-param name='message'><xsl:text>ERROR: Can not insert the
row into the database (not recorded)</xsl:text></xsl:with-param>
 Am I doing it right and in correct place ("This is the code...") ?
 For some reason it doesn't seem to work (maybe that condition is false: "count(//sql:error[1])
> 0"  ?)
 Sorry for the newbie question. Any help is very appreciated.
 Thank you in advance,
 To unsubscribe, e-mail:
 For additional commands, e-mail:

 This e-mail and any attachments are confidential and intended solely for the persons addressed.
If it has come to you in error please reply to advise us but you should not read it, copy
it, show it to anyone else nor make any other use of its content.   West Sussex County Council
takes steps to ensure e-mails and attachments are virus-free but you should carry out your
own checks before opening any attachment. 

View raw message