Coverage Report - org.mule.config.builders.WebappMuleXmlConfigurationBuilder
 
Classes in this File Line Coverage Branch Coverage Complexity
WebappMuleXmlConfigurationBuilder
0%
0/11
0%
0/1
1.5
 
 1  
 /*
 2  
  * $Id: WebappMuleXmlConfigurationBuilder.java 7976 2007-08-21 14:26:13Z dirk.olmes $
 3  
  * --------------------------------------------------------------------------------------
 4  
  * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
 5  
  *
 6  
  * The software in this package is published under the terms of the CPAL v1.0
 7  
  * license, a copy of which has been included with this distribution in the
 8  
  * LICENSE.txt file.
 9  
  */
 10  
 
 11  
 package org.mule.config.builders;
 12  
 
 13  
 import org.mule.config.ConfigurationException;
 14  
 import org.mule.util.FileUtils;
 15  
 
 16  
 import java.io.InputStream;
 17  
 
 18  
 import javax.servlet.ServletContext;
 19  
 
 20  
 /**
 21  
  * <code>WebappMuleXmlConfigurationBuilder</code> will first try and load config
 22  
  * resources from the Servlet context. If this fails it fails back to the methods
 23  
  * used by the MuleXmlConfigurationBuilder.
 24  
  */
 25  
 public class WebappMuleXmlConfigurationBuilder extends MuleXmlConfigurationBuilder
 26  
 {
 27  
     private ServletContext context;
 28  
     
 29  
     /**
 30  
      * Classpath within the servlet context (e.g., "WEB-INF/classes").  Mule will attempt to load config 
 31  
      * files from here first, and then from the remaining classpath.
 32  
      */
 33  
     private String webappClasspath;
 34  
 
 35  
     public WebappMuleXmlConfigurationBuilder(ServletContext context, String webappClasspath) 
 36  
         throws ConfigurationException
 37  
     {
 38  0
         super();
 39  0
         this.context = context;
 40  0
         this.webappClasspath = webappClasspath;
 41  0
     }
 42  
 
 43  
     /**
 44  
      * Attempt to load any resource from the Servlet Context first, then from the classpath.
 45  
      */
 46  
     protected InputStream loadResource(String resource) throws ConfigurationException
 47  
     {
 48  0
         String resourcePath = FileUtils.newFile(webappClasspath, resource).getPath();
 49  0
         logger.debug("Searching for resource " + resourcePath + " in Servlet Context.");
 50  0
         InputStream is = context.getResourceAsStream(resourcePath);
 51  0
         if (is == null)
 52  
         {
 53  0
             logger.debug("Resource " + resourcePath + " not found in Servlet Context, loading from classpath");
 54  0
             is = super.loadResource(resource);
 55  
         }
 56  0
         return is;
 57  
     }
 58  
 }