morgand 01/08/24 13:13:50
Modified: latka/src/java/org/apache/commons/latka Latka.java
LatkaException.java XMLReporter.java
Log:
more cleanup
Revision Changes Path
1.11 +47 -61
jakarta-commons/latka/src/java/org/apache/commons/latka/Latka.java
Index: Latka.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/latka/src/java/org/apache/commons/latka/Latka.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Latka.java 2001/08/24 18:55:23 1.10
+++ Latka.java 2001/08/24 20:13:50 1.11
@@ -65,12 +65,10 @@
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
-import java.io.StringWriter;
import java.net.URL;
@@ -97,9 +95,6 @@
import org.apache.log4j.Category;
-
-import org.jdom.output.XMLOutputter;
-
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
@@ -108,8 +103,6 @@
*/
public class Latka {
- XMLReporter _listener = new XMLReporter();
-
protected static Category log =
Category.getInstance(Latka.class.getName());
@@ -127,12 +120,10 @@
LATKA_USAGE = buf.toString();
}
- public void runTests(Suite suite) throws LatkaException {
+ public void runTests(Suite suite, LatkaEventInfo listener) throws LatkaException {
InputSource source = null;
- boolean failed = false;
-
try {
XMLPreprocessor preprocessor = new XMLPreprocessor();
@@ -157,65 +148,22 @@
SAXParser parser = factory.newSAXParser();
- SuiteHandler handler = new SuiteHandler(parser.getXMLReader(),_listener);
+ SuiteHandler handler = new SuiteHandler(parser.getXMLReader(),listener);
parser.parse(source, handler);
} catch (ParserConfigurationException e) {
- e.printStackTrace();
- failed = true;
+ throw new LatkaException(e);
} catch (SAXException e) {
- System.out.println("WARNING: Either a test failed, or there was a problem
with the test XML.");
- e.printStackTrace();
- if (e.getException() != null) {
- e.getException().printStackTrace();
- }
- failed = true;
- } catch (IOException e) {
- e.printStackTrace();
- failed = true;
- }
-
- // get the xml string from the listener
- XMLOutputter outputter = new XMLOutputter(" ",true);
- StringWriter writer = new StringWriter();
- try {
- outputter.output(_listener.getDocument(),writer);
+ throw new LatkaException(e);
} catch (IOException e) {
- e.printStackTrace();
- failed = true;
- }
-
- String xmlDocument = writer.toString();
-
- try {
- logXML(xmlDocument);
- } catch (IOException e) {
- e.printStackTrace();
- failed = true;
- }
-
- //transform the XML
- try {
- transformXML(xmlDocument);
- } catch (TransformerConfigurationException e) {
- e.printStackTrace();
- failed = true;
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- failed = true;
- } catch (TransformerException e) {
- e.printStackTrace();
- failed = true;
- }
-
- if (failed == true) {
- throw new LatkaException("SUITE FAILED");
+ throw new LatkaException(e);
}
}
protected void logXML(String xml) throws IOException {
+
String logProp = _props.getProperty("latka.writeLog");
if ((logProp != null) && (logProp.equals("false"))) {
return;
@@ -233,8 +181,8 @@
fileWriter.close();
}
- protected void transformXML(String xml)
- throws TransformerException, TransformerConfigurationException,
FileNotFoundException {
+ public void transformXML(String xml)
+ throws TransformerException {
StreamSource xslSource =
new
StreamSource(getClass().getResourceAsStream("/org.apache.commons.latka.report.xsl"));
@@ -276,7 +224,44 @@
}
Suite suite = new Suite(uri);
- runTests(suite);
+
+ XMLReporter listener = new XMLReporter();
+
+ runTests(suite,listener);
+
+ String xml = null;
+
+ try {
+ xml = listener.getDocumentAsString();
+ logXML(xml);
+ } catch (IOException e) {
+ throw new LatkaException(e);
+ }
+
+ try {
+ transformXML(xml);
+ } catch (TransformerException e) {
+ throw new LatkaException(e);
+ }
+ }
+
+ public void printWrappedExceptions(LatkaException e) {
+ Exception wrappedException = e.getException();
+
+ if (wrappedException != null) {
+ System.out.println("Wraps exception:");
+ e.printStackTrace();
+
+ if (wrappedException instanceof SAXException) {
+ Exception saxWrappedException =
+ ((SAXException) wrappedException).getException();
+ if (saxWrappedException != null) {
+ System.out.println("Wraps exception:");
+ e.printStackTrace();
+ }
+ }
+
+ }
}
public static void main (String args[]) {
@@ -286,6 +271,7 @@
latka.runCommandLine(args);
} catch (LatkaException e) {
e.printStackTrace();
+ latka.printWrappedExceptions(e);
System.exit(1);
}
1.2 +15 -0
jakarta-commons/latka/src/java/org/apache/commons/latka/LatkaException.java
Index: LatkaException.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/latka/src/java/org/apache/commons/latka/LatkaException.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LatkaException.java 2001/08/24 18:55:23 1.1
+++ LatkaException.java 2001/08/24 20:13:50 1.2
@@ -61,8 +61,23 @@
public class LatkaException extends Exception {
+ protected Exception _wrappedException = null;
+
public LatkaException(String message) {
super(message);
+ }
+
+ /**
+ * wrapped exception
+ *
+ * @param e exception to wrap
+ */
+ public LatkaException(Exception e) {
+ _wrappedException = e;
+ }
+
+ public Exception getException() {
+ return _wrappedException;
}
}
1.8 +19 -3
jakarta-commons/latka/src/java/org/apache/commons/latka/XMLReporter.java
Index: XMLReporter.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/latka/src/java/org/apache/commons/latka/XMLReporter.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- XMLReporter.java 2001/08/23 16:24:25 1.7
+++ XMLReporter.java 2001/08/24 20:13:50 1.8
@@ -59,17 +59,21 @@
package org.apache.commons.latka;
+import java.io.IOException;
+import java.io.StringWriter;
+
+import java.util.HashMap;
+import java.util.Map;
+
import org.apache.commons.latka.http.Request;
import org.apache.commons.latka.event.RequestErrorEvent;
import org.apache.commons.latka.event.RequestEvent;
import org.apache.commons.latka.event.RequestFailedEvent;
import org.apache.commons.latka.event.SuiteEvent;
-import java.util.HashMap;
-import java.util.Map;
-
import org.jdom.Document;
import org.jdom.Element;
+import org.jdom.output.XMLOutputter;
public class XMLReporter extends AbstractReporter {
@@ -91,6 +95,18 @@
public Document getDocument() {
return _doc;
+ }
+
+ public String getDocumentAsString() throws IOException {
+ // get the xml string from the listener
+ XMLOutputter outputter = new XMLOutputter(" ",true);
+ StringWriter writer = new StringWriter();
+
+ outputter.output(getDocument(),writer);
+
+ String xmlDocument = writer.toString();
+
+ return xmlDocument;
}
public void requestError(RequestEvent event) {