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]