cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simone Gianni (JIRA)" <j...@apache.org>
Subject [jira] Commented: (COCOON-1898) [PATCH] XPatch support for maven-cocoon-deployer-plugin
Date Sun, 03 Sep 2006 14:26:23 GMT
    [ http://issues.apache.org/jira/browse/COCOON-1898?page=comments#action_12432339 ] 
            
Simone Gianni commented on COCOON-1898:
---------------------------------------

Sorry to jump on this issue so late, but I also was in the need for a patching mechanism for
web.xml and other files, and came up with another solution, mainly because i don't like XPatch
that much (had to fight with it a lot in the past).

I aldready developed and I'm using internally the mvn plugin for it, it works using a src/main/xpatch
folder, containing the patch files, so for example to patch the web xml you create a file
src/main/xpatch/WEB-INF/web.xml-adding-filter.xml. 

My xml patching syntax is by far simpler than xpatch, for example to add a filter in the web.xml
you just have to write a file like this :

<web-app xmlns:xp="http://xpatch/1.0">
  <filter/> <!-- With this you are telling it to find the first <filter/> entry
-->
  <filter xp:do="add"> <!-- With this you are telling it to add this node and its
children -->
    <filter-name>MyFilter</filter-name>
    <display-name>My filter</display-name>
    <filter-class>....</filter-class>
    <init-param>
      <param-name>param</param-name>
      <param-value>value</param-value>
    </init-param>
  </filter>
  <filter-mapping/>
  <filter-mapping xp:do="add">
      <filter-name>MyFilter</filter-name>
      <servlet-name>Cocoon</servlet-name>
  </filter-mapping>  
</web-app>

For many other tasks it's even simpler, for example to add a new match on the root sitemap,
this is enought :

<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
  <map:pipelines>
    <map:pipeline>
  	  <map:match pattern="_mystuff/**">
	    <map:mount src="mystuff/" uri-prefix="_mystuff"/>
  	  </map:match>
    </map:pipeline>
  </map:pipelines>
</map:sitemap>

and the new match will be added as the last element of the first encountered pipeline.

I'm planning to contribute this anyway, so let me know if it could be a good alternative.

> [PATCH] XPatch support for maven-cocoon-deployer-plugin
> -------------------------------------------------------
>
>                 Key: COCOON-1898
>                 URL: http://issues.apache.org/jira/browse/COCOON-1898
>             Project: Cocoon
>          Issue Type: Improvement
>          Components: - Build System: Maven
>    Affects Versions: 2.2-dev (Current SVN)
>            Reporter: Lars Trieloff
>         Attachments: maven-cocoon-deployer-plugin-with-xpatch-support.patch
>
>
> The cocoon-deployer-plugin has currently no support for XPatch, which makes it difficult
to modify the web.xml when developing cocoon blocks. For example the cocoon-xmldb-impl block
should add, when deployed, a servlet for xindice and a servlet mapping for the xindice servlet.
This was possible in 2.1 using the XConfToolTask, but is no longer possible with the current
state of the deployer-plugin.
> My patch adds support for patching the web.xml file using *.xweb files in the /conf directory
of a block by filtering the block's jar file during deployment for conf/*.xweb files, caching
the patch document temporarily and applying them (using code from the orgiginal XConfToolTask
in 2.1) to the web.xml. The patch has currently no support for other files than conf/*.xweb
files and does not support any property expansion.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message