DBPrism Servlet Engine
DBPrism CocoonRequestWrapper for Apache Cocoon 2

This class transforms a request of Cocoon2 format into DBPrism format. DBPrism requires a request that implements the interface javax.servlet.http.HttpServletRequest

Also supports an special parameter with Cocoon2's sitemap syntax. This special parameter is Copy-Request-Argument, when it is equal to true means that the parameter passed throw an http GET or POST method from the browser will be merged with Cocoon2's sitemap parameters. The limitation of this behaviour is for http parameter of type multivalued. In that case only the first position of multivalued arguments is merged with Cocoon's arguments. Example:


   <map:match pattern="xmlj/*/*">
    <map:generate type="dbprism" src="/xmlj/{2}">
        <map:parameter name="Copy-Request-Arguments" value="true"/>
        <map:parameter name="Cache-Control" value="External"/>
        <map:parameter name="format" value="{1}"/>
    </map:generate>
    <map:serialize/>
   </map:match>

In the example an url like this http://server:port/dbprism/xmlj/html/demo.show?table=emp will call to the stored procedure (src) demo.show using the DAD xmlj, passing the arguments table=emp extracted from the url and format=html composed using sitemap's syntax.

Cache-Control argument is not passed to the stored procedure because is internally used by DBPrism for controling the cache coherence using External Cache Invalidator Server
If no sitemap parameter are defined Cocoon Request Wrapper will use HTTP parameter as is without any modifications, then it will work with multivaluaded parameters
This work is licensed under a Creative Commons License . Creative Commons License
(C) 1999-2008 - DBPrism ~ DBPrism CMS | Marcelo F. Ochoa | TANDIL ~ Argentina | 2008-10-07T20:12:49
DBPrism at SourceForgeBuilt with Cocoon2