Author: gvanmatre
Date: Wed Jun 21 20:22:25 2006
New Revision: 416230

URL: http://svn.apache.org/viewvc?rev=416230&view=rev
Log:
Fix for JIRA issue SHALE-195 - clay incompatibility with myfaces 1.1.2 & 1.1.3.

Added:
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/SequenceGenerator.java
   (with props)
Modified:
    
struts/shale/trunk/shale-apps/shale-clay-usecases/src/main/webapp/WEB-INF/web.xml
    
struts/shale/trunk/shale-apps/shale-clay-usecases/src/main/webapp/symbols/home.html
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/LoadBundle.java
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/CreateComponentCommand.java
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyActionCommand.java
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyActionListenerCommand.java
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyConverterCommand.java
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValidatorCommand.java
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueChangeListenerCommand.java
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/config/Globals.java
    
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/utils/ClayAmalgam.java
    
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/config/CommentTestCase.java
    
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/config/SymbolsTestCase.java
    
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/utils/ClayAmalgamTestCase.java

Modified: 
struts/shale/trunk/shale-apps/shale-clay-usecases/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-apps/shale-clay-usecases/src/main/webapp/WEB-INF/web.xml?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-apps/shale-clay-usecases/src/main/webapp/WEB-INF/web.xml
 (original)
+++ 
struts/shale/trunk/shale-apps/shale-clay-usecases/src/main/webapp/WEB-INF/web.xml
 Wed Jun 21 20:22:25 2006
@@ -39,12 +39,6 @@
                <param-value>client</param-value>
        </context-param>
 
-       <!-- JSF Configuration Resources (comma-separated list) -->
-       <context-param>
-               <param-name>javax.faces.CONFIG_FILES</param-name>
-               <param-value>/WEB-INF/faces-config.xml</param-value>
-       </context-param>
-
        <!-- Commons Chain Configuration Resources -->
        <context-param>
                <param-name>

Modified: 
struts/shale/trunk/shale-apps/shale-clay-usecases/src/main/webapp/symbols/home.html
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-apps/shale-clay-usecases/src/main/webapp/symbols/home.html?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-apps/shale-clay-usecases/src/main/webapp/symbols/home.html
 (original)
+++ 
struts/shale/trunk/shale-apps/shale-clay-usecases/src/main/webapp/symbols/home.html
 Wed Jun 21 20:22:25 2006
@@ -27,6 +27,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 
 <body>
+<h:form id="home">
 <h:commandLink action="home" value="Home"/>
 
 <h1>Managed Bean Aliasing</h1>
@@ -105,6 +106,7 @@
 </h:outputLink>
 
 <br />
+</h:form>
 
 </body>
 

Modified: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/LoadBundle.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/LoadBundle.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/LoadBundle.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/LoadBundle.java
 Wed Jun 21 20:22:25 2006
@@ -31,7 +31,6 @@
 import javax.faces.component.UIComponentBase;
 import javax.faces.context.FacesContext;
 
-import org.apache.shale.faces.ShaleConstants;
 import org.apache.shale.util.Tags;
 
 /**
@@ -54,6 +53,14 @@
         return null;
     }
 
+    
+    /**
+     * <p>Shale tag helper class that contains utility methods for setting 
+     * component binding and method properties.</p>
+     */
+    private Tags tagUtils = new Tags();
+
+    
     /**
      * Sets the base name of the resource bundle to be loaded.
      */
@@ -88,10 +95,6 @@
                 .getContextClassLoader();
         if (classLoader == null)
             classLoader = getClass().getClassLoader();
-
-        // get the Tag Utilities
-        Tags tagUtils = (Tags) context.getApplication().getVariableResolver()
-                .resolveVariable(context, ShaleConstants.TAG_UTILITY_BEAN);
 
         // evaluate any VB expression that we were passed
         String resolvedBasename = tagUtils.evalString(basename);

Modified: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/CreateComponentCommand.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/CreateComponentCommand.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/CreateComponentCommand.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/CreateComponentCommand.java
 Wed Jun 21 20:22:25 2006
@@ -53,6 +53,43 @@
     }
     
     /**
+     * <p>Tests to see if myfaces runtime is installed by trying to load a 
known class.</p>
+     */
+    private boolean isMyfacesRuntimeInstalled() {
+        try {
+            
Class.forName("org.apache.myfaces.application.jsp.JspViewHandlerImpl");
+            return true;
+        } catch (ClassNotFoundException e) {
+        }
+
+        return false;
+    }
+    
+    
+    /**
+     * <p>Returns a unique component id for the request/response lifecycle.</p>
+     */
+    private String createUniqueId(FacesContext facesContext) {
+        String id = null;
+        
+        if (isMyfacesRuntimeInstalled()) {
+            Map requestMap = facesContext.getExternalContext().getRequestMap();
+            SequenceGenerator generator = (SequenceGenerator) 
requestMap.get(Globals.CLAY_SEQUENCE_GENERATOR);
+            if (generator == null) {
+                
+                generator = new SequenceGenerator();
+                requestMap.put(Globals.CLAY_SEQUENCE_GENERATOR, generator);
+            }
+            id = generator.createUniqueId();         
+        } else {
+            id = facesContext.getViewRoot().createUniqueId();    
+        }
+        
+        return id;
+    }
+    
+    
+    /**
      * <p>
      * Creates a new faces component from the component metadata.
      * </p>
@@ -92,7 +129,7 @@
         
         String id = null;
         if ((id = displayElement.getId()) == null)
-            id = facesContext.getViewRoot().createUniqueId();
+            id = createUniqueId(facesContext);
         else 
             id = replaceMnemonic(clayContext, id);  
         

Modified: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyActionCommand.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyActionCommand.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyActionCommand.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyActionCommand.java
 Wed Jun 21 20:22:25 2006
@@ -28,7 +28,6 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.shale.clay.config.beans.AttributeBean;
 import org.apache.shale.clay.config.beans.ComponentBean;
-import org.apache.shale.faces.ShaleConstants;
 import org.apache.shale.util.Tags;
 
 /**
@@ -52,6 +51,13 @@
     }
  
     /**
+     * <p>Shale tag helper class that contains utility methods for setting 
+     * component binding and method properties.</p>
+     */
+    private Tags tagUtils = new Tags();
+    
+    
+    /**
      * <p>
      * Looks to see if the [EMAIL PROTECTED] AttributeBean} on the [EMAIL 
PROTECTED] ClayContext} is a
      * <code>action</code> attribute. If it is, create a
@@ -77,12 +83,6 @@
         FacesContext facesContext = clayContext.getFacesContext();
         if (facesContext == null)
             throw new 
NullPointerException(messages.getMessage("clay.null.facesContext"));
-
-        Tags tagUtils = (Tags) facesContext
-                                .getApplication()
-                                .getVariableResolver()
-                                .resolveVariable(facesContext,
-                                        ShaleConstants.TAG_UTILITY_BEAN);
         
         if (tagUtils == null)
             throw new 
NullPointerException(messages.getMessage("clay.null.tagUtils"));

Modified: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyActionListenerCommand.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyActionListenerCommand.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyActionListenerCommand.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyActionListenerCommand.java
 Wed Jun 21 20:22:25 2006
@@ -28,7 +28,6 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.shale.clay.config.beans.AttributeBean;
 import org.apache.shale.clay.config.beans.ComponentBean;
-import org.apache.shale.faces.ShaleConstants;
 import org.apache.shale.util.Tags;
 
 /**
@@ -52,6 +51,12 @@
     }
  
     /**
+     * <p>Shale tag helper class that contains utility methods for setting 
+     * component binding and method properties.</p>
+     */
+    private Tags tagUtils = new Tags();
+    
+    /**
      * <p>
      * Looks to see if the [EMAIL PROTECTED] AttributeBean} on the [EMAIL 
PROTECTED] ClayContext} is a
      * <code>actionListener</code> attribute. If it is, create a
@@ -80,12 +85,7 @@
         
         if (attributeBean.getName().equals("actionListener") && 
attributeBean.getValue() != null) {
             isFinal = true;
- 
-            Tags tagUtils = (Tags) 
facesContext.getApplication().getVariableResolver()
-                            .resolveVariable(facesContext, 
ShaleConstants.TAG_UTILITY_BEAN);
-            if (tagUtils == null)
-                throw new 
NullPointerException(messages.getMessage("clay.null.tagUtils"));
-  
+   
             UIComponent child = (UIComponent) clayContext.getChild();
             if (child == null)
                 throw new 
NullPointerException(messages.getMessage("clay.null.childComponent"));

Modified: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyConverterCommand.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyConverterCommand.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyConverterCommand.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyConverterCommand.java
 Wed Jun 21 20:22:25 2006
@@ -30,7 +30,6 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.shale.clay.config.beans.AttributeBean;
 import org.apache.shale.clay.config.beans.ComponentBean;
-import org.apache.shale.faces.ShaleConstants;
 import org.apache.shale.util.Tags;
 
 /**
@@ -54,6 +53,12 @@
     }
  
     /**
+     * <p>Shale tag helper class that contains utility methods for setting 
+     * component binding and method properties.</p>
+     */
+    private Tags tagUtils = new Tags();
+    
+    /**
      * <p>
      * Looks to see if the [EMAIL PROTECTED] AttributeBean} on the [EMAIL 
PROTECTED] ClayContext} is a
      * <code>converter</code> attribute. If it is, create a
@@ -79,15 +84,6 @@
         FacesContext facesContext = clayContext.getFacesContext();
         if (facesContext == null)
             throw new 
NullPointerException(messages.getMessage("clay.null.facesContext"));
-
-        Tags tagUtils = (Tags) facesContext
-                                .getApplication()
-                                .getVariableResolver()
-                                .resolveVariable(facesContext,
-                                        ShaleConstants.TAG_UTILITY_BEAN);
-        
-        if (tagUtils == null)
-            throw new 
NullPointerException(messages.getMessage("clay.null.tagUtils"));
 
         if (attributeBean.getName().equals("converter") && 
attributeBean.getValue() != null) {
             isFinal = true;

Modified: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValidatorCommand.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValidatorCommand.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValidatorCommand.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValidatorCommand.java
 Wed Jun 21 20:22:25 2006
@@ -28,7 +28,6 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.shale.clay.config.beans.AttributeBean;
 import org.apache.shale.clay.config.beans.ComponentBean;
-import org.apache.shale.faces.ShaleConstants;
 import org.apache.shale.util.Tags;
 
 /**
@@ -53,6 +52,12 @@
     }
 
     /**
+     * <p>Shale tag helper class that contains utility methods for setting 
+     * component binding and method properties.</p>
+     */
+    private Tags tagUtils = new Tags();
+    
+    /**
      * <p>
      * Looks to see if the [EMAIL PROTECTED] AttributeBean} on the [EMAIL 
PROTECTED] ClayContext} is a
      * <code>validator</code> attribute. If it is, create a
@@ -79,12 +84,7 @@
             throw new 
NullPointerException(messages.getMessage("clay.null.facesContext"));
         if (attributeBean.getName().equals("validator") && 
attributeBean.getValue() != null) {
             isFinal = true;
-  
-            Tags tagUtils = (Tags) 
facesContext.getApplication().getVariableResolver()
-                            .resolveVariable(facesContext, 
ShaleConstants.TAG_UTILITY_BEAN);
-            if (tagUtils == null)
-                throw new 
NullPointerException(messages.getMessage("clay.null.tagUtils"));
-     
+       
             UIComponent child = (UIComponent) clayContext.getChild();
             if (child == null)
                 throw new NullPointerException("child");

Modified: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueChangeListenerCommand.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueChangeListenerCommand.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueChangeListenerCommand.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueChangeListenerCommand.java
 Wed Jun 21 20:22:25 2006
@@ -28,7 +28,6 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.shale.clay.config.beans.AttributeBean;
 import org.apache.shale.clay.config.beans.ComponentBean;
-import org.apache.shale.faces.ShaleConstants;
 import org.apache.shale.util.Tags;
 
 /**
@@ -53,6 +52,12 @@
     }
 
     /**
+     * <p>Shale tag helper class that contains utility methods for setting 
+     * component binding and method properties.</p>
+     */
+    private Tags tagUtils = new Tags();
+    
+    /**
      * <p>
      * Looks to see if the [EMAIL PROTECTED] AttributeBean} on the [EMAIL 
PROTECTED] ClayContext} is a
      * <code>valueChangeListener</code> attribute. If it is, create a
@@ -79,12 +84,7 @@
             throw new 
NullPointerException(messages.getMessage("clay.null.facesContext"));
         if (attributeBean.getName().equals("valueChangeListener") && 
attributeBean.getValue() != null) {
             isFinal = true;
-        
-            Tags tagUtils = (Tags) 
facesContext.getApplication().getVariableResolver()
-                            .resolveVariable(facesContext, 
ShaleConstants.TAG_UTILITY_BEAN);
-            if (tagUtils == null)
-                throw new 
NullPointerException(messages.getMessage("clay.null.tagUtils"));
-  
+          
             UIComponent child = (UIComponent) clayContext.getChild();
             if (child == null)
                 throw new NullPointerException("child");

Modified: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/PropertyValueCommand.java
 Wed Jun 21 20:22:25 2006
@@ -27,7 +27,6 @@
 import org.apache.commons.chain.Context;
 import org.apache.shale.clay.config.beans.AttributeBean;
 import org.apache.shale.clay.config.beans.ComponentBean;
-import org.apache.shale.faces.ShaleConstants;
 import org.apache.shale.util.ConverterHelper;
 import org.apache.shale.util.PropertyHelper;
 import org.apache.shale.util.Tags;
@@ -53,6 +52,13 @@
      */
     private ConverterHelper converterHelper = new ConverterHelper();
     
+    
+    /**
+     * <p>Shale tag helper class that contains utility methods for setting 
+     * component binding and method properties.</p>
+     */
+    private Tags tagUtils = new Tags();
+    
     /**
      * <p>Sets a property value on the target component.  If the data
      * type of the target bean property is not a String and the property
@@ -121,11 +127,6 @@
         if (facesContext == null)
             throw new 
NullPointerException(messages.getMessage("clay.null.facesContext"));
        
-        Tags tagUtils = (Tags) 
facesContext.getApplication().getVariableResolver()
-                               .resolveVariable(facesContext, 
ShaleConstants.TAG_UTILITY_BEAN);
-        if (tagUtils == null)
-            throw new 
NullPointerException(messages.getMessage("clay.null.tagUtils"));
-
         // replace all symbols returning the target attribute value       
         String expr = replaceMnemonic(clayContext);
         

Added: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/SequenceGenerator.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/SequenceGenerator.java?rev=416230&view=auto
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/SequenceGenerator.java
 (added)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/SequenceGenerator.java
 Wed Jun 21 20:22:25 2006
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Id$
+ */
+
+package org.apache.shale.clay.component.chain;
+
+/**
+ * <p>Generates a unique id used to identify each component in the component 
tree.  
+ * The id's will be prefixed with "_idsc" followed by a sequential incremented 
+ * number.  This class will be used outside of the implementation of the 
+ * <code>UIViewRoot<code>'s createUniqueId method.  This object will be cached 
+ * in request scope each time the view is rendered and the component tree 
contains  
+ * one or more [EMAIL PROTECTED] org.apache.shale.clay.component.Clay} 
components.<br/><br/>
+ * This class is only used with the myfaces implementation.</p>
+ * 
+ * </p>
+ */
+public class SequenceGenerator {
+   private StringBuffer buff = new StringBuffer("_idsc");
+   private int uniqueId = 0;
+   
+   /**
+    * <p>Returns a unique component id prefixed with "_idsc".</p>
+    */
+   public String createUniqueId() {
+       buff.setLength(5);
+       buff.append(uniqueId++);
+       return buff.toString();
+   }
+}

Propchange: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/SequenceGenerator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/component/chain/SequenceGenerator.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/config/Globals.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/config/Globals.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/config/Globals.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/config/Globals.java
 Wed Jun 21 20:22:25 2006
@@ -249,5 +249,10 @@
      * of the subtree.  The root is capture for enhanced error reporting.</p> 
      */
     public static final String CLAY_RESERVED_ATTRIBUTE = 
"org.apache.shale.clay";
-    
+ 
+    /**
+     * <p>The key value used to cache the [EMAIL PROTECTED] 
org.apache.shale.clay.component.chain.SequenceGenerator} 
+     * in request scope.</p>
+     */
+    public static final String CLAY_SEQUENCE_GENERATOR = 
"org.apache.shale.clay.chain.SequenceGenerator";
 }

Modified: 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/utils/ClayAmalgam.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/utils/ClayAmalgam.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/utils/ClayAmalgam.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/main/java/org/apache/shale/clay/utils/ClayAmalgam.java
 Wed Jun 21 20:22:25 2006
@@ -37,7 +37,6 @@
 import org.apache.shale.clay.config.beans.ConfigBeanFactory;
 import org.apache.shale.clay.config.beans.ElementBean;
 import org.apache.shale.clay.config.beans.SymbolBean;
-import org.apache.shale.faces.ShaleConstants;
 import org.apache.shale.util.Messages;
 import org.apache.shale.util.Tags;
 
@@ -48,7 +47,7 @@
  * the clay component's registration.</p>  
  */
 public class ClayAmalgam {
-    
+     
     /**
      * <p>Message resources for this class.</p>
      */
@@ -56,6 +55,13 @@
             ClayConfigureListener.class.getClassLoader());
     
     /**
+     * <p>Shale tag helper class that contains utility methods for setting 
+     * component binding and method properties.</p>
+     */
+    private Tags tagUtils = new Tags();
+    
+    
+    /**
      * <p>Replaces tokens in the <code>document</code> with 
      * matching tokens in the <code>context</code>.</p>
      */
@@ -145,12 +151,6 @@
             javax.faces.component.UIComponent component,
             java.lang.Object displayElementRoot) {
        
-        Tags tagUtils = (Tags) context.getApplication().getVariableResolver()
-                                      .resolveVariable(context, 
ShaleConstants.TAG_UTILITY_BEAN);
-        if (tagUtils == null)
-            throw new 
NullPointerException(messages.getMessage("clay.null.tagUtils"));
-
-        
         if (!(displayElementRoot instanceof ComponentBean) ||
                 !(component instanceof Clay)) {
             throw new RuntimeException(messages.getMessage("invalid.binding", 
new Object[] {"clayOut"}));    
@@ -210,12 +210,7 @@
             javax.faces.component.UIComponent component,
             java.lang.Object displayElementRoot) {
         
-        Tags tagUtils = (Tags) context.getApplication().getVariableResolver()
-                                      .resolveVariable(context, 
ShaleConstants.TAG_UTILITY_BEAN);
-        if (tagUtils == null)
-            throw new 
NullPointerException(messages.getMessage("clay.null.tagUtils"));
 
-        
         if (!(displayElementRoot instanceof ComponentBean) ||
                 !(component instanceof Clay)) {
             throw new RuntimeException(messages.getMessage("invalid.binding", 
new Object[] {"clayImport"}));    
@@ -327,12 +322,6 @@
     public void clayForEach(javax.faces.context.FacesContext context,
             javax.faces.component.UIComponent component,
             java.lang.Object displayElementRoot) {
-
-        Tags tagUtils = (Tags) context.getApplication().getVariableResolver()
-                .resolveVariable(context, ShaleConstants.TAG_UTILITY_BEAN);
-        if (tagUtils == null)
-            throw new NullPointerException(messages
-                    .getMessage("clay.null.tagUtils"));
 
         if (!(displayElementRoot instanceof ComponentBean)
                 || !(component instanceof Clay)) {

Modified: 
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/config/CommentTestCase.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/config/CommentTestCase.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/config/CommentTestCase.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/config/CommentTestCase.java
 Wed Jun 21 20:22:25 2006
@@ -28,8 +28,6 @@
 import org.apache.shale.clay.component.Clay;
 import org.apache.shale.clay.parser.Node;
 import org.apache.shale.clay.parser.Parser;
-import org.apache.shale.faces.ShaleConstants;
-import org.apache.shale.util.Tags;
 
 // test processing comment blocks
 public class CommentTestCase extends AbstractTestCaseConfig {
@@ -62,10 +60,7 @@
     
     public void setUp() {
         super.setUp();
-        
-        //Utility class is loaded as a managed bean in 
shale_core/META-INF/faces-config.xml
-        servletContext.setAttribute(ShaleConstants.TAG_UTILITY_BEAN, new 
Tags());
-                
+                        
         //loads the RI or myfaces renderers from the RENDERERS static array.
         for (int i = 0; i < RENDERERS.length; i++) {
             

Modified: 
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/config/SymbolsTestCase.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/config/SymbolsTestCase.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/config/SymbolsTestCase.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/config/SymbolsTestCase.java
 Wed Jun 21 20:22:25 2006
@@ -30,8 +30,6 @@
 import org.apache.shale.clay.config.beans.ComponentBean;
 import org.apache.shale.clay.config.beans.ElementBean;
 import org.apache.shale.clay.config.beans.SymbolBean;
-import org.apache.shale.faces.ShaleConstants;
-import org.apache.shale.util.Tags;
 
 // tests properties and symbol evaluation
 public class SymbolsTestCase extends AbstractTestCaseConfig {
@@ -72,10 +70,7 @@
        clayContext.setChild(child);
        clayContext.setAttribute(attr);
        clayContext.setDisplayElement(displayElement);
-       
-       //shale core utility class
-       servletContext.setAttribute(ShaleConstants.TAG_UTILITY_BEAN, new 
Tags());
-       
+              
        Command command = new PropertyValueCommand();
        boolean isFinal = command.execute(clayContext);
        assertEquals("command finished", true, isFinal);       
@@ -158,9 +153,6 @@
            clayContext.setDisplayElement(displayElement);
            clayContext.setSymbols(displayElement.getSymbols());
            
-           //shale core utility class
-           servletContext.setAttribute(ShaleConstants.TAG_UTILITY_BEAN, new 
Tags());
-           
            Command command = new PropertyValueCommand();
            boolean isFinal = command.execute(clayContext);
            assertEquals("command finished", true, isFinal);       
@@ -285,10 +277,7 @@
         clayContext.setParent(parent);
         clayContext.setDisplayElement(displayElement);
         clayContext.setSymbols(displayElement.getSymbols());
-        
-        //      shale core utility class
-        servletContext.setAttribute(ShaleConstants.TAG_UTILITY_BEAN, new 
Tags());
-        
+                
         Command command = new CreateComponentCommand();
         boolean isFinal = command.execute(clayContext);
         assertEquals("command finished", false, isFinal);
@@ -316,10 +305,7 @@
         clayContext.setParent(parent);
         clayContext.setDisplayElement(displayElement);
         clayContext.setSymbols(displayElement.getSymbols());
-        
-//      shale core utility class
-        servletContext.setAttribute(ShaleConstants.TAG_UTILITY_BEAN, new 
Tags());
-        
+                
         command = new CreateComponentCommand();
         try {
             isFinal = command.execute(clayContext);
@@ -345,10 +331,7 @@
         clayContext.setParent(parent);
         clayContext.setDisplayElement(displayElement);
         clayContext.setSymbols(displayElement.getSymbols());
-        
-//      shale core utility class
-        servletContext.setAttribute(ShaleConstants.TAG_UTILITY_BEAN, new 
Tags());
-        
+                
         command = new CreateComponentCommand();
         try {
             isFinal = command.execute(clayContext);
@@ -390,10 +373,7 @@
         clayContext.setDisplayElement(displayElement);
         // normally done in the AssignChildrenCommand
         clayContext.setSymbols(displayElement.getSymbols());
-        
-        //shale core utility class
-        servletContext.setAttribute(ShaleConstants.TAG_UTILITY_BEAN, new 
Tags());
-        
+                
         Command command = new PropertyValueCommand();
         boolean isFinal = command.execute(clayContext);
         assertEquals("command finished", true, isFinal);       

Modified: 
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/utils/ClayAmalgamTestCase.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/utils/ClayAmalgamTestCase.java?rev=416230&r1=416229&r2=416230&view=diff
==============================================================================
--- 
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/utils/ClayAmalgamTestCase.java
 (original)
+++ 
struts/shale/trunk/shale-clay/src/test/java/org/apache/shale/clay/utils/ClayAmalgamTestCase.java
 Wed Jun 21 20:22:25 2006
@@ -27,9 +27,7 @@
 
 import org.apache.shale.clay.config.beans.AttributeBean;
 import org.apache.shale.clay.config.beans.ComponentBean;
-import org.apache.shale.faces.ShaleConstants;
 import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.util.Tags;
 
 public class ClayAmalgamTestCase extends AbstractViewControllerTestCase {
 
@@ -47,7 +45,6 @@
 
         clayAmalgam = new ClayAmalgam();
         application.addComponent("org.apache.shale.clay.component.Clay", 
"org.apache.shale.clay.component.Clay"); 
-        servletContext.setAttribute(ShaleConstants.TAG_UTILITY_BEAN, new 
Tags());
     }
  
     // Construct a new instance of this test case.


Reply via email to