Thanks for the help!

I found that in dbAddAction, we must to supply into the descriptor like "key" 
all the values that cannot be null! This is not describen into the 
documentation.

I as not able to check my problem, because the FormValidatorAction tell that 
all the valuse was there. But as I can see, it looks like the dbAddAction 
make two database operations, first insert the fileds with "key" tags and 
after make an update of the register. I think this is not admisible. Because 
you can have some not-null values that you cannot insert in the first insert 
with only the key.

Also making 2 DB operations degrade the performance of the application.

Regards,

Antonio Gallardo.


El Lunes, 07 de Octubre de 2002 13:44, Antonio Gallardo Rivera escribió:
> Hi, please help me :)
>
> I am getting the following error:
>
> Description: org.apache.cocoon.ProcessingException: Could not add record:
> java.sql.SQLException: ERROR: ExecAppend: Fail to add null value in not
> null attribute cli_id
>
> The parameter is set at the beginning of the page using:
>
> <parameter name="cli_id"><xsp:attribute
> name="value"><xsp-request:get-parameter
> name="cli_id"/></xsp:attribute></parameter>
>
> Also I see the parameter in the generated HTML:
>
> <input value="1" name="cli_id" type="hidden">
>
> I think that it means the parameter is setted good, but I am getting the
> error.
>
> Also the FormValidator is working good. It passes the verification:
>
> <parameter name="cli_id" nullable="no" type="long"/>
>
> In the sitemap the process is with:
>
> <map:match type="request-parameter" pattern="cocoon-action-Create">
>  <map:act action="crear" type="form-validator">
>   <map:parameter name="descriptor" value="docs/{../1}-form.xml"/>
>   <map:parameter name="validate-set" value="add"/>
>   <map:act type="dbAdd">
>    <map:parameter name="descriptor" value="docs/{../../1}-form.xml"/>
>    <map:parameter name="validate-set" value="add"/>
>    <map:generate src="docs/{../../../1}-confirm.xsp" type="serverpages"/>
>    <map:transform src="stylesheets/agssa.xsl"/>
>    <map:serialize/>
>   </map:act>
>  </map:act>
> </map:match>
>
>
> And in the sitemap.log i found:
>
> WARN    (2002-10-07) 19:32.27:839   [sitemap]
> (/multipremios/can-crear.html) Thread-5/ExcaliburComponentManager:
> ComponentLocator exception from parent CM during lookup.
> org.apache.avalon.framework.component.ComponentException: Could not find
> component
>       at
> org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(Exca
>liburComponentManager.java:255) at
> org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentM
>anager.java:236) at
> org.apache.avalon.excalibur.component.DefaultComponentFactory$ComponentMana
>gerProxy.lookup(DefaultComponentFactory.java:393) at
> org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(Exca
>liburComponentManager.java:185) at
> org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentM
>anager.java:236) at
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invokeError
>Handler(PipelineNode.java:198) at
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(Pipe
>lineNode.java:175) at
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv
>okeNodes(AbstractParentProcessingNode.java:107) at
> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(Pip
>elinesNode.java:150) at
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProces
>sor.java:326) at
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProces
>sor.java:308) at org.apache.cocoon.Cocoon.process(Cocoon.java:595)
>       at
> org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1034) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicatio
>nFilterChain.java:247) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterC
>hain.java:193) at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.j
>ava:260) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo
>keNext(StandardPipeline.java:643) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j
>ava:191) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo
>keNext(StandardPipeline.java:643) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:18
>0) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo
>keNext(StandardPipeline.java:643) at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve
>.java:170) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo
>keNext(StandardPipeline.java:641) at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:17
>2) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo
>keNext(StandardPipeline.java:641) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav
>a:174) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo
>keNext(StandardPipeline.java:643) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>       at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>       at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConn
>ection(Http11Protocol.java:380) at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.ja
>va:533) at java.lang.Thread.run(Thread.java:536)
> DEBUG   (2002-10-07) 19:32.27:842   [sitemap]
> (/multipremios/can-crear.html) Thread-5/ExcaliburComponentManager: Could
> not find ComponentHandler, attempting to create one for role
> [org.apache.cocoon.components.notification.NotifyingBuilder]
> DEBUG   (2002-10-07) 19:32.27:845   [sitemap]
> (/multipremios/can-crear.html) Thread-5/DefaultComponentHandler:
> ComponentHandler initialized for:
> org.apache.cocoon.components.notification.DefaultNotifyingBuilder
> DEBUG   (2002-10-07) 19:32.27:847   [sitemap]
> (/multipremios/can-crear.html) Thread-5/DefaultComponentFactory:
> ComponentFactory creating new instance of
> org.apache.cocoon.components.notification.DefaultNotifyingBuilder. DEBUG  
> (2002-10-07) 19:32.27:859   [sitemap] (/multipremios/can-crear.html)
> Thread-5/DefaultComponentFactory: ComponentFactory decommissioning instance
> of org.apache.cocoon.components.notification.DefaultNotifyingBuilder.
>
>
> What I am doing wrong?
>
> Thanks in advance,
>
> Antonio Gallardo.
>
> ---------------------------------------------------------------------
> Please check that your question  has not already been answered in the
> FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>
>
> To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
> For additional commands, e-mail:   <[EMAIL PROTECTED]>

---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to