You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by mr...@apache.org on 2005/08/20 10:17:07 UTC

svn commit: r234006 - in /struts/sandbox/trunk/ti/core/src: java/org/apache/ti/config/ java/org/apache/ti/devmode/ java/org/apache/ti/processor/ java/org/apache/ti/util/ test/org/apache/ti/config/

Author: mrdon
Date: Sat Aug 20 01:17:03 2005
New Revision: 234006

URL: http://svn.apache.org/viewcvs?rev=234006&view=rev
Log:
 * Refactored template processing to its own service
 * Started looking at how to handle compilation errors

Added:
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/TemplateCompilationProblemHandler.java   (with props)
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/compilationProblems.vm   (with props)
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/TemplateProcessor.java   (with props)
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/VelocityTemplateProcessor.java   (with props)
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/velocity.properties
      - copied unchanged from r233126, struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/velocity.properties
Removed:
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/velocity.properties
Modified:
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/ProcessTagsTask.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/XDocletParser.java
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/spring-config-servlet.xml
    struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/CompilingObjectFactory.java
    struts/sandbox/trunk/ti/core/src/test/org/apache/ti/config/TestXDocletParser.java
    struts/sandbox/trunk/ti/core/src/test/org/apache/ti/config/XDocletTestBase.java

Modified: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/ProcessTagsTask.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/ProcessTagsTask.java?rev=234006&r1=234005&r2=234006&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/ProcessTagsTask.java (original)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/ProcessTagsTask.java Sat Aug 20 01:17:03 2005
@@ -17,6 +17,8 @@
  */
 package org.apache.ti.config;
 
+import org.apache.ti.util.*;
+
 import java.util.List;
 import java.util.ArrayList;
 
@@ -46,8 +48,12 @@
     }
 
     public void execute() {
+        VelocityTemplateProcessor proc = new VelocityTemplateProcessor();
+        proc.init();
+        
         XDocletParser parser = new XDocletParser();
-        parser.init();
+        parser.setTemplateProcessor(proc);
+        
         ProcessTags pt = new ProcessTags();
         pt.setXdocletParser(parser);
 

Modified: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/XDocletParser.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/XDocletParser.java?rev=234006&r1=234005&r2=234006&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/XDocletParser.java (original)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/XDocletParser.java Sat Aug 20 01:17:03 2005
@@ -30,11 +30,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.velocity.Template;
-import org.apache.velocity.VelocityContext;
-import org.apache.velocity.app.VelocityEngine;
-import org.apache.velocity.exception.ResourceNotFoundException;
-import org.apache.velocity.exception.ParseErrorException;
 
 import xjavadoc.XClass;
 import xjavadoc.XMethod;
@@ -42,30 +37,22 @@
 import xjavadoc.filesystem.ReaderFile;
 import xjavadoc.filesystem.XJavadocFile;
 
+import org.apache.ti.util.*;
+
 /**
  *  Processes xdoclet-style tags and uses a velocity template to generate
  *  content.  This class is not thread-safe.
  */
 public class XDocletParser {
 
-    private VelocityEngine velocity = null;
-    private Map templateCache = new HashMap();
     private Map parameters;
+    private TemplateProcessor processor;
     private static final Log log = LogFactory.getLog(XDocletParser.class);
 
-    public void init() {
-        velocity = new VelocityEngine();
-
-        Properties props = new Properties();
-        try {
-            props.load(getClass().getResourceAsStream("velocity.properties"));
-            velocity.init(props);
-        } catch (Exception ex) {
-            log.error("Unable to intialize velocity", ex);
-        }
-
+    public void setTemplateProcessor(TemplateProcessor p) {
+        this.processor = p;
     }
-
+    
     public void setParameters(Map map) {
         this.parameters = map;
     }
@@ -93,34 +80,26 @@
             jdoc.addAbstractFile(className, file);
         }  
  
-        Map contextMap = new HashMap();
+        Map context = new HashMap();
         if (parameters != null) {
-            contextMap.putAll(parameters);
+            context.putAll(parameters);
         }
-        VelocityContext context = new VelocityContext(contextMap);
         
         OutputType output;
         XClass xclass;
-        Template template;
         for (Iterator o = outputs.iterator(); o.hasNext(); ) {
             output = (OutputType)o.next();
-            try {
-                template = velocity.getTemplate(output.getTemplate());
-            } catch (Exception ex) {
-                log.error("Unable to locate or parse template: "+output.getTemplate(), ex);
-                continue;
-            }
             if (output.getFrequency() == output.ONCE) {
-                generateOnce(sources, destRoot, jdoc, output, template, context);
+                generateOnce(sources, destRoot, jdoc, output, context);
             } else {
                 for (Iterator i = sources.iterator(); i.hasNext(); ) {
                     source = (String)i.next();
                     xclass = jdoc.getXClass(getClassName(source));
                    
                     if (output.getFrequency() == output.PER_CONTROLLER) {
-                        generatePerController(source, destRoot, xclass, output, template, context);
+                        generatePerController(source, destRoot, xclass, output, context);
                     } else if (output.getFrequency() == output.PER_ACTION) {
-                        generatePerAction(source, destRoot, xclass, output, template, context);
+                        generatePerAction(source, destRoot, xclass, output, context);
                     }
                 }    
             }
@@ -128,7 +107,7 @@
     }
 
     protected void generateOnce(List sources, File destRoot, XJavaDoc jdoc, 
-                                OutputType output, Template template, VelocityContext context) {
+                                OutputType output, Map context) {
         String source, className;
         XClass xclass;
         Map xclasses = new HashMap();
@@ -140,22 +119,22 @@
         }    
         Writer writer = output.getWriter(destRoot, null, null);
         context.put("xclasses", xclasses);
-        writeOutput(template, writer, context);
+        processor.process(output.getTemplate(), context, writer);
     }
 
 
 
     protected void generatePerController(String source, File destRoot, XClass xclass, 
-                                         OutputType output, Template template, VelocityContext context) {
+                                         OutputType output, Map context) {
         Writer writer = output.getWriter(destRoot, source, null);
         context.put("xclass", xclass);
         context.put("javaFile", source);
-        writeOutput(template, writer, context);
+        processor.process(output.getTemplate(), context, writer);
     }
 
 
     protected void generatePerAction(String source, File destRoot, XClass xclass, 
-                                     OutputType output, Template template, VelocityContext context) {
+                                     OutputType output, Map context) {
         List methods = xclass.getMethods();
         XMethod m;
         Writer writer;
@@ -167,22 +146,8 @@
                 context.put("xmethod", m);
                 context.put("javaFile", source);
 
-                writeOutput(template, writer, context);
+                processor.process(output.getTemplate(), context, writer);
             }    
         }
-    }
-
-    protected void writeOutput(Template template, Writer writer, VelocityContext ctx) {
-        try {
-            template.merge(ctx, writer);
-        } catch (Exception ex) {
-            log.error("Unable to generate output", ex);
-        } finally {
-            if (writer != null) {
-                try {
-                    writer.close(); 
-                } catch (IOException ex) {}
-            }
-        }    
     }
 }

Modified: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/spring-config-servlet.xml
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/spring-config-servlet.xml?rev=234006&r1=234005&r2=234006&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/spring-config-servlet.xml (original)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/config/spring-config-servlet.xml Sat Aug 20 01:17:03 2005
@@ -23,6 +23,7 @@
 
   <bean id="compilingObjectFactory" class="org.apache.ti.processor.CompilingObjectFactory">
     <property name="javaCompiler" ref="javaCompiler" />
+    <property name="compilationProblemHandler" ref="compilationProblemHandler" />
     <property name="srcPath"><value>${ti.srcPath}</value></property>
   </bean>
   
@@ -33,13 +34,21 @@
     <property name="classesPath"><value>${ti.classesPath}</value></property>
   </bean>
   
+  <bean id="templateProcessor" class="org.apache.ti.util.VelocityTemplateProcessor" init-method="init" />
+  
+  <bean id="compilationProblemHandler" class="org.apache.ti.devmode.TemplateCompilationProblemHandler">
+    <property name="templateProcessor" ref="templateProcessor" />
+  </bean> 
+  
   <bean id="actionProxyFactory" class="org.apache.ti.processor.ControllerActionProxyFactory" />
   
   <bean id="processTags" class="org.apache.ti.config.ProcessTags">
     <property name="xdocletParser" ref="xdocletParser" />
   </bean>
 
-  <bean id="xdocletParser" class="org.apache.ti.config.XDocletParser" init-method="init" />
+  <bean id="xdocletParser" class="org.apache.ti.config.XDocletParser">
+    <property name="templateProcessor" ref="templateProcessor" />
+  </bean>
   
   <!-- Chain commands that need DI -->
   <bean id="createActionMapping" class="org.apache.ti.processor.chain.CreateActionMapping">

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/TemplateCompilationProblemHandler.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/TemplateCompilationProblemHandler.java?rev=234006&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/TemplateCompilationProblemHandler.java (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/TemplateCompilationProblemHandler.java Sat Aug 20 01:17:03 2005
@@ -0,0 +1,77 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ti.devmode;
+
+import org.apache.commons.jci.problems.*;
+import java.util.*;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ti.util.*;
+
+
+
+
+/**
+ */
+public class TemplateCompilationProblemHandler implements CompilationProblemHandler {
+    
+    private final static Log log = LogFactory.getLog(TemplateCompilationProblemHandler.class);
+
+    private int errors;
+    private int warnings;
+    private List problems = new ArrayList();
+    private TemplateProcessor processor;
+    private String template = "org/apache/ti/devmode/compilationProblems.vm";
+    
+    public void setTemplateProcessor(TemplateProcessor p) {
+        this.processor = p;
+    }
+    
+    public void handle( final CompilationProblem pProblem ) {
+        problems.add(pProblem);
+        if (pProblem.isError()) {
+            errors++;
+        } else {
+            warnings++;
+        }
+        
+        log.debug(pProblem);
+    }
+    
+    public String getResultPage() {
+        Map ctx = new HashMap();
+        ctx.put("problems", problems);
+        ctx.put("errorCount", new Integer(errors));
+        ctx.put("warningCount", new Integer(warnings));
+        String page = processor.process(template, ctx);
+        return page;
+    }
+    
+    
+    public int getErrorCount() {
+        return errors;
+    }
+    public int getWarningCount() {
+        return warnings;
+    }
+    
+    public void clear() {
+        log.info(getResultPage());
+        errors = 0;
+        warnings = 0;
+        problems.clear();
+    }
+}

Propchange: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/TemplateCompilationProblemHandler.java
------------------------------------------------------------------------------
    svn:executable = *

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/compilationProblems.vm
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/compilationProblems.vm?rev=234006&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/compilationProblems.vm (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/compilationProblems.vm Sat Aug 20 01:17:03 2005
@@ -0,0 +1,34 @@
+<h2>Compilation problems</h2>
+<ul>
+ <li>Errors - $errorCount</li>
+ <li>Warnings - $warningCount</li>
+</ul>
+
+<h3>Errors</h3>
+#foreach ($err in $problems)
+  #if ($err.isError())
+  <p>
+  <code>${err.fileName}:${err.getStartLine}</code> - $err.message
+  <br />
+  Start line:$err.startLine column:${err.startColumn}
+  <br />
+  End line:$err.endLine column:${err.endColumn}
+  </p>
+  <hr />
+  #end
+#end
+
+<h3>Warnings</h3>
+#foreach ($err in $problems)
+  #if (!$err.isError())
+  <p>
+  <code>${err.fileName}:${err.startLine}</code> - $err.message
+  <br />
+  Start line:$err.startLine column:${err.startColumn}
+  <br />
+  End line:$err.endLine column:${err.endColumn}
+  </p>
+  <hr />
+  #end
+#end
+

Propchange: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/devmode/compilationProblems.vm
------------------------------------------------------------------------------
    svn:executable = *

Modified: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/CompilingObjectFactory.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/CompilingObjectFactory.java?rev=234006&r1=234005&r2=234006&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/CompilingObjectFactory.java (original)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/processor/CompilingObjectFactory.java Sat Aug 20 01:17:03 2005
@@ -26,7 +26,9 @@
 
 import java.io.File;
 
-import org.apache.commons.jci.CompilingClassLoader;
+import org.apache.commons.jci.*;
+import org.apache.commons.jci.stores.*;
+import org.apache.commons.jci.problems.*;
 import org.apache.commons.jci.compilers.JavaCompiler;
 
 import org.apache.commons.logging.*;
@@ -40,20 +42,36 @@
     private static final Log log = LogFactory.getLog(CompilingObjectFactory.class);
     private CompilingClassLoader cl;
     private JavaCompiler compiler;
+    private CompilationProblemHandler problemHandler;
 
     public void setJavaCompiler(JavaCompiler jc) {
         this.compiler = jc;
-    }    
+    }   
+    
+    public void setCompilationProblemHandler(CompilationProblemHandler handler) {
+        this.problemHandler = handler;
+    }
     
 
     public void setSrcPath(String src) {
         if (src != null && src.length() > 0) {
             File file = new File(src);
             if (file.exists()) {
+                TransactionalResourceStore store = new TransactionalResourceStore(
+                        new MemoryResourceStore()) {
+                            public void onStart() {
+                                };
+                            public void onStop() {
+                                };
+                        }
+                ;
                 cl = new CompilingClassLoader(
                         Thread.currentThread().getContextClassLoader(), 
                         file,
-                        compiler);
+                        store,
+                        compiler,
+                        problemHandler);
+                cl.start();        
             } else {
                 log.error("Specified source directory, "+src+" doesn't exist");
             }

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/TemplateProcessor.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/TemplateProcessor.java?rev=234006&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/TemplateProcessor.java (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/TemplateProcessor.java Sat Aug 20 01:17:03 2005
@@ -0,0 +1,31 @@
+/*
+ * $Id: SourceResolver.java 230400 2005-08-05 05:13:54Z martinc $
+ *
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ti.util;
+
+import java.util.Map;
+import java.io.Writer;
+
+/**
+ *  Processes a template and generates text output
+ */
+public interface TemplateProcessor {
+    
+    public String process(String path, Map context);
+    
+    public void process(String path, Map context, Writer writer);
+}

Propchange: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/TemplateProcessor.java
------------------------------------------------------------------------------
    svn:executable = *

Added: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/VelocityTemplateProcessor.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/VelocityTemplateProcessor.java?rev=234006&view=auto
==============================================================================
--- struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/VelocityTemplateProcessor.java (added)
+++ struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/VelocityTemplateProcessor.java Sat Aug 20 01:17:03 2005
@@ -0,0 +1,81 @@
+/*
+ * $Id: SourceResolver.java 230400 2005-08-05 05:13:54Z martinc $
+ *
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ti.util;
+
+import java.io.IOException;
+import java.util.*;
+import java.io.*;
+
+import org.apache.commons.chain.web.WebContext;
+import org.apache.velocity.*;
+import org.apache.velocity.app.VelocityEngine;
+import org.apache.commons.logging.*;
+
+/**
+ *  Resovles resources
+ */
+public class VelocityTemplateProcessor implements TemplateProcessor {
+    
+    private static final Log log = LogFactory.getLog(VelocityTemplateProcessor.class);
+    
+    private VelocityEngine velocity = null;
+    private Map templateCache = new HashMap();
+    
+    public void init() {
+        velocity = new VelocityEngine();
+
+        Properties props = new Properties();
+        try {
+            props.load(getClass().getResourceAsStream("velocity.properties"));
+            velocity.init(props);
+        } catch (Exception ex) {
+            log.error("Unable to intialize velocity", ex);
+        }
+
+    }
+    
+    public String process(String path, Map context) {
+        StringWriter writer = new StringWriter();
+        process(path, context, writer);
+        return writer.toString();
+    }
+    
+    public void process(String path, Map contextMap, Writer writer) {
+        VelocityContext context = new VelocityContext(contextMap);
+        
+        Template template = null;;
+        try {
+            template = velocity.getTemplate(path);
+        } catch (Exception ex) {
+            log.error("Unable to locate or parse template: "+path, ex);
+            return;
+        }
+        try {
+            template.merge(context, writer);
+        } catch (Exception ex) {
+            log.error("Unable to generate output", ex);
+        } finally {
+            try {
+                writer.close();
+            } catch (IOException ex) {
+                // ignore
+            }
+        }
+    }
+
+}

Propchange: struts/sandbox/trunk/ti/core/src/java/org/apache/ti/util/VelocityTemplateProcessor.java
------------------------------------------------------------------------------
    svn:executable = *

Modified: struts/sandbox/trunk/ti/core/src/test/org/apache/ti/config/TestXDocletParser.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/test/org/apache/ti/config/TestXDocletParser.java?rev=234006&r1=234005&r2=234006&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/core/src/test/org/apache/ti/config/TestXDocletParser.java (original)
+++ struts/sandbox/trunk/ti/core/src/test/org/apache/ti/config/TestXDocletParser.java Sat Aug 20 01:17:03 2005
@@ -29,6 +29,7 @@
 import java.io.*;
 import java.util.*;
 import org.apache.velocity.*;
+import org.apache.ti.util.*;
 
 import org.jdom.Document;
 import org.jdom.input.SAXBuilder;
@@ -71,7 +72,9 @@
 
     public void testGenerateSimple() throws Exception {
         XDocletParser p = new XDocletParser();
-        p.init();
+        VelocityTemplateProcessor proc = new VelocityTemplateProcessor();
+        proc.init();
+        p.setTemplateProcessor(proc);
         
         StringOutputType out = new StringOutputType("org/apache/ti/config/test.vm");
         List outputs = new ArrayList();
@@ -90,7 +93,9 @@
     
     public void testGenerateTag() throws Exception {
         XDocletParser p = new XDocletParser();
-        p.init();
+        VelocityTemplateProcessor proc = new VelocityTemplateProcessor();
+        proc.init();
+        p.setTemplateProcessor(proc);
         
         StringOutputType out = new StringOutputType("org/apache/ti/config/testTag.vm");
         List outputs = new ArrayList();

Modified: struts/sandbox/trunk/ti/core/src/test/org/apache/ti/config/XDocletTestBase.java
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/ti/core/src/test/org/apache/ti/config/XDocletTestBase.java?rev=234006&r1=234005&r2=234006&view=diff
==============================================================================
--- struts/sandbox/trunk/ti/core/src/test/org/apache/ti/config/XDocletTestBase.java (original)
+++ struts/sandbox/trunk/ti/core/src/test/org/apache/ti/config/XDocletTestBase.java Sat Aug 20 01:17:03 2005
@@ -35,6 +35,7 @@
 import org.jdom.xpath.XPath;
 
 import org.apache.ti.*;
+import org.apache.ti.util.*;
 
 /**
  * Unit tests for the <code>org.apache.ti.config.XDocletvalidations</code> class.
@@ -48,7 +49,9 @@
     
     public void setUp()  throws Exception {
         p = new XDocletParser();
-        p.init();
+        VelocityTemplateProcessor proc = new VelocityTemplateProcessor();
+        proc.init();
+        p.setTemplateProcessor(proc);
         src = makeDir("strutsti-src");
     }
     
@@ -112,6 +115,10 @@
            public InputSource resolveEntity (String publicId, String systemId) {
                return null;
            }
+        });
+        builder.setDTDHandler(new DTDHandler() {
+            public void notationDecl(String name, String publicId, String systemId) {}
+            public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) {}
         });
         Document doc = builder.build(new StringReader(out));
         return doc;



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org