You are viewing a plain text version of this content. The canonical link for it is here.
Posted to watchdog-dev@jakarta.apache.org by mo...@apache.org on 2002/07/29 18:29:16 UTC
cvs commit: jakarta-watchdog-4.0/latka-scratch/src/java/org/apache/watchdog Watchdog.java
morgand 2002/07/29 09:29:16
Added: latka-scratch/src/java/org/apache/watchdog Watchdog.java
Log:
test driver class
Revision Changes Path
1.1 jakarta-watchdog-4.0/latka-scratch/src/java/org/apache/watchdog/Watchdog.java
Index: Watchdog.java
===================================================================
package org.apache.watchdog;
import java.io.InputStream;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.net.URL;
import java.util.Properties;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.apache.commons.latka.Latka;
import org.apache.commons.latka.LatkaException;
import org.apache.commons.latka.LatkaProperties;
import org.apache.commons.latka.Suite;
import org.apache.commons.latka.XMLReporter;
public class Watchdog {
public static void main(String args[]) throws Exception {
Watchdog watchdog = new Watchdog();
watchdog.runTests();
}
protected void runTests() throws LatkaException {
Latka latka = new Latka();
try {
Properties watchdogProps = loadPropsFromClasspath("watchdog.properties");
// add them to the Latka session
LatkaProperties.getProperties().putAll(watchdogProps);
String suiteLocation =
watchdogProps.getProperty("org.apache.watchdog.mainSuiteURL");
URL url = new URL(suiteLocation);
Suite suite = new Suite(url);
XMLReporter listener = new XMLReporter();
latka.runTests(suite,listener);
String xml = listener.getDocumentAsString();
System.out.println(transformXML(xml));
} catch (IOException e) {
throw new LatkaException(e.toString());
}
}
/**
* Load properties specified from context class path
* @param classpathLocation Resource name to load
* @throws IOException from loading resource
* @return initialized properties object
*/
protected Properties
loadPropsFromClasspath(String classpathLocation)
throws IOException {
Properties properties = new Properties();
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream stream = loader.getResourceAsStream(classpathLocation);
if (stream == null) {
throw new IOException("Could not find this file in classpath: "
+ classpathLocation);
}
properties.load(stream);
return properties;
}
/**
* Transform the XML generated by the XMLReporter using
* the default stylesheet.
*
* @param xml XML generated by XMLReporter
* @return transformed report
* @throws LatkaException if the XML could not be transformed
*/
private String transformXML(String xml) throws LatkaException {
try {
StringWriter output = new StringWriter();
Source xslSource = null;
ClassLoader loader = Thread.currentThread().getContextClassLoader();
xslSource = new StreamSource(
loader.getResourceAsStream(
"org.apache.commons.latka.report.xsl")
);
Transformer transformer =
TransformerFactory.newInstance().newTransformer(xslSource);
StreamSource xmlSource = new StreamSource(new StringReader(xml));
StreamResult result = new StreamResult(output);
transformer.transform(xmlSource, result);
return output.toString();
} catch (TransformerException e) {
throw new LatkaException(e);
}
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>