morgand     01/08/28 08:50:31

  Modified:    latka/src/java/org/apache/commons/latka Latka.java
                        LatkaProperties.java
               latka/src/java/org/apache/commons/latka/xml
                        ValidationReflectionHandler.java
  Log:
  refactored class loading to work inside a webapp (stole it from Log4J)
  
  Revision  Changes    Path
  1.14      +10 -3     
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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Latka.java        2001/08/24 20:50:16     1.13
  +++ Latka.java        2001/08/28 15:50:31     1.14
  @@ -104,6 +104,8 @@
    */
   public class Latka {
   
  +  protected boolean _isValidating = true;
  +  
     protected static Category log =
       Category.getInstance(Latka.class.getName());
   
  @@ -137,7 +139,6 @@
         }
   
         source = new InputSource(xmlReader);
  -
         if (suite._uri != null) {
           source.setSystemId(suite._uri);
         }
  @@ -145,7 +146,7 @@
         SAXParserFactory factory = SAXParserFactory.newInstance();
    
         // always force validation of the tests
  -      factory.setValidating(true);   
  +      factory.setValidating(_isValidating);   
   
         SAXParser parser = factory.newSAXParser();
   
  @@ -163,6 +164,10 @@
   
     }
   
  +  public void setValidating(boolean isValidating) {
  +    _isValidating = isValidating;
  +  }
  +
     protected void logXML(String xml) throws IOException {
   
       String logProp = _props.getProperty("latka.writeLog");
  @@ -188,8 +193,10 @@
       try {
         StringWriter output = new StringWriter();
   
  +      ClassLoader loader = Thread.currentThread().getContextClassLoader();
  +
         StreamSource xslSource = 
  -        new 
StreamSource(getClass().getResourceAsStream("/org.apache.commons.latka.report.xsl"));
  +        new 
StreamSource(loader.getResourceAsStream("org.apache.commons.latka.report.xsl"));
       
         Transformer transformer = 
           TransformerFactory.newInstance().newTransformer(xslSource);
  
  
  
  1.4       +4 -2      
jakarta-commons/latka/src/java/org/apache/commons/latka/LatkaProperties.java
  
  Index: LatkaProperties.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/latka/src/java/org/apache/commons/latka/LatkaProperties.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LatkaProperties.java      2001/08/23 19:56:47     1.3
  +++ LatkaProperties.java      2001/08/28 15:50:31     1.4
  @@ -83,11 +83,13 @@
   
     protected static Properties loadDefaultProps() {
       Properties properties  = new Properties();
  +    
  +    ClassLoader loader = Thread.currentThread().getContextClassLoader();
   
       try {
  -      
properties.load(ClassLoader.getSystemResourceAsStream("latka.properties.internal"));
  +      properties.load(loader.getResourceAsStream("latka.properties.internal"));
       } catch (IOException e) {
  -      System.out.println("Couldn't find latka.properties file in the classpath");
  +      System.out.println("Couldn't find latka.properties.internal file in the 
classpath");
       }
   
       return properties;
  
  
  
  1.8       +3 -1      
jakarta-commons/latka/src/java/org/apache/commons/latka/xml/ValidationReflectionHandler.java
  
  Index: ValidationReflectionHandler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/latka/src/java/org/apache/commons/latka/xml/ValidationReflectionHandler.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ValidationReflectionHandler.java  2001/08/23 16:24:27     1.7
  +++ ValidationReflectionHandler.java  2001/08/28 15:50:31     1.8
  @@ -85,6 +85,8 @@
     protected Response _response = null;
     protected LatkaEventInfo _listener = null;
     protected static String _latkaPrefix = "latka.validator.";
  +  protected ClassLoader _loader = 
  +    Thread.currentThread().getContextClassLoader();
   
     protected static final Category log = 
       Category.getInstance(ValidationReflectionHandler.class);
  @@ -154,7 +156,7 @@
     protected ValidationHandler handlerForClass(String validatorClass) 
     throws SAXException {
       try {
  -      return (ValidationHandler) Beans.instantiate(null,validatorClass);
  +      return (ValidationHandler) Beans.instantiate(_loader,validatorClass);
       } catch (ClassNotFoundException e) {
         throw new SAXException(e);
       } catch (IOException e) {
  
  
  

Reply via email to