Author: gvanmatre
Date: Mon Jan 16 12:15:32 2006
New Revision: 369561

URL: http://svn.apache.org/viewcvs?rev=369561&view=rev
Log:
Fix for Bug#: 38168

Modified:
    
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/ClayTemplateParser.java
    
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java
    
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ComponentConfigBean.java
    
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/TemplateConfigBean.java

Modified: 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/ClayTemplateParser.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/ClayTemplateParser.java?rev=369561&r1=369560&r2=369561&view=diff
==============================================================================
--- 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/ClayTemplateParser.java
 (original)
+++ 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/ClayTemplateParser.java
 Mon Jan 16 12:15:32 2006
@@ -100,10 +100,10 @@
         if (log.isInfoEnabled())
             log.info(messages.getMessage("loading.template",  new Object[] 
{templateName}));
             
-            ComponentBean root = new ComponentBean();
-            root.setJsfid(templateName);
-            root.setComponentType("javax.faces.NamingContainer");
-            
+            ComponentBean root = new ComponentBean();   
+                       root.setJsfid(templateName);
+                       root.setComponentType("javax.faces.NamingContainer");
+                       
             // generate the document
             StringBuffer buffer = loadTemplate(inputStream, templateName);
             

Modified: 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java?rev=369561&r1=369560&r2=369561&view=diff
==============================================================================
--- 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java
 (original)
+++ 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java
 Mon Jan 16 12:15:32 2006
@@ -115,11 +115,17 @@
     
     
     /**
+     * <p>Configuration file prefix, "classpath*:", denotes that the resource 
+     * should be loaded from the class path versus the context root.</p>
+     */
+    public static final String CLASSPATH_PREFIX = "classpath*:";
+    
+    /**
      * <p>The default subview configuration file containing the base supported
      * components.
      *</p>
      */
-    public static final String DEFAULT_CLAY_CONFIG_FILE = 
"META-INF/clay-config.xml";
+    public static final String DEFAULT_CLAY_CONFIG_FILE = CLASSPATH_PREFIX + 
"META-INF/clay-config.xml";
   
     /**
      * <p>The literal string used to identify that a clay subtree should be

Modified: 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ComponentConfigBean.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ComponentConfigBean.java?rev=369561&r1=369560&r2=369561&view=diff
==============================================================================
--- 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ComponentConfigBean.java
 (original)
+++ 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/ComponentConfigBean.java
 Mon Jan 16 12:15:32 2006
@@ -214,16 +214,16 @@
         StringTokenizer tokenizer = new StringTokenizer(configFiles, ", ");
         while (tokenizer.hasMoreTokens()) {
             StringBuffer configFile = new 
StringBuffer(tokenizer.nextToken().trim());
-            if (configFile.toString().endsWith(".xml")) {
-                for (int i = configFile.length() - 5; i > 0; i--) {
-                    if (configFile.charAt(i) == '.')
-                        configFile.setCharAt(i, '/');
-                }
-            }
+            
+            //look for a classpath prefix.   
+            int i = -1;
+            if ((i = configFile.indexOf(Globals.CLASSPATH_PREFIX)) > -1) 
+               configFile.delete(0, i + Globals.CLASSPATH_PREFIX.length());
             
             try {
-                if (configFile.toString().startsWith("META-INF/")) {
-                   for (Enumeration ui = 
classloader.getResources(configFile.toString()); ui.hasMoreElements(); 
urls.add(ui.nextElement()));
+                if (i > -1) {         
+                   for (Enumeration ui = 
classloader.getResources(configFile.toString()); 
+                         ui.hasMoreElements(); urls.add(ui.nextElement()));
                 } else {
                    URL url = context.getResource(configFile.toString()); 
                    if (url == null) {

Modified: 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/TemplateConfigBean.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/TemplateConfigBean.java?rev=369561&r1=369560&r2=369561&view=diff
==============================================================================
--- 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/TemplateConfigBean.java
 (original)
+++ 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/beans/TemplateConfigBean.java
 Mon Jan 16 12:15:32 2006
@@ -192,7 +192,7 @@
     protected ComponentBean getTopLevelElement(String jsfid) {
         
         if (validMoniker(jsfid))
-            return super.getTopLevelElement(jsfid);
+            return getElement(jsfid);
         
         //broaden the search to the other ConfigBean's
         ConfigBean config = ConfigBeanFactory.findConfig(jsfid);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to