You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Flavio Palumbo <fl...@fastwebnet.it> on 2004/01/08 11:02:59 UTC

nested actions

Hi all,

i wrote two little actions that i put nested in a pipeline. When the first
action fails it returns a null and the second action is not called, but
if the second action fails it also returns a null but the confirmation page
is called as if the second action was successfull.

What i mistake ?

Thank a lot

Flavio

 <map:actions>
   <map:action name="dbAdd" logger="sitemap.riskIdem.action.dbAdd"
               src="org.apache.cocoon.acting.DatabaseAddAction"/> 

   <map:action name="AddM9" logger="sitemap.riskIdem.action.AddM9Action"
               src="AddM9Action"/>

   <map:action name="CtrM9" logger="sitemap.riskIdem.action.CtrM9Action"
               src="CtrM9Action"/>

   <map:action name="dbDel" logger="sitemap.riskIdem.action.dbDel"
               src="org.apache.cocoon.acting.DatabaseDeleteAction"/>

   <map:action name="dbUpd" logger="sitemap.riskIdem.action.dbUpd"
               src="org.apache.cocoon.acting.DatabaseUpdateAction"/>

   <map:action name="form"  logger="sitemap.riskIdem.action.form"
               src="org.apache.cocoon.acting.FormValidatorAction"/>
  </map:actions>

 </map:components>

<!-- ========================== Action sets ================================
-->

 <map:action-sets>
  <map:action-set name="process">
   <map:act type="CtrM9" action="Inserisci Operazione">
     <map:parameter name="pool" value="riskIdem"/>
       <map:act type="AddM9">
        <map:parameter name="pool" value="riskIdem"/>
       </map:act>
   </map:act>

   <map:act type="form" action="Update Department">
     <map:parameter name="validate-set" value="update"/>
     <map:act type="dbUpd"/>
   </map:act>
   <map:act type="dbDel" action="Delete Department"/>
   <map:act type="form" action="Create Employee">
     <map:parameter name="validate-set" value="add"/>
     <map:act type="dbAdd"/>
   </map:act>
   <map:act type="form" action="Update Employee">
     <map:parameter name="validate-set" value="update"/>
     <map:act type="dbUpd"/>
   </map:act>
   <map:act type="dbDel" action="Delete Employee"/>
  </map:action-set>
 </map:action-sets>

<!-- =========================== Pipelines =================================
-->

 <map:pipelines>
  <map:pipeline>

  <map:match pattern="">
    <map:redirect-to uri="home.html"/>
  </map:match>

<map:match pattern="*-operaz.html">
  <map:act set="process">
    <map:parameter name="descriptor" value="context://riskIdem/docs/operaz-form.xml"/>
    <map:generate type="serverpages" src="docs/conferma-operaz.xsp"/>
    <map:transform src="stylesheets/apache.xsl"/>
    <map:serialize/>
  </map:act>
  <map:generate type="serverpages" src="docs/{1}-operaz.xsp"/>
  <map:transform src="stylesheets/apache.xsl"/>
  <map:serialize/>
</map:match>

<map:match pattern="*-operaz.xml">
  <map:act set="process">
    <map:parameter name="descriptor" value="context://riskIdem/docs/operaz-form.xml"/>
    <map:generate type="serverpages" src="docs/conferma-operaz.xsp"/>
    <map:serialize type="xml"/>
  </map:act>
  <map:generate type="serverpages" src="docs/{1}-operaz.xsp"/>
  <map:serialize type="xml"/>
</map:match>

<map:match pattern="*-openp.html">
  <map:act set="process">
    <map:parameter name="descriptor" value="context://riskIdem/docs/openp-form.xml"/>
    <map:generate type="serverpages" src="docs/conferma-openp.xsp"/>
    <map:transform src="stylesheets/apache.xsl"/>
    <map:serialize/>
  </map:act>
  <map:generate type="serverpages" src="docs/{1}-openp.xsp"/>
  <map:transform src="stylesheets/apache.xsl"/>
  <map:serialize/>
</map:match>

<map:match pattern="*-openp.xml">
  <map:act set="process">
    <map:parameter name="descriptor" value="context://riskIdem/docs/openp-form.xml"/>
    <map:generate type="serverpages" src="docs/conferma-openp.xsp"/>
    <map:serialize type="xml"/>
  </map:act>
  <map:generate type="serverpages" src="docs/{1}-openp.xsp"/>
  <map:serialize type="xml"/>
</map:match>

<map:match pattern="Ricerca-*.html">
  <map:generate type="serverpages" src="docs/Ricerca-{1}.xsp"/>
  <map:transform src="stylesheets/apache.xsl"/>
  <map:serialize/>
</map:match> 

<map:match pattern="Ricerca-*.xml">
  <map:generate type="serverpages" src="docs/Ricerca-{1}.xsp"/>
  <map:generate type="serverpages" src="docs/{1}-operaz.xsp"/>
  <map:serialize type="xml"/>
</map:match>


  <map:match pattern="**.xml">
    <map:generate src="docs/{1}.xml"/>
    <map:serialize type="xml"/>
  </map:match>

  <map:match pattern="**.html">
    <map:generate src="docs/{1}.xml"/>
    <map:transform src="stylesheets/apache.xsl"/>
    <map:serialize/>
  </map:match>

   <map:match pattern="images/**.gif">
    <map:read src="resources/images/{1}.gif" mime-type="image/gif"/>
   </map:match>

   <map:match pattern="images/**.jpg">
    <map:read src="resources/images/{1}.jpg" mime-type="image/jpg"/>
   </map:match>

   <map:match pattern="images/**.png">
    <map:read src="resources/images/{1}.png" mime-type="image/png"/>
   </map:match>

   <map:match pattern="resources/**.css">
     <map:read src="resources/styles/{1}.css" mime-type="text/css"/>
   </map:match>

   <map:match pattern="resources/**.js">
     <map:read src="resources/styles/{1}.js" mime-type="application/x-javascript"/>
   </map:match>

   <map:handle-errors>
    <map:transform src="stylesheets/system/error2document.xsl"/>
    <map:transform src="stylesheets/apache.xsl"/>
    <map:serialize status-code="500"/>
   </map:handle-errors>

  </map:pipeline>
 </map:pipelines>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: nested actions

Posted by Patrick Hess <po...@pbone.biz>.
Flavio Palumbo wrote:

> i wrote two little actions that i put nested in a pipeline. When the first
> action fails it returns a null and the second action is not called, but
> if the second action fails it also returns a null but the confirmation page
> is called as if the second action was successfull.

You can do something like this:

<map:act ...first...>
	<map:act ...second...>
		<!-- success for 1st AND second action -->
		<map:generate ...>
		<map:serialize ...>
	</map:act>
</map:act>

<!-- no success/error page --->
<map:generate ...>
<map:serialize ...>


Patrick


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org