Author: gvanmatre
Date: Sat Dec  3 09:30:55 2005
New Revision: 351991

URL: http://svn.apache.org/viewcvs?rev=351991&view=rev
Log:
Minor refactoring to make the Clay symbol replacement case insensitive.

Modified:
    
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AbstractCommand.java
    
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java
    
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/CreateComponentCommand.java

Modified: 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AbstractCommand.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AbstractCommand.java?rev=351991&r1=351990&r2=351991&view=diff
==============================================================================
--- 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AbstractCommand.java
 (original)
+++ 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AbstractCommand.java
 Sat Dec  3 09:30:55 2005
@@ -109,7 +109,20 @@
               break replace;
             
             next: while (i > -1 && i <= (buff.length() - key.length())) {
-                int n = buff.indexOf(key, i);
+                               
+                               int n = -1;
+                               indexOf: for (int s = i; s <= (buff.length() - 
key.length()); s++) {
+                                  for (int c = 0; c < key.length(); c++) {
+                                     char skey = 
Character.toLowerCase(key.charAt(c));
+                                         char tkey = 
Character.toLowerCase(buff.charAt(s + c));
+                                         if (skey != tkey)
+                                           continue indexOf;
+                                  }
+                                  //match found
+                                  n = s;
+                                  break indexOf;
+                               }
+                               
                 if (n > -1) {
                     buff.delete(n, n + key.length());
                     buff.insert(n, value);

Modified: 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java?rev=351991&r1=351990&r2=351991&view=diff
==============================================================================
--- 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java
 (original)
+++ 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/AssignChildrenCommand.java
 Sat Dec  3 09:30:55 2005
@@ -19,8 +19,6 @@
 package org.apache.shale.clay.component.chain;
 
 import java.util.Iterator;
-import java.util.Map;
-import java.util.TreeMap;
 
 import javax.faces.component.UIComponent;
 
@@ -29,7 +27,6 @@
 import org.apache.commons.chain.Context;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.shale.clay.component.Clay;
 import org.apache.shale.clay.config.Globals;
 import org.apache.shale.clay.config.beans.ComponentBean;
 
@@ -85,16 +82,7 @@
             subContext.setParent(parent);
             subContext.setChild(null);
             subContext.setChildIndex(childIndex);
-           
-            Map symbolTable = new TreeMap();
-            symbolTable.putAll(clayContext.getSymbols());
-            symbolTable.putAll(childDisplayElement.getSymbols());
-            if (parent instanceof Clay) {
-                symbolTable.putAll(((Clay) parent).getSymbols());
-            }
-
-            subContext.setSymbols(symbolTable);
-            
+                       
             Catalog catalog = getCatalog();
             Command command = catalog
                     .getCommand(Globals.ADD_COMPONENT_COMMAND_NAME);

Modified: 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/CreateComponentCommand.java
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/CreateComponentCommand.java?rev=351991&r1=351990&r2=351991&view=diff
==============================================================================
--- 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/CreateComponentCommand.java
 (original)
+++ 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/component/chain/CreateComponentCommand.java
 Sat Dec  3 09:30:55 2005
@@ -18,6 +18,9 @@
 
 package org.apache.shale.clay.component.chain;
 
+import java.util.Map;
+import java.util.TreeMap;
+
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
@@ -122,8 +125,21 @@
                     new Object[] { id, displayElement.getJsfid(), new 
Integer(clayContext.getChildIndex()) }));
         }
         
-               if (child instanceof Clay)
-                  ((Clay) 
child).getSymbols().putAll(clayContext.getSymbols());        
+               // create a new scoped symbol table
+        Map symbolTable = new TreeMap();
+               // inherit the parents symbols
+        symbolTable.putAll(clayContext.getSymbols());
+               // override config (XML, HTML) symbols
+        symbolTable.putAll(displayElement.getSymbols());
+               //if target is a Clay component it might contain symbols
+        if (child instanceof Clay) {
+                       //override symbols from nested clay component
+            symbolTable.putAll(((Clay) child).getSymbols());
+                       //capture current symbols for the root of the nested 
component
+                       ((Clay) child).getSymbols().putAll(symbolTable);
+        }
+               //push to context
+        clayContext.setSymbols(symbolTable);
                
         // reassign the child to the converter for the
         // AssignPropertiesCommand



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

Reply via email to