costin 01/02/10 18:26:05
Modified: src/share/org/apache/tomcat/modules/config
ContextXmlReader.java
Log:
Fixed few issues with per/context interceptors and the new
syntax.
Revision Changes Path
1.4 +53 -2
jakarta-tomcat/src/share/org/apache/tomcat/modules/config/ContextXmlReader.java
Index: ContextXmlReader.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/config/ContextXmlReader.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ContextXmlReader.java 2001/02/10 16:42:46 1.3
+++ ContextXmlReader.java 2001/02/11 02:26:04 1.4
@@ -108,8 +108,8 @@
xh.setDebug( debug );
// use the same tags for context-local modules
- ServerXmlReader.setTagRules( xh );
- ServerXmlReader.addDefaultTags(cm, xh);
+ setTagRules( xh );
+ addDefaultTags(cm, xh);
setContextRules( xh );
setBackward( xh );
@@ -209,5 +209,56 @@
xh.addChild("setServletLogger",
"org.apache.tomcat.util.log.Logger") );
}
+
+ // --------------------
+
+ public static void setTagRules( XmlMapper xh ) {
+ xh.addRule( "module", new XmlAction() {
+ public void start(SaxContext ctx ) throws Exception {
+ Object elem=ctx.currentObject();
+ AttributeList attributes = ctx.getCurrentAttributes();
+ String name=attributes.getValue("name");
+ String classN=attributes.getValue("javaClass");
+ if( name==null || classN==null ) return;
+ XmlMapper mapper=ctx.getMapper();
+ ContextXmlReader.addTag( mapper, name, classN );
+ }
+ });
+ }
+
+ // read modules.xml, if any, and load taskdefs
+ public static void addDefaultTags( ContextManager cm,
+ XmlMapper xh)
+ throws TomcatException
+ {
+ File f=new File( cm.getHome(), "/conf/modules.xml");
+ if( f.exists() ) {
+ // cm.setNote( "configFile", f.getAbsoluteFile());
+ // cm.setNote( "modules", new Hashtable());
+ ServerXmlReader.loadConfigFile( xh, f, cm );
+ // load module-*.xml
+ Vector v = ServerXmlReader.getUserConfigFiles(f);
+ for (Enumeration e = v.elements();
+ e.hasMoreElements() ; ) {
+ f = (File)e.nextElement();
+ ServerXmlReader.loadConfigFile(xh,f,cm);
+ }
+ }
+ }
+
+ // similar with ant's taskdef
+ public static void addTag( XmlMapper xh, String tag, String classN) {
+
+ tag="Context" + "/" + tag;
+ xh.addRule( tag ,
+ xh.objectCreate( classN, null ));
+ xh.addRule( tag ,
+ xh.setProperties());
+ xh.addRule( tag,
+ xh.addChild( "addInterceptor",
+ "org.apache.tomcat.core.BaseInterceptor"));
+ }
+
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]