Update of
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-web/src/main/java/org/xdoclet/plugin/web
In directory
sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv9889/plugin-web/src/main/java/org/xdoclet/plugin/web
Modified Files:
TaglibPlugin.jelly WebPlugin.java WebPlugin.jelly
Log Message:
reworked jelly merge, moved taglib from web plugin to generama to provide
standard
merge capabilities
Index: TaglibPlugin.jelly
===================================================================
RCS file:
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-web/src/main/java/org/xdoclet/plugin/web/TaglibPlugin.jelly,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** TaglibPlugin.jelly 4 Dec 2005 18:25:16 -0000 1.13
--- TaglibPlugin.jelly 24 Sep 2006 11:58:57 -0000 1.14
***************
*** 2,6 ****
<j:jelly xmlns:j="jelly:core" xmlns:jxml="jelly:xml"
! xmlns:x="jelly:org.xdoclet.plugin.web.jelly.XdocletTaglib">
<j:if test="${plugin.needsDoctype()}">
--- 2,6 ----
<j:jelly xmlns:j="jelly:core" xmlns:jxml="jelly:xml"
! xmlns:g="jelly:org.generama.jelly.GeneramaTaglib">
<j:if test="${plugin.needsDoctype()}">
***************
*** 18,25 ****
<j:if test="${plugin.isMinimumJspVersion('2.0')}">
! <x:condelement tag="description" obj="${plugin}"
property="description"/>
! <x:condelement tag="display-name" obj="${plugin}"
property="displayname"/>
! <x:condelement tag="small-icon" obj="${plugin}"
property="smallicon"/>
! <x:condelement tag="large-icon" obj="${plugin}"
property="largeicon"/>
</j:if>
--- 18,25 ----
<j:if test="${plugin.isMinimumJspVersion('2.0')}">
! <g:condelement tag="description" obj="${plugin}"
property="description"/>
! <g:condelement tag="display-name" obj="${plugin}"
property="displayname"/>
! <g:condelement tag="small-icon" obj="${plugin}"
property="smallicon"/>
! <g:condelement tag="large-icon" obj="${plugin}"
property="largeicon"/>
</j:if>
***************
*** 30,41 ****
<short-name>${plugin.shortname}</short-name>
! <x:condelement tag="uri" obj="${plugin}" property="uri"/>
<j:if test="${plugin.isMaximumJspVersion('1.2')}">
! <x:condelement tag="display-name" obj="${plugin}"
property="displayname"/>
! <x:condelement tag="small-icon" obj="${plugin}"
property="smallicon"/>
! <x:condelement tag="large-icon" obj="${plugin}"
property="largeicon"/>
! <x:condelement tag="description" obj="${plugin}"
property="description"/>
</j:if>
! <x:condelement tag="validator" obj="${plugin}" property="validator"/>
<!-- listeners -->
--- 30,41 ----
<short-name>${plugin.shortname}</short-name>
! <g:condelement tag="uri" obj="${plugin}" property="uri"/>
<j:if test="${plugin.isMaximumJspVersion('1.2')}">
! <g:condelement tag="display-name" obj="${plugin}"
property="displayname"/>
! <g:condelement tag="small-icon" obj="${plugin}"
property="smallicon"/>
! <g:condelement tag="large-icon" obj="${plugin}"
property="largeicon"/>
! <g:condelement tag="description" obj="${plugin}"
property="description"/>
</j:if>
! <g:condelement tag="validator" obj="${plugin}" property="validator"/>
<!-- listeners -->
***************
*** 53,83 ****
<j:if test="${plugin.isMinimumJspVersion('2.0')}">
! <x:condelement tag="description" obj="${tagtag}"
property="description"/>
! <x:condelement tag="display-name" obj="${tagtag}"
property="display-name"/>
! <x:condelement tag="small-icon" obj="${tagtag}"
property="small-icon"/>
! <x:condelement tag="large-icon" obj="${tagtag}"
property="large-icon"/>
</j:if>
<name>${tagtag.getNamedParameter('name')}</name>
<tag-class>${tag.fullyQualifiedName}</tag-class>
! <x:condelement tag="tei-class" doclettag="${tagtag}"
property="tei-class"/>
! <x:condelement tag="body-content" doclettag="${tagtag}"
property="body-content"/>
<j:if test="${plugin.isMaximumJspVersion('1.2')}">
! <x:condelement tag="display-name" doclettag="${tagtag}"
property="display-name"/>
! <x:condelement tag="small-icon" doclettag="${tagtag}"
property="small-icon"/>
! <x:condelement tag="large-icon" doclettag="${tagtag}"
property="large-icon"/>
! <x:condelement tag="description" doclettag="${tagtag}"
property="description"/>
</j:if>
<j:forEach var="var"
items="${tag.getTagsByName('jsp.variable')}">
<variable>
<j:if test="${plugin.isMinimumJspVersion('2.0')}">
! <x:condelement tag="description"
doclettag="${var}" property="description"/>
</j:if>
! <x:condelement tag="name-given" doclettag="${var}"
property="name-given"/>
! <x:condelement tag="name-from-attribute"
doclettag="${var}" property="name-from-attribute"/>
! <x:condelement tag="variable-class"
doclettag="${var}" property="class"/>
! <x:condelement tag="declare" doclettag="${var}"
property="declare"/>
! <x:condelement tag="scope" doclettag="${var}"
property="scope"/>
<j:if test="${plugin.isMaximumJspVersion('1.2')}">
! <x:condelement tag="description"
doclettag="${var}" property="description"/>
</j:if>
</variable>
--- 53,83 ----
<j:if test="${plugin.isMinimumJspVersion('2.0')}">
! <g:condelement tag="description" obj="${tagtag}"
property="description"/>
! <g:condelement tag="display-name" obj="${tagtag}"
property="display-name"/>
! <g:condelement tag="small-icon" obj="${tagtag}"
property="small-icon"/>
! <g:condelement tag="large-icon" obj="${tagtag}"
property="large-icon"/>
</j:if>
<name>${tagtag.getNamedParameter('name')}</name>
<tag-class>${tag.fullyQualifiedName}</tag-class>
! <g:condelement tag="tei-class" doclettag="${tagtag}"
property="tei-class"/>
! <g:condelement tag="body-content" doclettag="${tagtag}"
property="body-content"/>
<j:if test="${plugin.isMaximumJspVersion('1.2')}">
! <g:condelement tag="display-name" doclettag="${tagtag}"
property="display-name"/>
! <g:condelement tag="small-icon" doclettag="${tagtag}"
property="small-icon"/>
! <g:condelement tag="large-icon" doclettag="${tagtag}"
property="large-icon"/>
! <g:condelement tag="description" doclettag="${tagtag}"
property="description"/>
</j:if>
<j:forEach var="var"
items="${tag.getTagsByName('jsp.variable')}">
<variable>
<j:if test="${plugin.isMinimumJspVersion('2.0')}">
! <g:condelement tag="description"
doclettag="${var}" property="description"/>
</j:if>
! <g:condelement tag="name-given" doclettag="${var}"
property="name-given"/>
! <g:condelement tag="name-from-attribute"
doclettag="${var}" property="name-from-attribute"/>
! <g:condelement tag="variable-class"
doclettag="${var}" property="class"/>
! <g:condelement tag="declare" doclettag="${var}"
property="declare"/>
! <g:condelement tag="scope" doclettag="${var}"
property="scope"/>
<j:if test="${plugin.isMaximumJspVersion('1.2')}">
! <g:condelement tag="description"
doclettag="${var}" property="description"/>
</j:if>
</variable>
***************
*** 87,98 ****
<attribute>
<j:if test="${plugin.isMinimumJspVersion('2.0')}">
! <x:condelement tag="description"
doclettag="${attr}" property="description"/>
</j:if>
<name>${attrMethod.propertyName}</name>
! <x:condelement tag="required" doclettag="${attr}"
property="required"/>
! <x:condelement tag="rtexprvalue" doclettag="${attr}"
property="rtexprvalue"/>
! <x:condelement tag="type" doclettag="${attr}"
property="type"/>
<j:if test="${plugin.isMaximumJspVersion('1.2')}">
! <x:condelement tag="description"
doclettag="${attr}" property="description"/>
</j:if>
</attribute>
--- 87,98 ----
<attribute>
<j:if test="${plugin.isMinimumJspVersion('2.0')}">
! <g:condelement tag="description"
doclettag="${attr}" property="description"/>
</j:if>
<name>${attrMethod.propertyName}</name>
! <g:condelement tag="required" doclettag="${attr}"
property="required"/>
! <g:condelement tag="rtexprvalue" doclettag="${attr}"
property="rtexprvalue"/>
! <g:condelement tag="type" doclettag="${attr}"
property="type"/>
<j:if test="${plugin.isMaximumJspVersion('1.2')}">
! <g:condelement tag="description"
doclettag="${attr}" property="description"/>
</j:if>
</attribute>
Index: WebPlugin.java
===================================================================
RCS file:
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-web/src/main/java/org/xdoclet/plugin/web/WebPlugin.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** WebPlugin.java 19 Jan 2006 23:49:23 -0000 1.24
--- WebPlugin.java 24 Sep 2006 11:58:57 -0000 1.25
***************
*** 19,204 ****
/**
! *
* TODO : check qtags, xtags
! *
! * TODO: add getMetadataProvider() to AbstractPlugin instead of keeping the
allClass reference ?
! *
* TODO : validate generated XML ?
! *
! * TODO : mandatory tags/attributes? (filter-name, filter-class,
filter-mapping, ...)
! *
! * TODO : filter-mapping: check that a mapping has only of one url-pattern or
servlet-name
! * TODO : filter-mapping: check that a servlet-name mapping points to an
existing servlet? i wouldn't do it, because
! * a servlet might be declared in a merge file.
! *
! * @author Grégory Joseph
! * @author Aslak Hellesøy
! * @version $Revision$
*/
public class WebPlugin extends QDoxPlugin {
- private String publicId = WebUtils.WEBXML_PUBLIC_ID_2_3;
- private String systemId = WebUtils.WEBXML_SYSTEM_ID_2_3;
! private static Map filterInterface = new HashMap();
! static {
! filterInterface.put(WebUtils.SERVLET_23, new
String[]{"javax.servlet.Filter"});
! filterInterface.put(WebUtils.SERVLET_24, new
String[]{"javax.servlet.Filter"});
! }
! private static String servletInterface = "javax.servlet.Servlet";
! private static String[] allWebInterfaces = {"javax.servlet.Filter",
servletInterface,
!
"javax.servlet.ServletContextAttributeListener",
"javax.servlet.ServletContextListener",
!
"javax.servlet.ServletRequestAttributeListener",
"javax.servlet.ServletRequestListener",
!
"javax.servlet.http.HttpSessionActivationListener",
"javax.servlet.http.HttpSessionAttributeListener",
!
"javax.servlet.http.HttpSessionBindingListener",
"javax.servlet.http.HttpSessionListener"}; // TODO avoid repeating
listenerInterfaces
! private WebUtils webUtils;
! private String servletversion = WebUtils.SERVLET_23;
! protected File mergeDir;
! public WebPlugin(JellyTemplateEngine jellyTemplateEngine,
QDoxCapableMetadataProvider metadataProvider, WriterMapper writerMapper) {
! super(jellyTemplateEngine, metadataProvider, writerMapper);
! setMultioutput(false);
! setFilereplace("web.xml");
! setOutputValidator(new XMLOutputValidator(WebUtils.DTDs));
! new TagLibrary(metadataProvider);
! }
! //== plugin attributes ==
! public String getServletversion() {
! return servletversion;
! }
! public void setServletversion(String servletversion) {
! this.servletversion = servletversion;
! }
! //== util methods used by jelly script ==
! public WebUtils getWebUtils() {
! if (webUtils == null) {
! webUtils = new WebUtils(servletversion);
! }
! return webUtils;
! }
! // TODO : this is to be replaced by an XmlDocVersion class
! public boolean needsDoctype() {
! return !getWebUtils().isMinimumServletVersion(WebUtils.SERVLET_24);
! }
! public boolean needsSchema() {
! return getWebUtils().isMinimumServletVersion(WebUtils.SERVLET_24);
! }
! public String getSchemaXmlNs() {
! return needsSchema() ? "http://java.sun.com/xml/ns/j2ee" : null;
! }
! public String getSchemaXmlNsXsi() {
! return needsSchema() ? "http://www.w3.org/2001/XMLSchema-instance" :
null;
! }
! public String getSchemaXsiSchemaLocation() {
! return needsSchema() ? "http://java.sun.com/xml/ns/j2ee " +
WebUtils.WEBXML_SCHEMA_2_4 : null;
! }
! /**
! * Returns an ordered collection of all the filters passed to the plugin.
! *
! * TODO: document the "order" attribute.
! * TODO: more test cases with order? maybe not xmltestcases then, but
smaller units..
! * TODO: use "before"&"after" attributes instead of "order" ?
! *
! * TODO : return empty collection if servlet-api-version < 2.3
! *
! * @return
! * @see ClassTagPredicate used to filter out non-filters
! * @see ClassAttributeComparator used to sort filters
! */
! public Collection getFilters() {
! // filter out non-filter classes
! ArrayList filters = new ArrayList();
! String[] interfaces = (String[]) filterInterface.get(servletversion);
! if (interfaces != null) {
! Predicate predicate = new ClassTagPredicate(interfaces,
"web.filter");
! CollectionUtils.select(metadataProvider.getMetadata(), predicate,
filters);
! // sort filters by the order attribute of the @web.filter tag
! Collections.sort(filters, new
ClassAttributeComparator("web.filter", "order"));
! }
! return filters;
! }
! public Collection getServlets() {
! ArrayList servlets = new ArrayList();
! Predicate predicate = new ClassTagPredicate(servletInterface,
"web.servlet");
! CollectionUtils.select(metadataProvider.getMetadata(), predicate,
servlets);
! // sort servlets by the order attribute of the @web.servlet tag
! Collections.sort(servlets, new
ClassAttributeComparator("web.servlet", "order"));
! return servlets;
! }
! /**
! * TODO : cache the result of this? (maybe it's one of the reasons the
plugin is slow??)
! */
! public Collection getAllWebClasses() {
! ArrayList all = new ArrayList();
! Predicate predicate = new ClassTagPredicate(allWebInterfaces);
! CollectionUtils.select(metadataProvider.getMetadata(), predicate,
all);
! // TODO: any order for this? maybe by classname.
! return metadataProvider.getMetadata();
! }
! public boolean needsServletRunAs(DocletTag tag) {
! return (tag.getNamedParameter("run-as") != null)
! && (servletversion.compareTo(WebUtils.SERVLET_23)>=0);
! }
! public String getPublicId() {
! return publicId;
! }
! public String getSystemId() {
! return systemId;
! }
! /**
! * Setter for mergeDir property
! *
! * @param mergeDir The value for the property
! */
! public void setMergedir(File mergeDir) {
! this.mergeDir = mergeDir;
! }
! /**
! * Utility method called from jelly script to resolve a mergeFile
reference
! *
! * @param mergeFile The mergeFile to look for
! *
! * @return A File for mergeFile
! */
! public File getMergeFile(String mergeFile) {
! if ((mergeFile != null) && (mergeDir != null) &&
mergeDir.isDirectory()) {
! // The listing of mergeDir's files avoid possibly security issues
in path resolving (paranoid?)
! File[] files = mergeDir.listFiles();
! for (int i = 0; i < files.length; i++) {
! if (mergeFile.trim().equals(files[i].getName())) {
! return files[i];
! }
! }
! }
! return null;
! }
}
--- 19,245 ----
/**
! *
* TODO : check qtags, xtags
! *
! * TODO: add getMetadataProvider() to AbstractPlugin instead of keeping the
! * allClass reference ?
! *
* TODO : validate generated XML ?
! *
! * TODO : mandatory tags/attributes? (filter-name, filter-class,
filter-mapping,
! * ...)
! *
! * TODO : filter-mapping: check that a mapping has only of one url-pattern or
! * servlet-name TODO : filter-mapping: check that a servlet-name mapping
points
! * to an existing servlet? i wouldn't do it, because a servlet might be
declared
! * in a merge file.
! *
! * @author Grégory Joseph
! * @author Aslak Hellesøy
! * @version $Revision$
*/
public class WebPlugin extends QDoxPlugin {
! private static String[] allWebInterfaces = { "javax.servlet.Filter",
! "javax.servlet.Servlet",
"javax.servlet.ServletContextAttributeListener",
! "javax.servlet.ServletContextListener",
! "javax.servlet.ServletRequestAttributeListener",
! "javax.servlet.ServletRequestListener",
! "javax.servlet.http.HttpSessionActivationListener",
! "javax.servlet.http.HttpSessionAttributeListener",
! "javax.servlet.http.HttpSessionBindingListener",
! "javax.servlet.http.HttpSessionListener" }; // TODO
avoid repeating
!
// listenerInterfaces
! private static Map filterInterface = new HashMap();
! static {
! filterInterface.put(WebUtils.SERVLET_23,
! new String[] { "javax.servlet.Filter" });
! filterInterface.put(WebUtils.SERVLET_24,
! new String[] { "javax.servlet.Filter" });
! }
! protected String mergeDir;
! private String publicId = WebUtils.WEBXML_PUBLIC_ID_2_3;
! private String servletversion = WebUtils.SERVLET_23;
! private String systemId = WebUtils.WEBXML_SYSTEM_ID_2_3;
! private WebUtils webUtils;
! public WebPlugin(JellyTemplateEngine jellyTemplateEngine,
! QDoxCapableMetadataProvider metadataProvider,
! WriterMapper writerMapper) {
! super(jellyTemplateEngine, metadataProvider, writerMapper);
! setMultioutput(false);
! setFilereplace("web.xml");
! setOutputValidator(new XMLOutputValidator(WebUtils.DTDs));
! new TagLibrary(metadataProvider);
! }
! /**
! * TODO : cache the result of this? (maybe it's one of the reasons the
! * plugin is slow??)
! */
! public Collection getAllWebClasses() {
! ArrayList all = new ArrayList();
! Predicate predicate = new ClassTagPredicate(allWebInterfaces);
! CollectionUtils.select(metadataProvider.getMetadata(),
predicate, all);
! // TODO: any order for this? maybe by classname.
! return metadataProvider.getMetadata();
! }
! /**
! * base path to resource directory containing resources to be merged
they
! * shall be made available on class path
! *
! * @return
! */
! public String getMergeDir() {
! return mergeDir;
! }
! public void setMergeDir(String mergeDir) {
! this.mergeDir = mergeDir;
! }
! /**
! * Returns an ordered collection of all the filters passed to the
plugin.
! *
! * TODO: document the "order" attribute. TODO: more test cases with
order?
! * maybe not xmltestcases then, but smaller units.. TODO: use
! * "before"&"after" attributes instead of "order" ?
! *
! * TODO : return empty collection if servlet-api-version < 2.3
! *
! * @return
! * @see ClassTagPredicate used to filter out non-filters
! * @see ClassAttributeComparator used to sort filters
! */
! public Collection getFilters() {
! // filter out non-filter classes
! ArrayList filters = new ArrayList();
! String[] interfaces = (String[])
filterInterface.get(servletversion);
! if (interfaces != null) {
! Predicate predicate = new ClassTagPredicate(interfaces,
! "web.filter");
! CollectionUtils.select(metadataProvider.getMetadata(),
predicate,
! filters);
! // sort filters by the order attribute of the
@web.filter tag
! Collections.sort(filters, new ClassAttributeComparator(
! "web.filter", "order"));
! }
! return filters;
! }
! /**
! * Utility method called from jelly script to resolve a mergeFile
reference
! *
! * @param mergeFile
! * The mergeFile to look for
! *
! * @return A File for mergeFile
! */
! // public File getMergeFile(String mergeFile) {
! // if ((mergeFile != null) && (mergeDir != null) &&
mergeDir.isDirectory()) {
! // // The listing of mergeDir's files avoid possibly
security issues in
! // // path resolving (paranoid?)
! // File[] files = mergeDir.listFiles();
! //
! // for (int i = 0; i < files.length; i++) {
! // if
(mergeFile.trim().equals(files[i].getName())) {
! // return files[i];
! // }
! // }
! // }
! //
! // return null;
! // }
! public String getPublicId() {
! return publicId;
! }
! public String getSchemaXmlNs() {
! return needsSchema() ? "http://java.sun.com/xml/ns/j2ee" : null;
! }
! public String getSchemaXmlNsXsi() {
! return needsSchema() ?
"http://www.w3.org/2001/XMLSchema-instance"
! : null;
! }
! public String getSchemaXsiSchemaLocation() {
! return needsSchema() ? "http://java.sun.com/xml/ns/j2ee "
! + WebUtils.WEBXML_SCHEMA_2_4 : null;
! }
! public Collection getServlets() {
! ArrayList servlets = new ArrayList();
! Predicate predicate = new
ClassTagPredicate("javax.servlet.Servlet",
! "web.servlet");
! CollectionUtils.select(metadataProvider.getMetadata(),
predicate,
! servlets);
! // sort servlets by the order attribute of the @web.servlet tag
! Collections.sort(servlets, new
ClassAttributeComparator("web.servlet",
! "order"));
! return servlets;
! }
! // == plugin attributes ==
! public String getServletversion() {
! return servletversion;
! }
! public String getSystemId() {
! return systemId;
! }
! // == util methods used by jelly script ==
! public WebUtils getWebUtils() {
! if (webUtils == null) {
! webUtils = new WebUtils(servletversion);
! }
! return webUtils;
! }
! // TODO : this is to be replaced by an XmlDocVersion class
! public boolean needsDoctype() {
! return
!getWebUtils().isMinimumServletVersion(WebUtils.SERVLET_24);
! }
!
! public boolean needsSchema() {
! return
getWebUtils().isMinimumServletVersion(WebUtils.SERVLET_24);
! }
!
! public boolean needsServletRunAs(DocletTag tag) {
! return (tag.getNamedParameter("run-as") != null)
! &&
(servletversion.compareTo(WebUtils.SERVLET_23) >= 0);
! }
!
! /**
! * Setter for mergeDir property
! *
! * @param mergeDir
! * The value for the property
! */
! public void setMergedir(String mergeDir) {
! this.mergeDir = mergeDir;
! }
!
! public void setServletversion(String servletversion) {
! this.servletversion = servletversion;
! }
}
Index: WebPlugin.jelly
===================================================================
RCS file:
/cvsroot/xdoclet-plugins/xdoclet-plugins/plugin-web/src/main/java/org/xdoclet/plugin/web/WebPlugin.jelly,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** WebPlugin.jelly 19 Jan 2006 23:49:23 -0000 1.21
--- WebPlugin.jelly 24 Sep 2006 11:58:57 -0000 1.22
***************
*** 1,6 ****
<?xml version="1.0" encoding="UTF-8"?>
! <j:jelly xmlns:j="jelly:core" xmlns:jxml="jelly:xml" xmlns:d="jelly:define"
! xmlns:x="jelly:org.xdoclet.plugin.web.jelly.XdocletTaglib">
<!--macros-->
--- 1,6 ----
<?xml version="1.0" encoding="UTF-8"?>
! <j:jelly xmlns:j="jelly:core" xmlns:x="jelly:xml" xmlns:d="jelly:define"
! xmlns:g="jelly:org.generama.jelly.GeneramaTaglib">
<!--macros-->
***************
*** 8,17 ****
<init-param>
<j:if test="${plugin.webUtils.isMinimumServletVersion('2.4')}">
! <x:condelement tag="description" doclettag="${param}"
property="description"/>
</j:if>
<param-name>${param.getNamedParameter("name")}</param-name>
<param-value>${param.getNamedParameter("value")}</param-value>
<j:if test="${plugin.webUtils.isMaximumServletVersion('2.3')}">
! <x:condelement tag="description" doclettag="${param}"
property="description"/>
</j:if>
</init-param>
--- 8,17 ----
<init-param>
<j:if test="${plugin.webUtils.isMinimumServletVersion('2.4')}">
! <g:condelement tag="description" doclettag="${param}"
property="description"/>
</j:if>
<param-name>${param.getNamedParameter("name")}</param-name>
<param-value>${param.getNamedParameter("value")}</param-value>
<j:if test="${plugin.webUtils.isMaximumServletVersion('2.3')}">
! <g:condelement tag="description" doclettag="${param}"
property="description"/>
</j:if>
</init-param>
***************
*** 24,30 ****
<j:if test="${plugin.needsDoctype()}">
! <jxml:doctype name="web-app"
! publicId="${plugin.publicId}"
! systemId="${plugin.systemId}"/>
</j:if>
--- 24,30 ----
<j:if test="${plugin.needsDoctype()}">
! <x:doctype name="web-app"
! publicId="${plugin.publicId}"
! systemId="${plugin.systemId}"/>
</j:if>
***************
*** 32,259 ****
<!-- TODO : check exactly what parameters are mandatory or not, esp. with
ejb-reb and such -->
! <jxml:element URI="${plugin.schemaXmlNs}" name="web-app">
<j:if test="${plugin.needsSchema()}">
! <jxml:attribute URI="${plugin.schemaXmlNsXsi}"
name="xsi:schemaLocation"
trim="true">${plugin.schemaXsiSchemaLocation}</jxml:attribute>
! <jxml:attribute name="version"
trim="true">${plugin.servletversion}</jxml:attribute>
</j:if>
! <jxml:replaceNamespace toURI="${plugin.schemaXmlNs}">
<!--TODO : distributable : add this tag conditionaly/-->
<!-- filters -->
! <j:forEach var="filter" items="${plugin.filters}">
! <filter>
! <j:set var="item"
value="${filter.getTagByName('web.filter')}"/>
! <j:if
test="${plugin.webUtils.isMinimumServletVersion('2.4')}">
! <x:condelement tag="description" doclettag="${item}"
property="description"/>
! <x:condelement tag="display-name" doclettag="${item}"
property="display-name"/>
! </j:if>
! <j:if test="${item.getNamedParameter('icon') != null}">
! <icon>
!
<small-icon>${item.getNamedParameter('icon')}</small-icon>
! </icon>
! </j:if>
! <filter-name>${item.getNamedParameter('name')}</filter-name>
! <j:if
test="${plugin.webUtils.isMaximumServletVersion('2.3')}">
! <x:condelement tag="display-name" doclettag="${item}"
property="display-name"/>
! <x:condelement tag="description" doclettag="${item}"
property="description"/>
! </j:if>
! <filter-class>${filter.fullyQualifiedName}</filter-class>
! <j:forEach var="param"
items="${filter.getTagsByName('web.filter-init-param')}">
! <d:invoke script="${init_param}"/>
! </j:forEach>
! </filter>
! </j:forEach>
! <j:choose>
! <j:when test="${plugin.getMergeFile('filters.xml').exists()}">
! <j:import file="${plugin.getMergeFile('filters.xml').path}"
inherit="true"/>
! </j:when>
! <j:otherwise>
! <jxml:comment trim="false">To add filters that you have
deployment descriptor info for, add a file to your XDoclet merge directory
called filters.xml that contains the <filter></filter> markup for those
beans.</jxml:comment>
! </j:otherwise>
! </j:choose>
!
<!-- filter-mappings -->
! <j:forEach var="filter" items="${plugin.filters}">
! <j:forEach var="mapping"
items="${filter.getTagsByName('web.filter-mapping')}">
! <filter-mapping>
!
<filter-name>${filter.getNamedParameter("web.filter","name")}</filter-name>
! <x:condelement tag="url-pattern" doclettag="${mapping}"
property="url-pattern"/>
! <x:condelement tag="servlet-name" doclettag="${mapping}"
property="servlet-name"/>
! </filter-mapping>
</j:forEach>
! </j:forEach>
! <j:choose>
! <j:when
test="${plugin.getMergeFile('filter-mappings.xml').exists()}">
! <j:import
file="${plugin.getMergeFile('filter-mappings.xml').path}" inherit="true"/>
! </j:when>
! <j:otherwise>
! <jxml:comment trim="false">To add filters that you have
deployment descriptor info for, add a file to your XDoclet merge directory
called filter-mappings.xml that contains the
<filter-mappings></filter-mappings> markup for those beans.</jxml:comment>
! </j:otherwise>
! </j:choose>
<!-- listeners -->
! <j:forEach var="listener"
items="${plugin.webUtils.getListeners(metadata)}">
! <listener>
!
<listener-class>${listener.fullyQualifiedName}</listener-class>
! </listener>
! </j:forEach>
<!-- servlets -->
! <j:forEach var="servlet" items="${plugin.servlets}">
! <j:set var="item" value="${servlet.getTagByName('web.servlet')}"/>
! <servlet>
! <j:if
test="${plugin.webUtils.isMinimumServletVersion('2.4')}">
! <x:condelement tag="description" doclettag="${item}"
property="description"/>
! <x:condelement tag="display-name" doclettag="${item}"
property="display-name"/>
! </j:if>
!
<servlet-name>${servlet.getNamedParameter("web.servlet","name")}</servlet-name>
! <j:if
test="${plugin.webUtils.isMaximumServletVersion('2.3')}">
! <x:condelement tag="display-name" doclettag="${item}"
property="display-name"/>
! <x:condelement tag="description" doclettag="${item}"
property="description"/>
! </j:if>
! <servlet-class>${servlet.fullyQualifiedName}</servlet-class>
! <j:forEach var="param"
items="${servlet.getTagsByName('web.servlet-init-param')}">
! <d:invoke script="${init_param}"/>
! </j:forEach>
! <x:condelement tag="load-on-startup" doclettag="${item}"
property="load-on-startup"/>
! <j:if test="${plugin.needsServletRunAs(item)}">
! <run-as>
!
<role-name>${item.getNamedParameter('run-as')}</role-name>
! </run-as>
! </j:if>
<!-- security-roles references -->
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.security-role-ref')}">
! <security-role-ref>
! <x:condelement tag="description"
doclettag="${item}" property="description"/>
!
<role-name>${item.getNamedParameter('role-name')}</role-name>
!
<role-link>${item.getNamedParameter('role-link')}</role-link>
! </security-role-ref>
</j:forEach>
! </j:forEach>
! </servlet>
! </j:forEach>
! <j:choose>
! <j:when test="${plugin.getMergeFile('servlets.xml').exists()}">
! <j:import file="${plugin.getMergeFile('servlets.xml').path}"
inherit="true"/>
! </j:when>
! <j:otherwise>
! <jxml:comment trim="false">To add filters that you have
deployment descriptor info for, add a file to your XDoclet merge directory
called servlets.xml that contains the <servlet></servlet> markup for those
beans.</jxml:comment>
! </j:otherwise>
! </j:choose>
<!-- servlet-mappings -->
! <j:forEach var="servlet" items="${plugin.servlets}">
! <j:forEach var="mapping"
items="${servlet.getTagsByName('web.servlet-mapping')}">
! <servlet-mapping>
!
<servlet-name>${servlet.getNamedParameter("web.servlet","name")}</servlet-name>
! <x:condelement tag="url-pattern" doclettag="${mapping}"
property="url-pattern"/>
! </servlet-mapping>
</j:forEach>
! </j:forEach>
! <j:choose>
! <j:when
test="${plugin.getMergeFile('servlet-mappings.xml').exists()}">
! <j:import
file="${plugin.getMergeFile('servlet-mappings.xml').path}" inherit="true"/>
! </j:when>
! <j:otherwise>
! <jxml:comment trim="false">To add filters that you have
deployment descriptor info for, add a file to your XDoclet merge directory
called servlet-mappings.xml that contains the
<servlet-mappings></servlet-mappings> markup for those beans.</jxml:comment>
! </j:otherwise>
! </j:choose>
<!-- resource env references -->
! <j:if test="${plugin.webUtils.isMinimumServletVersion('2.3')}">
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.resource-env-ref')}">
! <resource-env-ref>
! <x:condelement tag="description" doclettag="${item}"
property="description"/>
!
<resource-env-ref-name>${item.getNamedParameter('name')}</resource-env-ref-name>
!
<resource-env-ref-type>${item.getNamedParameter('type')}</resource-env-ref-type>
! </resource-env-ref>
</j:forEach>
! </j:forEach>
! </j:if>
<!-- resource references -->
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.resource-ref')}">
! <resource-ref>
! <x:condelement tag="description" doclettag="${item}"
property="description"/>
!
<res-ref-name>${item.getNamedParameter('name')}</res-ref-name>
! <res-type>${item.getNamedParameter('type')}</res-type>
! <res-auth>${item.getNamedParameter('auth')}</res-auth>
! <j:if
test="${plugin.webUtils.isMinimumServletVersion('2.3')}">
! <x:condelement tag="res-sharing-scope"
doclettag="${item}" property="scope"/>
! </j:if>
! </resource-ref>
</j:forEach>
! </j:forEach>
<!-- security-roles -->
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.security-role')}">
! <security-role>
! <x:condelement tag="description" doclettag="${item}"
property="description"/>
!
<role-name>${item.getNamedParameter('role-name')}</role-name>
! </security-role>
</j:forEach>
! </j:forEach>
! <j:choose>
! <j:when
test="${plugin.getMergeFile('web-security.xml').exists()}">
! <j:import
file="${plugin.getMergeFile('web-security.xml').path}" inherit="true"/>
! </j:when>
! <j:otherwise>
! <jxml:comment trim="false">To add filters that you have
deployment descriptor info for, add a file to your XDoclet merge directory
called web-security.xml that contains the <web-security></web-security> markup
for those beans.</jxml:comment>
! </j:otherwise>
! </j:choose>
<!-- env entries -->
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.env-entry')}">
! <env-entry>
! <x:condelement tag="description" doclettag="${item}"
property="description"/>
!
<env-entry-name>${item.getNamedParameter('name')}</env-entry-name>
! <j:if
test="${plugin.webUtils.isMaximumServletVersion('2.3')}">
!
<env-entry-value>${item.getNamedParameter('value')}</env-entry-value>
! </j:if>
!
<env-entry-type>${item.getNamedParameter('type')}</env-entry-type>
! <j:if
test="${plugin.webUtils.isMinimumServletVersion('2.4')}">
!
<env-entry-value>${item.getNamedParameter('value')}</env-entry-value>
! </j:if>
! </env-entry>
</j:forEach>
! </j:forEach>
<!-- ejb refs -->
- <j:forEach var="class" items="${plugin.allWebClasses}">
- <j:forEach var="item"
items="${class.getTagsByName('web.ejb-ref')}">
- <ejb-ref>
- <x:condelement tag="description" doclettag="${item}"
property="description"/>
-
<ejb-ref-name>${item.getNamedParameter('name')}</ejb-ref-name>
-
<ejb-ref-type>${item.getNamedParameter('type')}</ejb-ref-type>
- <home>${item.getNamedParameter('home')}</home>
- <remote>${item.getNamedParameter('remote')}</remote>
- <ejb-link>${item.getNamedParameter('link')}</ejb-link>
- </ejb-ref>
- </j:forEach>
- </j:forEach>
-
- <!-- ejb local refs -->
- <j:if test="${plugin.webUtils.isMinimumServletVersion('2.3')}">
<j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.ejb-local-ref')}">
! <ejb-local-ref>
! <x:condelement tag="description" doclettag="${item}"
property="description"/>
<ejb-ref-name>${item.getNamedParameter('name')}</ejb-ref-name>
<ejb-ref-type>${item.getNamedParameter('type')}</ejb-ref-type>
!
<local-home>${item.getNamedParameter('home')}</local-home>
! <local>${item.getNamedParameter('local')}</local>
! <x:condelement tag="ejb-link" doclettag="${item}"
property="link"/>
! </ejb-local-ref>
</j:forEach>
</j:forEach>
! </j:if>
! </jxml:replaceNamespace>
! </jxml:element>
</j:jelly>
--- 32,308 ----
<!-- TODO : check exactly what parameters are mandatory or not, esp. with
ejb-reb and such -->
! <x:element URI="${plugin.schemaXmlNs}" name="web-app">
<j:if test="${plugin.needsSchema()}">
! <x:attribute URI="${plugin.schemaXmlNsXsi}"
name="xsi:schemaLocation"
trim="true">${plugin.schemaXsiSchemaLocation}</x:attribute>
! <x:attribute name="version"
trim="true">${plugin.servletversion}</x:attribute>
</j:if>
! <x:replaceNamespace toURI="${plugin.schemaXmlNs}">
<!--TODO : distributable : add this tag conditionaly/-->
<!-- filters -->
! <j:forEach var="filter" items="${plugin.filters}">
! <filter>
! <j:set var="item"
value="${filter.getTagByName('web.filter')}"/>
! <j:if
test="${plugin.webUtils.isMinimumServletVersion('2.4')}">
! <g:condelement tag="description" doclettag="${item}"
property="description"/>
! <g:condelement tag="display-name" doclettag="${item}"
property="display-name"/>
! </j:if>
! <j:if test="${item.getNamedParameter('icon') != null}">
! <icon>
!
<small-icon>${item.getNamedParameter('icon')}</small-icon>
! </icon>
! </j:if>
!
<filter-name>${item.getNamedParameter('name')}</filter-name>
! <j:if
test="${plugin.webUtils.isMaximumServletVersion('2.3')}">
! <g:condelement tag="display-name" doclettag="${item}"
property="display-name"/>
! <g:condelement tag="description" doclettag="${item}"
property="description"/>
! </j:if>
! <filter-class>${filter.fullyQualifiedName}</filter-class>
! <j:forEach var="param"
items="${filter.getTagsByName('web.filter-init-param')}">
! <d:invoke script="${init_param}"/>
! </j:forEach>
! </filter>
! </j:forEach>
! <g:merge file="filters.xml">
! <x:comment>
! To add filters that you have deployment descriptor info
for,
! add a file to your XDoclet merge directory called
filters.xml
! that contains the <filter></filter> markup for those
beans.
! Define root element as <j:jelly
xmlns:j="jelly:core"/>
! </x:comment>
! </g:merge>
!
<!-- filter-mappings -->
! <j:forEach var="filter" items="${plugin.filters}">
! <j:forEach var="mapping"
items="${filter.getTagsByName('web.filter-mapping')}">
! <filter-mapping>
!
<filter-name>${filter.getNamedParameter("web.filter","name")}</filter-name>
! <g:condelement tag="url-pattern"
doclettag="${mapping}" property="url-pattern"/>
! <g:condelement tag="servlet-name"
doclettag="${mapping}" property="servlet-name"/>
! </filter-mapping>
! </j:forEach>
</j:forEach>
! <g:merge file="filter-mappings.xml">
! <x:comment>
! To add filter mappings that you have deployment
descriptor info for,
! add a file to your XDoclet merge directory called
filter-mappings.xml
! that contains the <filter-mapping></filter-mapping>
markup for those beans.
! Define root element as <j:jelly
xmlns:j="jelly:core">
! </x:comment>
! </g:merge>
<!-- listeners -->
! <j:forEach var="listener"
items="${plugin.webUtils.getListeners(metadata)}">
! <listener>
!
<listener-class>${listener.fullyQualifiedName}</listener-class>
! </listener>
! </j:forEach>
! <g:merge file="listeners.xml">
! <x:comment>
! To add listener definitions that you have deployment
descriptor info for,
! add a file to your XDoclet merge directory called
listeners.xml
! that contains the <listener></listener> markup for those
beans.
! Define root element as <j:jelly
xmlns:j="jelly:core">
! </x:comment>
! </g:merge>
<!-- servlets -->
! <j:forEach var="servlet" items="${plugin.servlets}">
! <j:set var="item"
value="${servlet.getTagByName('web.servlet')}"/>
! <servlet>
! <j:if
test="${plugin.webUtils.isMinimumServletVersion('2.4')}">
! <g:condelement tag="description" doclettag="${item}"
property="description"/>
! <g:condelement tag="display-name" doclettag="${item}"
property="display-name"/>
! </j:if>
!
<servlet-name>${servlet.getNamedParameter("web.servlet","name")}</servlet-name>
! <j:if
test="${plugin.webUtils.isMaximumServletVersion('2.3')}">
! <g:condelement tag="display-name" doclettag="${item}"
property="display-name"/>
! <g:condelement tag="description" doclettag="${item}"
property="description"/>
! </j:if>
!
<servlet-class>${servlet.fullyQualifiedName}</servlet-class>
! <j:forEach var="param"
items="${servlet.getTagsByName('web.servlet-init-param')}">
! <d:invoke script="${init_param}"/>
! </j:forEach>
! <g:condelement tag="load-on-startup" doclettag="${item}"
property="load-on-startup"/>
! <j:if test="${plugin.needsServletRunAs(item)}">
! <run-as>
!
<role-name>${item.getNamedParameter('run-as')}</role-name>
! </run-as>
! </j:if>
<!-- security-roles references -->
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.security-role-ref')}">
! <security-role-ref>
! <g:condelement tag="description"
doclettag="${item}" property="description"/>
!
<role-name>${item.getNamedParameter('role-name')}</role-name>
!
<role-link>${item.getNamedParameter('role-link')}</role-link>
! </security-role-ref>
! </j:forEach>
</j:forEach>
! </servlet>
! </j:forEach>
! <g:merge file="servlets.xml">
! <x:comment>
! To add servlets that you have deployment descriptor info
for,
! add a file to your XDoclet merge directory called
servlets.xml
! that contains the <servlet></servlet> markup for those
beans.
! Define root element as <j:jelly
xmlns:j="jelly:core">
! </x:comment>
! </g:merge>
<!-- servlet-mappings -->
! <j:forEach var="servlet" items="${plugin.servlets}">
! <j:forEach var="mapping"
items="${servlet.getTagsByName('web.servlet-mapping')}">
! <servlet-mapping>
!
<servlet-name>${servlet.getNamedParameter("web.servlet","name")}</servlet-name>
! <g:condelement tag="url-pattern"
doclettag="${mapping}" property="url-pattern"/>
! </servlet-mapping>
! </j:forEach>
</j:forEach>
! <g:merge file="servlet-mapings.xml">
! <x:comment>
! To add filters that you have deployment descriptor info
for,
! add a file to your XDoclet merge directory called
filters.xml
! that contains the <servlet-mapping></servlet-mapping>
markup for
! those beans. Define root element as <j:jelly
xmlns:j="jelly:core">
! </x:comment>
! </g:merge>
<!-- resource env references -->
! <j:if test="${plugin.webUtils.isMinimumServletVersion('2.3')}">
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.resource-env-ref')}">
! <resource-env-ref>
! <g:condelement tag="description"
doclettag="${item}" property="description"/>
!
<resource-env-ref-name>${item.getNamedParameter('name')}</resource-env-ref-name>
!
<resource-env-ref-type>${item.getNamedParameter('type')}</resource-env-ref-type>
! </resource-env-ref>
! </j:forEach>
</j:forEach>
! </j:if>
! <g:merge file="resource-env-ref.xml">
! <x:comment>
! To add resource env refenrences that you have deployment
descriptor info for,
! add a file to your XDoclet merge directory called
resource-env-ref.xml
! that contains the <resource-env-ref></resource-env-ref>
markup.
! Define root element as <j:jelly
xmlns:j="jelly:core">
! </x:comment>
! </g:merge>
<!-- resource references -->
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.resource-ref')}">
! <resource-ref>
! <g:condelement tag="description" doclettag="${item}"
property="description"/>
!
<res-ref-name>${item.getNamedParameter('name')}</res-ref-name>
! <res-type>${item.getNamedParameter('type')}</res-type>
! <res-auth>${item.getNamedParameter('auth')}</res-auth>
! <j:if
test="${plugin.webUtils.isMinimumServletVersion('2.3')}">
! <g:condelement tag="res-sharing-scope"
doclettag="${item}" property="scope"/>
! </j:if>
! </resource-ref>
! </j:forEach>
</j:forEach>
! <g:merge file="resource-ref.xml">
! <x:comment>
! To add filter mappings that you have deployment
descriptor info for,
! add a file to your XDoclet merge directory called
filter-mappings.xml
! that contains the <resource-ref></resource-ref> markup
for those beans.
! Define root element as <j:jelly
xmlns:j="jelly:core">
! </x:comment>
! </g:merge>
<!-- security-roles -->
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.security-role')}">
! <security-role>
! <g:condelement tag="description" doclettag="${item}"
property="description"/>
!
<role-name>${item.getNamedParameter('role-name')}</role-name>
! </security-role>
! </j:forEach>
</j:forEach>
! <g:merge file="web-security.xml">
! <x:comment>
! To add information about security roles that you have
deployment descriptor info for,
! add a file to your XDoclet merge directory called
web-security.xml
! that contains the <security-role></security-role> markup.
! Define root element as <j:jelly
xmlns:j="jelly:core">
! </x:comment>
! </g:merge>
<!-- env entries -->
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.env-entry')}">
! <env-entry>
! <g:condelement tag="description" doclettag="${item}"
property="description"/>
!
<env-entry-name>${item.getNamedParameter('name')}</env-entry-name>
! <j:if
test="${plugin.webUtils.isMaximumServletVersion('2.3')}">
!
<env-entry-value>${item.getNamedParameter('value')}</env-entry-value>
! </j:if>
!
<env-entry-type>${item.getNamedParameter('type')}</env-entry-type>
! <j:if
test="${plugin.webUtils.isMinimumServletVersion('2.4')}">
!
<env-entry-value>${item.getNamedParameter('value')}</env-entry-value>
! </j:if>
! </env-entry>
! </j:forEach>
</j:forEach>
! <g:merge file="env-entries.xml">
! <x:comment>
! To add environment entries that you have deployment
descriptor info for,
! add a file to your XDoclet merge directory called
env-entries.xml
! that contains the <env-entry></env-entry> markup for
those beans.
! Define root element as <j:jelly
xmlns:j="jelly:core">
! </x:comment>
! </g:merge>
<!-- ejb refs -->
<j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.ejb-ref')}">
! <ejb-ref>
! <g:condelement tag="description" doclettag="${item}"
property="description"/>
<ejb-ref-name>${item.getNamedParameter('name')}</ejb-ref-name>
<ejb-ref-type>${item.getNamedParameter('type')}</ejb-ref-type>
! <home>${item.getNamedParameter('home')}</home>
! <remote>${item.getNamedParameter('remote')}</remote>
! <ejb-link>${item.getNamedParameter('link')}</ejb-link>
! </ejb-ref>
</j:forEach>
</j:forEach>
! <g:merge file="ejb-refs.xml">
! <x:comment>
! To add EJB references that you have deployment descriptor
info for,
! add a file to your XDoclet merge directory called
fejb-refs.xml
! that contains the <ejb-ref></ejb-ref> markup for those
beans.
! Define root element as <j:jelly
xmlns:j="jelly:core">
! </x:comment>
! </g:merge>
!
! <!-- ejb local refs -->
! <j:if test="${plugin.webUtils.isMinimumServletVersion('2.3')}">
! <j:forEach var="class" items="${plugin.allWebClasses}">
! <j:forEach var="item"
items="${class.getTagsByName('web.ejb-local-ref')}">
! <ejb-local-ref>
! <g:condelement tag="description"
doclettag="${item}" property="description"/>
!
<ejb-ref-name>${item.getNamedParameter('name')}</ejb-ref-name>
!
<ejb-ref-type>${item.getNamedParameter('type')}</ejb-ref-type>
!
<local-home>${item.getNamedParameter('home')}</local-home>
! <local>${item.getNamedParameter('local')}</local>
! <g:condelement tag="ejb-link" doclettag="${item}"
property="link"/>
! </ejb-local-ref>
! </j:forEach>
! </j:forEach>
! </j:if>
! <g:merge file="ejb-local-refs.xml">
! <x:comment>
! To add local EJB references that you have deployment
descriptor info for,
! add a file to your XDoclet merge directory called
filter-mappings.xml
! that contains the <ejb-local-ref></ejb-local-ref> markup
for those beans.
! Define root element as <j:jelly
xmlns:j="jelly:core">
! </x:comment>
! </g:merge>
!
! </x:replaceNamespace>
! </x:element>
</j:jelly>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
xdoclet-plugins-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-plugins-commits