Hi,
Sorry about the 'enum' changes, I never intended to
include them in this particular patch file in the
first place. I have removed them, as they were not
complete in anycase.
I intend to complete that patch later, and when I do,
I will stick to whatever iteration style was there in
the first place ;-)
Cheers,
Tim
--- "Shapira, Yoav" <[EMAIL PROTECTED]> wrote:
>
> Howdy,
> I dislike the for-style iteration for collections ;(
> I prefer the
> while(...) rather than something like
> for (Enumeration e = ht.keys(); e.hasMoreElements()
> && (misses <= 4); )
>
> which to me is hard to read... But to each his/her
> own ;)
>
> Yoav Shapira
> Millennium ChemInformatics
>
>
> >-----Original Message-----
> >From: Tim Emiola [mailto:[EMAIL PROTECTED]
> >Sent: Friday, October 17, 2003 4:26 AM
> >To: Log4J Developers List
> >Subject: Re: Patch fix for Bug 23705 (Parser gets
> confused when using
> >external entities.)
> >
> >The patch file aslo contains fixes for Bug #22339
> >(Tiger) enum is a keyword.
> >
> >--- Tim Emiola <[EMAIL PROTECTED]> wrote:
> >> I have modified DOMConfigurator and
> >> Log4jEntityResolver, and added a new testcase to
> >> demonstrate that the problem is fixed.
> >>
> >> Hope this is useful,
> >> Tim
> >>
> >> __________________________________
> >> Do you Yahoo!?
> >> The New Yahoo! Shopping - with improved product
> >> search
> >> http://shopping.yahoo.com> Index:
> >src/java/org/apache/log4j/Category.java
> >>
>
>===================================================================
> >> RCS file:
> >>
>
>/home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/Category.java,v
> >> retrieving revision 1.77
> >> diff -u -r1.77 Category.java
> >> --- src/java/org/apache/log4j/Category.java 23
> Aug
> >> 2003 16:00:52 -0000 1.77
> >> +++ src/java/org/apache/log4j/Category.java 17
> Oct
> >> 2003 07:39:23 -0000
> >> @@ -272,15 +272,11 @@
> >> * @since 1.0
> >> */
> >> void closeNestedAppenders() {
> >> - Enumeration enum = this.getAllAppenders();
> >> -
> >> - if (enum != null) {
> >> - while (enum.hasMoreElements()) {
> >> - Appender a = (Appender)
> enum.nextElement();
> >> -
> >> - if (a instanceof AppenderAttachable) {
> >> - a.close();
> >> - }
> >> + for (Enumeration e = this.getAllAppenders();
> >> + (e != null) && (e.hasMoreElements()); )
> {
> >> + Appender a = (Appender) e.nextElement();
> >> + if (a instanceof AppenderAttachable) {
> >> + a.close();
> >> }
> >> }
> >> }
> >> Index: src/java/org/apache/log4j/NDC.java
> >>
>
>===================================================================
> >> RCS file:
> >>
>
>/home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/NDC.java,v
> >> retrieving revision 1.16
> >> diff -u -r1.16 NDC.java
> >> --- src/java/org/apache/log4j/NDC.java 23 Aug
> 2003
> >> 16:00:52 -0000 1.16
> >> +++ src/java/org/apache/log4j/NDC.java 17 Oct
> 2003
> >> 07:39:24 -0000
> >> @@ -265,15 +265,13 @@
> >> int misses = 0;
> >> v = new Vector();
> >>
> >> - Enumeration enum = ht.keys();
> >> -
> >> // We give up after 4 straigt missses.
> That
> >> is 4 consecutive
> >> // inspected threads in 'ht' that turn out
> to
> >> be alive.
> >> // The higher the proportion on dead
> threads
> >> in ht, the higher the
> >> // chances of removal.
> >> - while (enum.hasMoreElements() && (misses
> <=
> >> 4)) {
> >> - Thread t = (Thread) enum.nextElement();
> >> -
> >> + for (Enumeration e = ht.keys();
> >> + e.hasMoreElements() && (misses <= 4);
> )
> >> {
> >> + Thread t = (Thread) e.nextElement();
> >> if (t.isAlive()) {
> >> misses++;
> >> } else {
> >> Index:
> >>
> src/java/org/apache/log4j/PropertyConfigurator.java
> >>
>
>===================================================================
> >> RCS file:
> >>
> >/home/cvspublic/jakarta-
>
>log4j/src/java/org/apache/log4j/PropertyConfigurator.java,v
> >> retrieving revision 1.60
> >> diff -u -r1.60 PropertyConfigurator.java
> >> ---
> >>
> src/java/org/apache/log4j/PropertyConfigurator.java
> >> 17 Sep 2003 16:03:02 -0000 1.60
> >> +++
> >>
> src/java/org/apache/log4j/PropertyConfigurator.java
> >> 17 Oct 2003 07:39:24 -0000
> >> @@ -541,10 +541,9 @@
> >> */
> >> protected void parseCatsAndRenderers(
> >> Properties props, LoggerRepository
> hierarchy) {
> >> - Enumeration enum = props.propertyNames();
> >>
> >> - while (enum.hasMoreElements()) {
> >> - String key = (String) enum.nextElement();
> >> + for (Enumeration e = props.propertyNames();
> >> e.hasMoreElements();) {
> >> + String key = (String) e.nextElement();
> >>
> >> if (key.startsWith(CATEGORY_PREFIX) ||
> >> key.startsWith(LOGGER_PREFIX)) {
> >> String loggerName = null;
> >> Index:
> >>
>
>src/java/org/apache/log4j/jmx/LoggerDynamicMBean.java
> >>
>
>===================================================================
> >> RCS file:
> >>
> >/home/cvspublic/jakarta-
>
>log4j/src/java/org/apache/log4j/jmx/LoggerDynamicMBean.java,v
> >> retrieving revision 1.3
> >> diff -u -r1.3 LoggerDynamicMBean.java
> >> ---
> >>
>
>src/java/org/apache/log4j/jmx/LoggerDynamicMBean.java
> >> 18 Mar 2003 13:33:33 -0000 1.3
> >> +++
> >>
>
>src/java/org/apache/log4j/jmx/LoggerDynamicMBean.java
> >> 17 Oct 2003 07:39:25 -0000
> >> @@ -228,9 +228,9 @@
> >> }
> >>
> >> void appenderMBeanRegistration() {
> >> - Enumeration enum = logger.getAllAppenders();
> >> - while(enum.hasMoreElements()) {
> >> - Appender appender = (Appender)
> >> enum.nextElement();
> >> + for (Enumeration e =
> logger.getAllAppenders();
> >> + e != null && e.hasMoreElements(); ) {
> >> + Appender appender = (Appender)
> >> e.nextElement();
> >> registerAppenderMBean(appender);
> >> }
> >> }
> >> Index:
> >>
>
>src/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEdito
> r.ja
> >va
> >>
>
>===================================================================
> >> RCS file:
> >>
> >/home/cvspublic/jakarta-
>
>log4j/src/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNod
> eEdi
>
=== message truncated ===
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
Index: src/java/org/apache/log4j/xml/DOMConfigurator.java
===================================================================
RCS file:
/home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/xml/DOMConfigurator.java,v
retrieving revision 1.59
diff -u -r1.59 DOMConfigurator.java
--- src/java/org/apache/log4j/xml/DOMConfigurator.java 17 Sep 2003 17:02:52 -0000
1.59
+++ src/java/org/apache/log4j/xml/DOMConfigurator.java 17 Oct 2003 07:39:28 -0000
@@ -61,13 +61,13 @@
import org.xml.sax.InputSource;
-import java.io.FileInputStream;
-import java.io.IOException;
+import java.io.File;
import java.io.InputStream;
import java.io.Reader;
import java.lang.reflect.Method;
+import java.net.MalformedURLException;
import java.net.URL;
import java.util.*;
@@ -102,6 +102,7 @@
@author Christopher Taylor
@author Ceki Gülcü
@author Anders Kristensen
+ @author Timothy Emiola
@since 0.8.3 */
public class DOMConfigurator implements Configurator {
@@ -138,6 +139,7 @@
static final String EMPTY_STR = "";
static final Class[] ONE_STRING_PARAM = new Class[] { String.class };
static final String dbfKey = "javax.xml.parsers.DocumentBuilderFactory";
+
// key: appenderName, value: appender
Hashtable appenderBag;
@@ -714,30 +716,15 @@
}
public void doConfigure(String filename, LoggerRepository repository) {
- FileInputStream fis = null;
-
- try {
- fis = new FileInputStream(filename);
- doConfigure(fis, repository);
- } catch (IOException e) {
- LogLog.error("Could not open [" + filename + "].", e);
- } finally {
- if (fis != null) {
- try {
- fis.close();
- } catch (java.io.IOException e) {
- LogLog.error("Could not close [" + filename + "].", e);
- }
- }
- }
+ try {
+ doConfigure(new File(filename).toURL(), repository);
+ } catch (MalformedURLException e) {
+ LogLog.error("Could not open [" + filename + "].", e);
+ }
}
public void doConfigure(URL url, LoggerRepository repository) {
- try {
- doConfigure(url.openStream(), repository);
- } catch (IOException e) {
- LogLog.error("Could not open [" + url + "].", e);
- }
+ doConfigure(new InputSource(url.getPath()), repository);
}
/**
@@ -791,15 +778,18 @@
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
docBuilder.setErrorHandler(new SAXErrorHandler());
docBuilder.setEntityResolver(new Log4jEntityResolver());
-
- // we change the system ID to a valid URI so that Crimson won't
- // complain. Indeed, "log4j.dtd" alone is not a valid URI which
- // causes Crimson to barf. The Log4jEntityResolver only cares
- // about the "log4j.dtd" ending.
- inputSource.setSystemId("dummy://log4j.dtd");
-
+
+ // Use the Log4J XML DTD SystemId if none is provided
+ if (null == inputSource.getSystemId())
+ {
+ LogLog.warn(
+ "No systemId found for the XML source, using "
+ + Log4jEntityResolver.DTD_URL);
+ inputSource.setSystemId(Log4jEntityResolver.DTD_URL.toString());
+ }
Document doc = docBuilder.parse(inputSource);
parse(doc.getDocumentElement());
+
} catch (Exception e) {
// I know this is miserable...
LogLog.error("Could not parse input source [" + inputSource + "].", e);
Index: src/java/org/apache/log4j/xml/Log4jEntityResolver.java
===================================================================
RCS file:
/home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/xml/Log4jEntityResolver.java,v
retrieving revision 1.3
diff -u -r1.3 Log4jEntityResolver.java
--- src/java/org/apache/log4j/xml/Log4jEntityResolver.java 5 May 2003 20:42:58
-0000 1.3
+++ src/java/org/apache/log4j/xml/Log4jEntityResolver.java 17 Oct 2003 07:39:28
-0000
@@ -7,7 +7,8 @@
package org.apache.log4j.xml;
-import java.io.InputStream;
+import java.net.URL;
+
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
@@ -19,24 +20,28 @@
* file.
*
* @author Paul Austin
- * */
+ * @author Timothy Emiola
+ */
public class Log4jEntityResolver implements EntityResolver {
public InputSource resolveEntity (String publicId, String systemId) {
- System.err.println("piblicID: ["+publicId+"]");
- System.err.println("systemId: ["+systemId+"]");
- if (systemId.endsWith("log4j.dtd")) {
- Class clazz = getClass();
- InputStream in = clazz.getResourceAsStream("/org/apache/log4j/xml/log4j.dtd");
- if (in == null) {
- LogLog.error("Could not find [log4j.dtd]. Used [" + clazz.getClassLoader()
- + "] class loader in the search.");
- return null;
+ LogLog.debug("publicID: [" + publicId + "]");
+ LogLog.debug("systemId: [" + systemId + "]");
+ LogLog.debug("DTD URL " + DTD_URL);
+ if (systemId.endsWith(DTD_NAME)) {
+ if (null == DTD_URL) {
+ LogLog.error("Could not find [" + DTD_NAME + "]. Used [" +
this.getClass().getClassLoader()
+ + "] class loader in the search.");
+ return null;
} else {
- return new InputSource(in);
+ return new InputSource(DTD_URL.toString());
}
} else {
return null;
}
}
+
+ static final String DTD_NAME = "log4j.dtd";
+ static final URL DTD_URL = Log4jEntityResolver.class.getResource(DTD_NAME);
+
}
Index: tests/input/xml/ExternalEntityTestCase.xml
===================================================================
RCS file: tests/input/xml/ExternalEntityTestCase.xml
diff -N tests/input/xml/ExternalEntityTestCase.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tests/input/xml/ExternalEntityTestCase.xml 17 Oct 2003 07:39:29 -0000
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" [
+<!ENTITY fragment1 SYSTEM "ExternalEntityTestCaseFragment1.xml">
+<!ENTITY fragment2 SYSTEM "ExternalEntityTestCaseFragment2.xml">
+]>
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+ &fragment1;
+ &fragment2;
+
+ <logger name="org.apache.log4j.xml">
+ <level value="debug" />
+ <appender-ref ref="A1" />
+ </logger>
+
+ <root>
+ <priority value ="debug" />
+ <appender-ref ref="A1" />
+ <appender-ref ref="A2" />
+ </root>
+
+</log4j:configuration>
Index: tests/input/xml/ExternalEntityTestCaseFragment1.xml
===================================================================
RCS file: tests/input/xml/ExternalEntityTestCaseFragment1.xml
diff -N tests/input/xml/ExternalEntityTestCaseFragment1.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tests/input/xml/ExternalEntityTestCaseFragment1.xml 17 Oct 2003 07:39:29 -0000
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+ <appender name="A1" class="org.apache.log4j.FileAppender">
+
+ <param name="File" value="output/temp.A1" />
+ <param name="Append" value="false" />
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%-5p %c{2} - %m%n"/>
+ </layout>
+ </appender>
+
Index: tests/input/xml/ExternalEntityTestCaseFragment2.xml
===================================================================
RCS file: tests/input/xml/ExternalEntityTestCaseFragment2.xml
diff -N tests/input/xml/ExternalEntityTestCaseFragment2.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tests/input/xml/ExternalEntityTestCaseFragment2.xml 17 Oct 2003 07:39:29 -0000
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+ <appender name="A2" class="org.apache.log4j.FileAppender">
+ <param name="File" value="output/temp.A2" />
+ <param name="Append" value="false" />
+ <layout class="org.apache.log4j.TTCCLayout">
+ <param name="DateFormat" value="ISO8601" />
+ </layout>
+ </appender>
+
Index: tests/src/java/org/apache/log4j/xml/DOMTestCase.java
===================================================================
RCS file:
/home/cvspublic/jakarta-log4j/tests/src/java/org/apache/log4j/xml/DOMTestCase.java,v
retrieving revision 1.8
diff -u -r1.8 DOMTestCase.java
--- tests/src/java/org/apache/log4j/xml/DOMTestCase.java 17 Sep 2003 17:02:52
-0000 1.8
+++ tests/src/java/org/apache/log4j/xml/DOMTestCase.java 17 Oct 2003 07:39:29
-0000
@@ -50,8 +50,9 @@
logger = Logger.getLogger(DOMTestCase.class);
}
- public void tearDown() {
+ public void tearDown() {
root.getLoggerRepository().resetConfiguration();
+ root.getLoggerRepository().shutdown();
}
public void test1() throws Exception {
@@ -74,6 +75,28 @@
assertTrue(Compare.compare(FILTERED_A1, "witness/dom.A1.1"));
assertTrue(Compare.compare(FILTERED_A2, "witness/dom.A2.1"));
}
+
+ public void testExternalEntitys() throws Exception {
+ DOMConfigurator.configure("input/xml/ExternalEntityTestCase.xml");
+ common();
+
+ ControlFilter cf1 = new ControlFilter(new String[]{TEST1_1A_PAT, TEST1_1B_PAT,
+ EXCEPTION1, EXCEPTION2,
EXCEPTION3});
+
+ ControlFilter cf2 = new ControlFilter(new String[]{TEST1_2_PAT,
+ EXCEPTION1, EXCEPTION2,
EXCEPTION3});
+
+ Transformer.transform(TEMP_A1, FILTERED_A1, new Filter[] {cf1,
+ new LineNumberFilter(), new
SunReflectFilter(), new JunitTestRunnerFilter()});
+
+ Transformer.transform(TEMP_A2, FILTERED_A2, new Filter[] {cf2,
+ new
LineNumberFilter(), new ISO8601Filter(),
+ new
SunReflectFilter(), new JunitTestRunnerFilter()});
+
+ assertTrue(Compare.compare(FILTERED_A1, "witness/ent.A1.1"));
+ assertTrue(Compare.compare(FILTERED_A2, "witness/ent.A2.1"));
+ }
+
void common() {
int i = -1;
@@ -105,6 +128,7 @@
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new DOMTestCase("test1"));
+ suite.addTest(new DOMTestCase("testExternalEntitys"));
return suite;
}
Index: tests/witness/ent.A1.1
===================================================================
RCS file: tests/witness/ent.A1.1
diff -N tests/witness/ent.A1.1
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tests/witness/ent.A1.1 17 Oct 2003 07:39:29 -0000
@@ -0,0 +1,93 @@
+DEBUG xml.DOMTestCase - Message 0
+DEBUG xml.DOMTestCase - Message 0
+DEBUG root - Message 0
+INFO xml.DOMTestCase - Message 1
+INFO xml.DOMTestCase - Message 1
+INFO root - Message 1
+WARN xml.DOMTestCase - Message 2
+WARN xml.DOMTestCase - Message 2
+WARN root - Message 2
+ERROR xml.DOMTestCase - Message 3
+ERROR xml.DOMTestCase - Message 3
+ERROR root - Message 3
+FATAL xml.DOMTestCase - Message 4
+FATAL xml.DOMTestCase - Message 4
+FATAL root - Message 4
+DEBUG xml.DOMTestCase - Message 5
+java.lang.Exception: Just testing
+ at org.apache.log4j.xml.DOMTestCase.common(X)
+ at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ at junit.framework.TestSuite.runTest(X)
+ at junit.framework.TestSuite.run(X)
+DEBUG xml.DOMTestCase - Message 5
+java.lang.Exception: Just testing
+ at org.apache.log4j.xml.DOMTestCase.common(X)
+ at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ at junit.framework.TestSuite.runTest(X)
+ at junit.framework.TestSuite.run(X)
+DEBUG root - Message 5
+java.lang.Exception: Just testing
+ at org.apache.log4j.xml.DOMTestCase.common(X)
+ at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ at junit.framework.TestSuite.runTest(X)
+ at junit.framework.TestSuite.run(X)
+ERROR xml.DOMTestCase - Message 6
+java.lang.Exception: Just testing
+ at org.apache.log4j.xml.DOMTestCase.common(X)
+ at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ at junit.framework.TestSuite.runTest(X)
+ at junit.framework.TestSuite.run(X)
+ERROR xml.DOMTestCase - Message 6
+java.lang.Exception: Just testing
+ at org.apache.log4j.xml.DOMTestCase.common(X)
+ at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ at junit.framework.TestSuite.runTest(X)
+ at junit.framework.TestSuite.run(X)
+ERROR root - Message 6
+java.lang.Exception: Just testing
+ at org.apache.log4j.xml.DOMTestCase.common(X)
+ at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ at junit.framework.TestSuite.runTest(X)
+ at junit.framework.TestSuite.run(X)
Index: tests/witness/ent.A2.1
===================================================================
RCS file: tests/witness/ent.A2.1
diff -N tests/witness/ent.A2.1
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tests/witness/ent.A2.1 17 Oct 2003 07:39:30 -0000
@@ -0,0 +1,62 @@
+ [main] DEBUG org.apache.log4j.xml.DOMTestCase - Message 0
+ [main] DEBUG root - Message 0
+ [main] INFO org.apache.log4j.xml.DOMTestCase - Message 1
+ [main] INFO root - Message 1
+ [main] WARN org.apache.log4j.xml.DOMTestCase - Message 2
+ [main] WARN root - Message 2
+ [main] ERROR org.apache.log4j.xml.DOMTestCase - Message 3
+ [main] ERROR root - Message 3
+ [main] FATAL org.apache.log4j.xml.DOMTestCase - Message 4
+ [main] FATAL root - Message 4
+ [main] DEBUG org.apache.log4j.xml.DOMTestCase - Message 5
+java.lang.Exception: Just testing
+ at org.apache.log4j.xml.DOMTestCase.common(X)
+ at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ at junit.framework.TestSuite.runTest(X)
+ at junit.framework.TestSuite.run(X)
+ [main] DEBUG root - Message 5
+java.lang.Exception: Just testing
+ at org.apache.log4j.xml.DOMTestCase.common(X)
+ at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ at junit.framework.TestSuite.runTest(X)
+ at junit.framework.TestSuite.run(X)
+ [main] ERROR org.apache.log4j.xml.DOMTestCase - Message 6
+java.lang.Exception: Just testing
+ at org.apache.log4j.xml.DOMTestCase.common(X)
+ at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ at junit.framework.TestSuite.runTest(X)
+ at junit.framework.TestSuite.run(X)
+ [main] ERROR root - Message 6
+java.lang.Exception: Just testing
+ at org.apache.log4j.xml.DOMTestCase.common(X)
+ at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ at junit.framework.TestSuite.runTest(X)
+ at junit.framework.TestSuite.run(X)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]