You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by aw...@apache.org on 2007/07/03 22:51:35 UTC

svn commit: r552975 [4/41] - in /myfaces/trinidad/branches/pre-1.2.2-branch: plugins/ plugins/maven-faces-plugin/ plugins/maven-faces-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/faces/ plugins/maven-faces-plugin/src/main/java/org/apach...

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-i18n-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/i18n/uixtools/JSLocaleElementsGenerator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-i18n-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/i18n/uixtools/JSLocaleElementsGenerator.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-i18n-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/i18n/uixtools/JSLocaleElementsGenerator.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-i18n-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/i18n/uixtools/JSLocaleElementsGenerator.java Tue Jul  3 13:51:23 2007
@@ -779,12 +779,12 @@
 "\n" +
 "import java.util.HashMap;\n" +
 "\n" +
-"/**\n" +
+"/*\n" +
 " * List of supported locales.  Automatically generated - do not modify!\n" +
 " */\n" +
 "public class LocaleList\n" +
 "{\n" +
-"  /**\n" +
+"  /*\n" +
 "   * Returns the list of supported locales.\n" +
 "   */\n" +
 "  static public HashMap<Locale, Locale> getSupportedLocales()\n" +
@@ -851,7 +851,4 @@
 
     private static final Object[] _EMPTY_ARRAY = new Object[0];
   }
-
 }
-
-

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-javacc-plugin/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-javacc-plugin/pom.xml?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-javacc-plugin/pom.xml (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-javacc-plugin/pom.xml Tue Jul  3 13:51:23 2007
@@ -23,13 +23,13 @@
   <parent>
     <groupId>org.apache.myfaces.trinidadbuild</groupId>
     <artifactId>maven-plugin-parent</artifactId> 
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.2.1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.myfaces.trinidadbuild</groupId>
   <artifactId>maven-javacc-plugin</artifactId>
   <packaging>maven-plugin</packaging>
-  <version>1.0.2-SNAPSHOT</version>
+  <version>1.2.1-SNAPSHOT</version>
   <name>Apache Trinidad Maven Javacc Plugin</name>
   <dependencies>
     <dependency>

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-javascript-plugin/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-javascript-plugin/pom.xml?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-javascript-plugin/pom.xml (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-javascript-plugin/pom.xml Tue Jul  3 13:51:23 2007
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.myfaces.trinidadbuild</groupId>
     <artifactId>maven-plugin-parent</artifactId> 
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.2.1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.myfaces.trinidadbuild</groupId>
   <artifactId>maven-javascript-plugin</artifactId> 
-  <version>1.0.2-SNAPSHOT</version>
+  <version>1.2.1-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
   <name>Apache Trinidad Maven Javascript Plugin</name>
 
@@ -46,7 +46,7 @@
       <plugin>
 	<groupId>org.apache.myfaces.trinidadbuild</groupId>
         <artifactId>maven-javacc-plugin</artifactId>
-        <version>1.0.2-SNAPSHOT</version>
+        <version>1.2.1-SNAPSHOT</version>
         <configuration>
           <sourceDirectory>src/main/java</sourceDirectory>
           <sourcePath>org/apache/myfaces/trinidadbuild/plugin/javascript/obfuscator/javascript15parser</sourcePath>

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-jdev-plugin/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-jdev-plugin/pom.xml?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-jdev-plugin/pom.xml (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-jdev-plugin/pom.xml Tue Jul  3 13:51:23 2007
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.myfaces.trinidadbuild</groupId>
     <artifactId>maven-plugin-parent</artifactId> 
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.2.1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.myfaces.trinidadbuild</groupId>
   <artifactId>maven-jdev-plugin</artifactId> 
-  <version>1.0.2-SNAPSHOT</version>
+  <version>1.2.1-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
   <name>Apache Trinidad Maven JDev Plugin</name>
 

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-tagdoc-plugin/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-tagdoc-plugin/pom.xml?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-tagdoc-plugin/pom.xml (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-tagdoc-plugin/pom.xml Tue Jul  3 13:51:23 2007
@@ -23,12 +23,12 @@
   <parent>
     <groupId>org.apache.myfaces.trinidadbuild</groupId>
     <artifactId>maven-plugin-parent</artifactId> 
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.2.1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.myfaces.trinidadbuild</groupId>
   <artifactId>maven-tagdoc-plugin</artifactId> 
-  <version>1.0.2-SNAPSHOT</version>
+  <version>1.2.1-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
   <name>Apache Trinidad Maven Tag Documentation Report</name>
 
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.myfaces.trinidadbuild</groupId>
       <artifactId>maven-faces-plugin</artifactId>
-      <version>1.0.2-SNAPSHOT</version>
+      <version>1.2.1-SNAPSHOT</version>
     </dependency>
       <dependency>
         <groupId>org.apache.maven</groupId>

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-tagdoc-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/tagdoc/TagdocReport.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-tagdoc-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/tagdoc/TagdocReport.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-tagdoc-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/tagdoc/TagdocReport.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-tagdoc-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/tagdoc/TagdocReport.java Tue Jul  3 13:51:23 2007
@@ -752,10 +752,17 @@
         out.write("</tr>\n");
       }
 
+      String propertyName = attr.getPropertyName();
+      // Quick fix of problems with actionExpression vs. action
+      // actionExpression is the MethodExpression on the component,
+      // but on the tag it's 'action'
+      if ("actionExpression".equals(propertyName))
+        propertyName = "action";
+
       out.write("<tr>\n");
-      out.write("<td>" + attr.getPropertyName() + "</td>");
+      out.write("<td>" + propertyName + "</td>");
       String type = _getDisplayType(className,
-                                    attr.getPropertyName(),
+                                    propertyName,
                                     attr.getPropertyClass());
 
       out.write("<td>" + type + "</td>");
@@ -764,10 +771,11 @@
       // MethodBindings, "binding", and some other attributes
       // require EL support
       if (attr.isMethodBinding() || 
-          "binding".equals(attr.getPropertyName()))
+          attr.isMethodExpression() ||
+          "binding".equals(propertyName))
       {
         // "action" doesn't require EL; all else do.
-        elSupported = "action".equals(attr.getPropertyName()) ? "Yes" : "Only EL";
+        elSupported = "action".equals(propertyName) ? "Yes" : "Only EL";
       }
       else
       {

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-xrts-plugin/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-xrts-plugin/pom.xml?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-xrts-plugin/pom.xml (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/plugins/maven-xrts-plugin/pom.xml Tue Jul  3 13:51:23 2007
@@ -23,12 +23,13 @@
   <parent>
     <groupId>org.apache.myfaces.trinidadbuild</groupId>
     <artifactId>maven-plugin-parent</artifactId> 
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.2.1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.myfaces.trinidadbuild</groupId>
   <artifactId>maven-xrts-plugin</artifactId> 
-  <version>1.0.2-SNAPSHOT</version>
+
+  <version>1.2.1-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
   <name>Apache Trinidad Maven XRTS Plugin</name>
 

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/plugins/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/plugins/pom.xml?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/plugins/pom.xml (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/plugins/pom.xml Tue Jul  3 13:51:23 2007
@@ -25,7 +25,7 @@
 
   <groupId>org.apache.myfaces.trinidadbuild</groupId>
   <artifactId>maven-plugin-parent</artifactId> 
-  <version>1.0.2-SNAPSHOT</version>
+  <version>1.2.1-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>Apache Trinidad Maven Plugin Parent</name>
 
@@ -189,8 +189,12 @@
   </build>
 
   <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/trinidad/trunk/plugins/</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/trinidad/trunk/plugins/</developerConnection>
+    <connection>
+      scm:svn:http://svn.apache.org/repos/asf/myfaces/trinidad/branches/1.2.1-branch/plugins/
+    </connection>
+    <developerConnection>
+      scm:svn:https://svn.apache.org/repos/asf/myfaces/trinidad/branches/1.2.1-branch/plugins/
+    </developerConnection>
   </scm>
 
   <modules>

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/pom.xml?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/pom.xml (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/pom.xml Tue Jul  3 13:51:23 2007
@@ -29,9 +29,9 @@
   <groupId>org.apache.myfaces.trinidad</groupId>
   <artifactId>trinidad</artifactId>
   <packaging>pom</packaging>
-  <name>Apache MyFaces Trinidad</name>
-  <version>1.0.2-SNAPSHOT</version>
-  <description>Apache MyFaces Trinidad</description>
+  <name>Apache MyFaces Trinidad 1.2</name>
+  <version>1.2.2-SNAPSHOT</version>
+  <description>JSF 1.2 branch of Apache MyFaces Trinidad</description>
 
   <issueManagement>
     <system>jira</system>
@@ -170,12 +170,12 @@
 
   <scm>
     <connection>
-      scm:svn:http://svn.apache.org/repos/asf/myfaces/trinidad/trunk/trinidad/
+      scm:svn:http://svn.apache.org/repos/asf/myfaces/trinidad/branches/1.2.1-branch/trinidad/
     </connection>
     <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/myfaces/trinidad/trunk/trinidad/
+      scm:svn:https://svn.apache.org/repos/asf/myfaces/trinidad/branches/1.2.1-branch/trinidad/
     </developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/myfaces/trinidad/trunk/trinidad</url>
+    <url>http://svn.apache.org/viewcvs.cgi/myfaces/trinidad/branches/1.2.1-branch/trinidad</url>
   </scm>
 
   <build>
@@ -200,28 +200,28 @@
         <plugin>
           <groupId>org.apache.myfaces.trinidadbuild</groupId>
           <artifactId>maven-xrts-plugin</artifactId>
-          <version>1.0.1</version>
+          <version>1.2.1</version>
           <inherited>true</inherited>
         </plugin>
 
         <plugin>
           <groupId>org.apache.myfaces.trinidadbuild</groupId>
           <artifactId>maven-faces-plugin</artifactId>
-          <version>1.0.1</version>
+          <version>1.2.1</version>
           <inherited>true</inherited>
         </plugin>
 
         <plugin>
           <groupId>org.apache.myfaces.trinidadbuild</groupId>
           <artifactId>maven-i18n-plugin</artifactId>
-          <version>1.0.1</version>
+          <version>1.2.1</version>
           <inherited>true</inherited>
         </plugin>
 
         <plugin>
           <groupId>org.apache.myfaces.trinidadbuild</groupId>
           <artifactId>maven-javascript-plugin</artifactId>
-          <version>1.0.2-SNAPSHOT</version>
+          <version>1.2.1</version>
           <inherited>true</inherited>
         </plugin>
 
@@ -232,8 +232,10 @@
           <configuration>
             <source>1.5</source>
             <target>1.5</target>
+<!--
             <showWarnings>true</showWarnings>
-            <compilerArgument>-Xlint:all,-serial,-fallthrough</compilerArgument>
+            <compilerArgument>-Xlint:all,-serial,-fallthrough,-deprecation</compilerArgument>
+-->
           </configuration>
         </plugin>
 
@@ -373,24 +375,39 @@
       </dependency>
 
       <dependency>
+        <groupId>javax.faces</groupId>
+        <artifactId>jsf-api</artifactId>
+        <version>1.2_04</version>
+        <scope>provided</scope>
+      </dependency>
+
+      <dependency>
+        <groupId>javax.faces</groupId>
+        <artifactId>jsf-impl</artifactId>
+        <version>1.2_04</version>
+        <scope>provided</scope>
+      </dependency>
+
+      <dependency>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-api</artifactId>
-        <version>1.1.5</version>
+        <version>1.2.0-SNAPSHOT</version>
         <scope>provided</scope>
       </dependency>
 
       <dependency>
         <groupId>org.apache.myfaces.core</groupId>
         <artifactId>myfaces-impl</artifactId>
-        <version>1.1.5</version>
+        <version>1.2.0-SNAPSHOT</version>
         <scope>provided</scope>
       </dependency>
 
       <dependency>
         <groupId>org.apache.shale</groupId>
         <artifactId>shale-test</artifactId>
-        <version>1.0.3</version>
+        <version>1.0.4</version>
         <scope>test</scope>
+
       </dependency>
 
       <dependency>
@@ -410,20 +427,20 @@
       <dependency>
         <groupId>org.apache.myfaces.trinidad</groupId>
         <artifactId>trinidad-build</artifactId>
-        <version>1.0.2-SNAPSHOT</version>
+        <version>${pom.version}</version>
         <scope>provided</scope>
       </dependency>
 
       <dependency>
         <groupId>org.apache.myfaces.trinidad</groupId>
         <artifactId>trinidad-api</artifactId>
-        <version>1.0.2-SNAPSHOT</version>
+        <version>${pom.version}</version>
       </dependency>
 
       <dependency>
         <groupId>org.apache.myfaces.trinidad</groupId>
         <artifactId>trinidad-api</artifactId>
-        <version>1.0.2-SNAPSHOT</version>
+        <version>${pom.version}</version>
         <type>test-jar</type>
         <scope>test</scope>
       </dependency>
@@ -431,7 +448,7 @@
       <dependency>
         <groupId>org.apache.myfaces.trinidad</groupId>
         <artifactId>trinidad-impl</artifactId>
-        <version>1.0.2-SNAPSHOT</version>
+        <version>${pom.version}</version>
       </dependency>
 
 
@@ -443,6 +460,13 @@
         <scope>provided</scope>
       </dependency>
 
+      <dependency>
+        <groupId>jstl</groupId>
+        <artifactId>jstl</artifactId>
+        <version>1.2</version>
+        <scope>provided</scope>
+      </dependency>
+
 
       <dependency>
         <groupId>com.sun.facelets</groupId>
@@ -478,7 +502,7 @@
     <site>
       <id>apache-site</id>
       <name>Apache Website</name>
-      <url>scpexe://minotaur.apache.org/www/myfaces.apache.org/trinidad</url>
+      <url>scpexe://minotaur.apache.org/www/incubator.apache.org/trinidad-1_2</url>
     </site>
     <snapshotRepository>
       <uniqueVersion>false</uniqueVersion>
@@ -502,5 +526,4 @@
     </snapshotRepository>
 -->
   </distributionManagement>
-
 </project>

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/pom.xml?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/pom.xml (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/pom.xml Tue Jul  3 13:51:23 2007
@@ -18,7 +18,7 @@
   <parent>
     <groupId>org.apache.myfaces.trinidad</groupId>
     <artifactId>trinidad</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>1.2.2-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -96,6 +96,7 @@
         <configuration>
           <typePrefix>org.apache</typePrefix>
           <packageContains>org.apache</packageContains>
+          <jsfVersion>1.2</jsfVersion>
           <!--suppressListenerMethods>true</suppressListenerMethods-->
           <force>true</force>
         </configuration>
@@ -164,6 +165,13 @@
     </dependency>
 
     <dependency>
+      <groupId>commons-beanutils</groupId>
+      <artifactId>commons-beanutils</artifactId>
+      <version>1.7.0</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
       <groupId>jmock</groupId>
       <artifactId>jmock</artifactId>
       <scope>test</scope>
@@ -186,7 +194,7 @@
       <plugin>
         <groupId>org.apache.myfaces.trinidadbuild</groupId>
         <artifactId>maven-tagdoc-plugin</artifactId>
-        <version>1.0.1</version>
+        <version>1.2.1</version>
         <configuration>
           <taglibs>
             <tr>http://myfaces.apache.org/trinidad</tr>

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXChartTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXChartTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXChartTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXChartTemplate.java Tue Jul  3 13:51:23 2007
@@ -18,6 +18,8 @@
  */
 package org.apache.myfaces.trinidad.component;
 
+import javax.el.MethodExpression;
+
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.el.MethodBinding;
@@ -42,7 +44,7 @@
    * @param event
    * @throws javax.faces.event.AbortProcessingException
    */
-	@Override
+  @Override
   public void broadcast(FacesEvent event)
     throws AbortProcessingException
   {
@@ -50,7 +52,7 @@
     // Deliver to the default ChartDrillDownEvent
     if (event instanceof ChartDrillDownEvent)
     {
-      broadcastToMethodBinding(event, getChartDrillDownListener());
+      broadcastToMethodExpression(event, getChartDrillDownListener());
     }
     super.broadcast(event);
   }

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXCommandTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXCommandTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXCommandTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXCommandTemplate.java Tue Jul  3 13:51:23 2007
@@ -18,7 +18,10 @@
  */
 package org.apache.myfaces.trinidad.component;
 
+import javax.el.MethodExpression;
+
 import javax.faces.component.ActionSource;
+import javax.faces.component.ActionSource2;
 import javax.faces.context.FacesContext;
 import javax.faces.el.MethodBinding;
 import javax.faces.event.AbortProcessingException;
@@ -37,12 +40,48 @@
  * @version $Name:  $ ($Revision$) $Date$
  */
 abstract public class UIXCommandTemplate extends UIXComponentBase
-                                  implements ActionSource, DialogSource
+  implements ActionSource, ActionSource2, DialogSource
 {
 /**/ // Abstract methods implemented by code gen
+/**/  abstract public MethodExpression getActionExpression();
+/**/  abstract public MethodExpression setActionExpression();
+/**/  abstract public MethodExpression getLaunchListener();
 /**/  abstract public MethodBinding getActionListener();
-/**/  abstract public MethodBinding getReturnListener();
-/**/  abstract public MethodBinding getLaunchListener();
+/**/  abstract public MethodExpression getReturnListener();
+/**/  abstract public MethodExpression getLaunchListener();
+
+  @Deprecated
+  public void setLaunchListener(MethodBinding binding)
+  {
+    setLaunchListener(adaptMethodBinding(binding));
+  }
+
+  @Deprecated
+  public void setReturnListener(MethodBinding binding)
+  {
+    setReturnListener(adaptMethodBinding(binding));
+  }
+
+
+  public MethodBinding getAction()
+  {
+    MethodExpression me = getActionExpression();
+    if (me == null)
+      return null;
+
+    if (me instanceof MethodBindingMethodExpression)
+      return ((MethodBindingMethodExpression) me).getMethodBinding();
+
+    return new MethodExpressionMethodBinding(me);
+  }
+
+  public void setAction(MethodBinding binding)
+  {
+    if (binding instanceof MethodExpressionMethodBinding)
+      setActionExpression(((MethodExpressionMethodBinding) binding).getMethodExpression());
+    else
+      setActionExpression(new MethodBindingMethodExpression(binding));
+  }
 
   /**
    * <p>Intercept <code>queueEvent</code> and mark the phaseId for the
@@ -109,7 +148,7 @@
 
       if (event instanceof LaunchEvent)
       {
-        broadcastToMethodBinding(event, getLaunchListener());
+        broadcastToMethodExpression(event, getLaunchListener());
         boolean useWindow = 
           Boolean.TRUE.equals(getAttributes().get("useWindow"));
 
@@ -117,7 +156,7 @@
       }
       else if (event instanceof ReturnEvent)
       {
-        broadcastToMethodBinding(event, getReturnListener());
+        broadcastToMethodExpression(event, getReturnListener());
         // =-=AEW: always jump to render response???  Seems the safest
         // option, because we don't want to immediately update a model
         // or really perform any validation.

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXDecorateCollectionTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXDecorateCollectionTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXDecorateCollectionTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXDecorateCollectionTemplate.java Tue Jul  3 13:51:23 2007
@@ -18,6 +18,7 @@
  */
 package org.apache.myfaces.trinidad.component;
 
+import javax.faces.context.FacesContext;
 import javax.faces.component.NamingContainer;
 
 /**
@@ -63,9 +64,9 @@
    * @return the local clientId
    */
   @Override
-  protected final String getLocalClientId()
+  public final String getContainerClientId(FacesContext context)
   {
-    String id = super.getLocalClientId();
+    String id = getClientId(context);
     String key = getCurrencyString();
     if (key != null)
     {

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXEditableValueTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXEditableValueTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXEditableValueTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXEditableValueTemplate.java Tue Jul  3 13:51:23 2007
@@ -20,6 +20,8 @@
 
 import java.util.Iterator;
 
+import javax.el.ValueExpression;
+
 import javax.faces.application.Application;
 import javax.faces.application.FacesMessage;
 import javax.faces.component.EditableValueHolder;
@@ -28,7 +30,6 @@
 import javax.faces.convert.ConverterException;
 import javax.faces.el.EvaluationException;
 import javax.faces.el.MethodBinding;
-import javax.faces.el.ValueBinding;
 import javax.faces.event.AbortProcessingException;
 import javax.faces.event.FacesEvent;
 import javax.faces.event.ValueChangeEvent;
@@ -113,6 +114,7 @@
 
     // Submitted value == null means "the component was not submitted
     // at all";  validation should not continue
+
     Object submittedValue = getSubmittedValue();
     if (submittedValue == null)
       return;
@@ -238,21 +240,21 @@
     if (!isValid() || !isLocalValueSet())
       return;
 
-    ValueBinding binding = getFacesBean().getValueBinding(VALUE_KEY);
-    if (binding == null)
+    ValueExpression expression = getFacesBean().getValueExpression(VALUE_KEY);
+    if (expression == null)
       return;
 
     try
     {
       Object localValue = getLocalValue();
-      binding.setValue(context, localValue);
+      expression.setValue(context.getELContext(), localValue);
       setValue(null);
       setLocalValueSet(false);
       if (_LOG.isFiner())
       {
         _LOG.finer("Wrote value {0} to model {1} in component {2}",
                    new Object[]{localValue,
-                                binding.getExpressionString(),
+                                expression.getExpressionString(),
                                 this});
       }
     }
@@ -262,8 +264,8 @@
       // bean attribute level validation:
       if (_LOG.isFine())
       {
-        _LOG.fine("Error updating binding ({0})",
-                    binding.getExpressionString());
+        _LOG.fine("Error updating expression ({0})",
+                    expression.getExpressionString());
         _LOG.fine(e);
       }
 
@@ -380,7 +382,6 @@
     {
       newValue = renderer.getConvertedValue(context, this,
                                             submittedValue);
-
       if (_LOG.isFine())
       {
         _LOG.fine("Renderer " + renderer + " returned value " + newValue + "(" +
@@ -465,7 +466,7 @@
   {
     Object o = getAttributes().get("label");
     if (o == null)
-      o = getValueBinding("label");
+      o = getValueExpression("label");
 
     return o;
   }
@@ -474,7 +475,7 @@
   {
     Object o = getAttributes().get("requiredMessageDetail");
       if (o == null)
-       o = getValueBinding("requiredMessageDetail");
+       o = getValueExpression("requiredMessageDetail");
 
     return o;
   }
@@ -526,13 +527,13 @@
       return converter;
     }
 
-    ValueBinding valueBinding = getValueBinding("value");
-    if (valueBinding == null)
+    ValueExpression valueExpression = getValueExpression("value");
+    if (valueExpression == null)
     {
       return null;
     }
 
-    Class<?> converterType = valueBinding.getType(context);
+    Class<?> converterType = valueExpression.getType(context.getELContext());
     // if converterType is null, String, or Object, assume
     // no conversion is needed
     if (converterType == null ||

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXPollTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXPollTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXPollTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXPollTemplate.java Tue Jul  3 13:51:23 2007
@@ -18,6 +18,8 @@
  */
 package org.apache.myfaces.trinidad.component;
 
+import javax.el.MethodExpression;
+
 import javax.faces.el.MethodBinding;
 import javax.faces.event.AbortProcessingException;
 import javax.faces.event.FacesEvent;
@@ -34,7 +36,13 @@
 	
 /**/ // Abstract methods implemented by code gen
 /**/  abstract public boolean isImmediate();
-/**/  abstract public MethodBinding getPollListener();
+/**/  abstract public MethodExpression getPollListener();
+
+  @Deprecated
+  public void setPollListener(MethodBinding binding)
+  {
+    setPollListener(adaptMethodBinding(binding));
+  }
 
   //
   // Abstract methods implemented by subclass.
@@ -47,7 +55,7 @@
     // Notify the specified Poll listener method (if any)
     if (event instanceof PollEvent)
     {
-      broadcastToMethodBinding(event, getPollListener());
+      broadcastToMethodExpression(event, getPollListener());
     }
   }
 

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXSelectInputTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXSelectInputTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXSelectInputTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXSelectInputTemplate.java Tue Jul  3 13:51:23 2007
@@ -18,7 +18,10 @@
  */
 package org.apache.myfaces.trinidad.component;
 
+import javax.el.MethodExpression;
+
 import javax.faces.component.ActionSource;
+import javax.faces.component.ActionSource2;
 import javax.faces.context.FacesContext;
 import javax.faces.el.MethodBinding;
 import javax.faces.event.AbortProcessingException;
@@ -38,12 +41,40 @@
  * @version $Name:  $ ($Revision$) $Date$
  */
 abstract public class UIXSelectInputTemplate extends UIXEditableValue
-                                      implements ActionSource
+  implements ActionSource, ActionSource2
 {
 	
 /**/ // Abstract methods implemented by code gen
+/**/  abstract public MethodExpression getActionExpression();
+/**/  abstract public MethodExpression setActionExpression();
 /**/  abstract public MethodBinding getActionListener();
-/**/  abstract public MethodBinding getReturnListener();
+/**/  abstract public MethodExpression getReturnListener();
+
+  @Deprecated
+  public void setReturnListener(MethodBinding binding)
+  {
+    setReturnListener(adaptMethodBinding(binding));
+  }
+
+  public MethodBinding getAction()
+  {
+    MethodExpression me = getActionExpression();
+    if (me == null)
+      return null;
+
+    if (me instanceof MethodBindingMethodExpression)
+      return ((MethodBindingMethodExpression) me).getMethodBinding();
+
+    return new MethodExpressionMethodBinding(me);
+  }
+
+  public void setAction(MethodBinding binding)
+  {
+    if (binding instanceof MethodExpressionMethodBinding)
+      setActionExpression(((MethodExpressionMethodBinding) binding).getMethodExpression());
+    else
+      setActionExpression(new MethodBindingMethodExpression(binding));
+  }
 
   /**
    * <p>Intercept <code>queueEvent</code> and mark the phaseId for any
@@ -115,7 +146,7 @@
     {
       super.broadcast(event);
 
-      broadcastToMethodBinding(event, getReturnListener());
+      broadcastToMethodExpression(event, getReturnListener());
       Object returnValue = ((ReturnEvent) event).getReturnValue();
       if (returnValue != null)
       {

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXSelectRangeTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXSelectRangeTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXSelectRangeTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXSelectRangeTemplate.java Tue Jul  3 13:51:23 2007
@@ -19,6 +19,7 @@
 package org.apache.myfaces.trinidad.component;
 
 import java.io.IOException;
+import javax.el.MethodExpression;
 import javax.faces.context.FacesContext;
 import javax.faces.el.MethodBinding;
 import javax.faces.event.AbortProcessingException;
@@ -38,11 +39,17 @@
 public abstract class UIXSelectRangeTemplate extends UIXComponentBase
 {
 /**/ // Abstract methods implemented by code gen
-/**/  abstract public MethodBinding getRangeChangeListener();
+/**/  abstract public MethodExpression getRangeChangeListener();
 /**/  abstract public void setFirst(int first);
 /**/  abstract public boolean isImmediate();
 /**/  abstract public Object getValue();
 
+  @Deprecated
+  public void setRangeChangeListener(MethodBinding binding)
+  {
+    setRangeChangeListener(adaptMethodBinding(binding));
+  }
+
   @Override
   public void encodeBegin(FacesContext context) throws IOException
   {
@@ -60,7 +67,7 @@
       // update first when the event is delivered
       setFirst(gtEvent.getNewStart());
 
-      broadcastToMethodBinding(event, getRangeChangeListener());
+      broadcastToMethodExpression(event, getRangeChangeListener());
     }
 
     // Perform standard superclass processing

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXShowDetailTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXShowDetailTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXShowDetailTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXShowDetailTemplate.java Tue Jul  3 13:51:23 2007
@@ -18,6 +18,7 @@
  */
 package org.apache.myfaces.trinidad.component;
 
+import javax.el.MethodExpression;
 import javax.faces.context.FacesContext;
 import javax.faces.el.MethodBinding;
 import javax.faces.event.AbortProcessingException;
@@ -38,7 +39,13 @@
 /**/  abstract public boolean isDisclosed();
 /**/  abstract public void setDisclosed(boolean setDisclosed);
 /**/  abstract public boolean isImmediate();
-/**/  abstract public MethodBinding getDisclosureListener();
+/**/  abstract public MethodExpression getDisclosureListener();
+
+  @Deprecated
+  public void setDisclosureListener(MethodBinding binding)
+  {
+    setDisclosureListener(adaptMethodBinding(binding));
+  }
 
   @Override
   public void processDecodes(FacesContext context)
@@ -98,7 +105,7 @@
         getFacesContext().renderResponse();
 
       // Notify the specified disclosure listener method (if any)
-      broadcastToMethodBinding(event, getDisclosureListener());
+      broadcastToMethodExpression(event, getDisclosureListener());
     }
   }
 

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTableTemplate.java Tue Jul  3 13:51:23 2007
@@ -22,6 +22,8 @@
 import java.util.Iterator;
 import java.util.List;
 
+import javax.el.MethodExpression;
+
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.el.MethodBinding;
@@ -103,7 +105,7 @@
       // since the range is now different we can clear the currency cache:
       clearCurrencyStringCache();
       
-      broadcastToMethodBinding(event, getRangeChangeListener());
+      broadcastToMethodExpression(event, getRangeChangeListener());
     }
     else if (event instanceof RowDisclosureEvent)
     {
@@ -111,20 +113,20 @@
       RowKeySet set = getDisclosedRowKeys();
       set.addAll(eEvent.getAddedSet());
       set.removeAll(eEvent.getRemovedSet());
-      broadcastToMethodBinding(event, getRowDisclosureListener());
+      broadcastToMethodExpression(event, getRowDisclosureListener());
     }
     else if (event instanceof SortEvent)
     {
       SortEvent sEvent = (SortEvent) event;
       setSortCriteria(sEvent.getSortCriteria());
-      broadcastToMethodBinding(event, getSortListener());
+      broadcastToMethodExpression(event, getSortListener());
     }
     else if (event instanceof SelectionEvent)
     {
       //pu: Implicitly record a Change for 'selectionState' attribute
       addAttributeChange("selectedRowKeys",
                          getSelectedRowKeys());
-      broadcastToMethodBinding(event, getSelectionListener());
+      broadcastToMethodExpression(event, getSelectionListener());
     }
 
     super.broadcast(event);
@@ -139,11 +141,35 @@
 /**/  abstract public void setShowAll(boolean showAll);
 /**/  abstract public boolean isShowAll();
 /**/  abstract public UIComponent getDetailStamp();
-/**/  public abstract MethodBinding getRangeChangeListener();
-/**/  public abstract MethodBinding getSortListener();
-/**/  public abstract MethodBinding getRowDisclosureListener();
-/**/  public abstract MethodBinding getSelectionListener();
+/**/  public abstract MethodExpression getRangeChangeListener();
+/**/  public abstract MethodExpression getSortListener();
+/**/  public abstract MethodExpression getRowDisclosureListener();
+/**/  public abstract MethodExpression getSelectionListener();
 /**/  public abstract boolean isImmediate();
+
+  @Deprecated
+  public void setRangeChangeListener(MethodBinding binding)
+  {
+    setRangeChangeListener(adaptMethodBinding(binding));
+  }
+
+  @Deprecated
+  public void setSortListener(MethodBinding binding)
+  {
+    setSortListener(adaptMethodBinding(binding));
+  }
+
+  @Deprecated
+  public void setRowDisclosureListener(MethodBinding binding)
+  {
+    setRowDisclosureListener(adaptMethodBinding(binding));
+  }
+
+  @Deprecated
+  public void setSelectionListener(MethodBinding binding)
+  {
+    setSelectionListener(adaptMethodBinding(binding));
+  }
 
   @Override
   @SuppressWarnings("unchecked")

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTableTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTableTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTableTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTableTemplate.java Tue Jul  3 13:51:23 2007
@@ -24,6 +24,8 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.el.MethodExpression;
+
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.el.MethodBinding;
@@ -45,7 +47,13 @@
 abstract public class UIXTreeTableTemplate extends UIXTree
 {
 /**/  public abstract int[] getRowsByDepth();
-/**/  abstract public MethodBinding getRangeChangeListener();
+/**/  abstract public MethodExpression getRangeChangeListener();
+
+  @Deprecated
+  public void setRangeChangeListener(MethodBinding binding)
+  {
+    setRangeChangeListener(adaptMethodBinding(binding));
+  }
 
   /**
    * Gets the maximum number of rows to show.
@@ -181,7 +189,7 @@
       // it is nice to expand the focused item:
       getDisclosedRowKeys().add();
 
-      broadcastToMethodBinding(event, getFocusListener());
+      broadcastToMethodExpression(event, getFocusListener());
     }
     else if (event instanceof RangeChangeEvent)
     {
@@ -191,7 +199,7 @@
       //=-=pu: This ain't getting restored. Check with Arj or file a bug.
       addAttributeChange("first",
                          Integer.valueOf(rce.getNewStart()));
-      broadcastToMethodBinding(event, getRangeChangeListener());
+      broadcastToMethodExpression(event, getRangeChangeListener());
     }
 
     // Perform standard superclass processing

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java-templates/org/apache/myfaces/trinidad/component/UIXTreeTemplate.java Tue Jul  3 13:51:23 2007
@@ -19,6 +19,9 @@
 package org.apache.myfaces.trinidad.component;
 
 import java.io.IOException;
+
+import javax.el.MethodExpression;
+
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.el.MethodBinding;
@@ -42,8 +45,20 @@
 /**/  public abstract void setDisclosedRowKeys(RowKeySet keys);
 /**/  public abstract RowKeySet getSelectedRowKeys();
 /**/  public abstract void setSelectedRowKeys(RowKeySet keys);
-/**/  public abstract MethodBinding getRowDisclosureListener();
+/**/  public abstract MethodExpression getRowDisclosureListener();
 /**/  public abstract UIComponent getNodeStamp();
+
+  @Deprecated
+  public void setRowDisclosureListener(MethodBinding binding)
+  {
+    setRowDisclosureListener(adaptMethodBinding(binding));
+  }
+  
+  @Deprecated
+  public void setSelectionListener(MethodBinding binding)
+  {
+    setSelectionListener(adaptMethodBinding(binding));
+  }
   
   /**
    * Sets the phaseID of UI events depending on the "immediate" property.
@@ -69,7 +84,7 @@
       //=-=pu: This ain't getting restored. Check with Arj or file a bug.
       addAttributeChange("selectedRowKeys",
                          getSelectedRowKeys());
-      broadcastToMethodBinding(event, getSelectionListener());
+      broadcastToMethodExpression(event, getSelectionListener());
     }
 
     HierarchyUtils.__handleBroadcast(this, 

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBean.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBean.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBean.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBean.java Tue Jul  3 13:51:23 2007
@@ -24,6 +24,8 @@
 import java.util.Map;
 import java.util.Set;
 
+import javax.el.ValueExpression;
+
 import javax.faces.context.FacesContext;
 import javax.faces.el.ValueBinding;
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
@@ -62,19 +64,27 @@
    * @exception IllegalArgumentException if key is a list key
    */
   public Object getLocalProperty(PropertyKey key);
-  
+
+  /**
+   * Return the value expression for a key.
+   * @exception IllegalArgumentException if the property does
+   *   not support value bindings.
+   */
+  public ValueExpression getValueExpression(PropertyKey key);
+
   /**
    * Return the value binding for a key.
    * @exception IllegalArgumentException if the property does
    *   not support value bindings.
+   * @deprecated
    */
   public ValueBinding getValueBinding(PropertyKey key);
 
   /**
    * Gets the current unevaluated value for the specified property key. 
    * <p>The method will first look for a local value. If it exists, it will 
-   * be returned. If it does not and the bean supports value bindings, the 
-   * method will look for a binding with the specified key and return it 
+   * be returned. If it does not and the bean supports value expressions, the 
+   * method will look for an expression with the specified key and return it 
    * directly if it exists without evaluatig its value.</p>
    * <p>This method is mainly used when:</p>
    * <ul>
@@ -97,21 +107,30 @@
    * @param key the parameter key of the raw property value to get.
    * 
    * @return the local value of the specified key if it exists, a 
-   *         <code>ValueBinding</code> object if the specified key 
-   *         supports bindings and a binding was specified for that 
+   *         <code>ValueExpression</code> object if the specified key 
+   *         supports expressions and an expression was specified for that 
    *         property, <code>null</code> otherwise.
    * 
    * @throws IllegalArgumentException if the specified key is a list key.
    * 
    * @see #getLocalProperty(PropertyKey)
    * @see #getValueBinding(PropertyKey)
+   * @see #getValueExpression(PropertyKey)
    */
   public Object getRawProperty(PropertyKey key);
 
   /**
+   * Set the value expression for a key.
+   * @exception IllegalArgumentException if the property does
+   *   not support value expressions.
+   */
+  public void setValueExpression(PropertyKey key, ValueExpression expression);
+
+  /**
    * Set the value binding for a key.
    * @exception IllegalArgumentException if the property does
    *   not support value bindings.
+   * @deprecated
    */
   public void setValueBinding(PropertyKey key, ValueBinding binding);
 

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBeanImpl.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBeanImpl.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBeanImpl.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBeanImpl.java Tue Jul  3 13:51:23 2007
@@ -26,6 +26,8 @@
 import java.util.List;
 import java.util.Set;
 
+import javax.el.ValueExpression;
+
 import javax.faces.context.FacesContext;
 import javax.faces.el.ValueBinding;
 
@@ -61,11 +63,11 @@
     // Look for a binding if and only if the key supports bindings
     if (key.getSupportsBinding())
     {
-      ValueBinding binding = getValueBinding(key);
-      if (binding != null)
+      ValueExpression expression = getValueExpression(key);
+      if (expression != null)
       {
         FacesContext context = FacesContext.getCurrentInstance();
-        return binding.getValue(context);
+        return expression.getValue(context.getELContext());
       }
     }
 
@@ -86,7 +88,7 @@
       return local;
 
     // Look for a binding if and only if the key supports bindings
-    return key.getSupportsBinding() ? getValueBinding(key) : null;
+    return key.getSupportsBinding() ? getValueExpression(key) : null;
   }
 
 
@@ -107,18 +109,19 @@
     return getLocalPropertyImpl(key);
   }
 
-  final public ValueBinding getValueBinding(PropertyKey key)
+  final public ValueExpression getValueExpression(PropertyKey key)
   {
     _checkNotListKey(key);
 
-    PropertyMap map = _getBindingsMap(false);
+    PropertyMap map = _getExpressionsMap(false);
     if (map == null)
       return null;
 
-    return (ValueBinding) map.get(key);
+    return (ValueExpression) map.get(key);    
   }
 
-  final public void setValueBinding(PropertyKey key, ValueBinding binding)
+  final public void setValueExpression(PropertyKey key,
+                                       ValueExpression expression)
   {
     _checkNotListKey(key);
 
@@ -128,18 +131,46 @@
         "CANNOT_FIND_PROPERTY", key.getName()));
     }
 
-    if (binding == null)
+    if (expression == null)
     {
-      PropertyMap map = _getBindingsMap(false);
+      PropertyMap map = _getExpressionsMap(false);
       if (map != null)
         map.remove(key);
     }
     else
     {
-      _getBindingsMap(true).put(key, binding);
+      _getExpressionsMap(true).put(key, expression);
     }
 
   }
+  
+  final public ValueBinding getValueBinding(PropertyKey key)
+  {
+    ValueExpression ve = getValueExpression(key);
+    if (ve == null)
+      return null;
+      
+    if (ve instanceof ValueBindingValueExpression)
+      return ((ValueBindingValueExpression) ve).getValueBinding();
+      
+    return new ValueExpressionValueBinding(ve);
+  }
+
+  final public void setValueBinding(PropertyKey key, ValueBinding binding)
+  {
+    ValueExpression ve;
+    
+    if (binding == null)
+    {
+      ve = null;
+    }
+    else
+    {
+      ve = new ValueBindingValueExpression(binding);
+    }
+
+    setValueExpression(key, ve);
+  }
 
 
   @SuppressWarnings("unchecked")
@@ -280,10 +311,10 @@
   @SuppressWarnings("unchecked")
   final public Set<PropertyKey> bindingKeySet()
   {
-    if (_bindings == null)
+    if (_expressions == null)
       return Collections.emptySet();
 
-    return _bindings.keySet();
+    return _expressions.keySet();
   }
 
 
@@ -294,8 +325,8 @@
     if (_properties != null)
       _properties.markInitialState();
 
-    if (_bindings != null)
-      _bindings.markInitialState();
+    if (_expressions != null)
+      _expressions.markInitialState();
   }
 
   public void restoreState(FacesContext context, Object state)
@@ -313,7 +344,7 @@
         Object propertyState = asArray[0];
         Object bindingsState = asArray[1];
         _getPropertyMap().restoreState(context, getType(), propertyState);
-        _getBindingsMap(true).restoreState(context, getType(), bindingsState);
+        _getExpressionsMap(true).restoreState(context, getType(), bindingsState);
         return;
       }
       else if (asArray.length == 1)
@@ -338,9 +369,9 @@
     Object propertyState = (_properties == null)
                             ? null
                             : _properties.saveState(context);
-    Object bindingsState = (_bindings == null)
+    Object bindingsState = (_expressions == null)
                             ? null
-                            : _bindings.saveState(context);
+                            : _expressions.saveState(context);
 
     if (bindingsState != null)
     {
@@ -389,11 +420,9 @@
     return new FlaggedPropertyMap();
   }
 
-  protected PropertyMap createBindingsMap()
+  protected PropertyMap createExpressionsMap()
   {
-    FlaggedPropertyMap bindings = new FlaggedPropertyMap();
-    bindings.setUseStateHolder(true);
-    return bindings;
+    return new FlaggedPropertyMap();
   }
 
   // "listKey" is unused, but it seems plausible that
@@ -444,17 +473,17 @@
     return _properties;
   }
 
-  private PropertyMap _getBindingsMap(boolean createIfNew)
+  private PropertyMap _getExpressionsMap(boolean createIfNew)
   {
-    if (_bindings == null)
+    if (_expressions == null)
     {
       if (createIfNew)
       {
-        _bindings = createBindingsMap();
+        _expressions = createExpressionsMap();
       }
     }
 
-    return _bindings;
+    return _expressions;
   }
 
 
@@ -475,7 +504,7 @@
   }
 
   private PropertyMap  _properties;
-  private PropertyMap  _bindings;
+  private PropertyMap  _expressions;
   private transient boolean  _initialStateMarked;
 
   static private final TrinidadLogger _LOG = TrinidadLogger.createTrinidadLogger(FacesBeanImpl.class);

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/DialogSource.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/DialogSource.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/DialogSource.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/DialogSource.java Tue Jul  3 13:51:23 2007
@@ -20,7 +20,7 @@
 
 import javax.faces.component.ActionSource;
 
-import javax.faces.el.MethodBinding;
+import javax.el.MethodExpression;
 
 import org.apache.myfaces.trinidad.event.LaunchListener;
 import org.apache.myfaces.trinidad.event.ReturnListener;
@@ -37,12 +37,12 @@
   public void addReturnListener(ReturnListener listener);
   public void removeReturnListener(ReturnListener listener);
   public ReturnListener[] getReturnListeners();
-  public void setReturnListener(MethodBinding returnListener);
-  public MethodBinding getReturnListener();
+  public void setReturnListener(MethodExpression returnListener);
+  public MethodExpression getReturnListener();
 
   public void addLaunchListener(LaunchListener listener);
   public void removeLaunchListener(LaunchListener listener);
   public LaunchListener[] getLaunchListeners();
-  public void setLaunchListener(MethodBinding launchListener);
-  public MethodBinding getLaunchListener();
+  public void setLaunchListener(MethodExpression launchListener);
+  public MethodExpression getLaunchListener();
 }

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/HierarchyUtils.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/HierarchyUtils.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/HierarchyUtils.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/HierarchyUtils.java Tue Jul  3 13:51:23 2007
@@ -20,9 +20,9 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import javax.el.MethodExpression;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
-import javax.faces.el.MethodBinding;
 import javax.faces.event.AbortProcessingException;
 import javax.faces.event.FacesEvent;
 import javax.faces.event.PhaseId;
@@ -38,10 +38,10 @@
     UIXHierarchy  comp, 
     FacesEvent    event,
     RowKeySet     state,
-    MethodBinding disclosureListener) throws AbortProcessingException
+    MethodExpression method) throws AbortProcessingException
   {
   
-        // Notify the specified disclosure listener method (if any)
+    // Notify the specified disclosure listener method (if any)
     if (event instanceof RowDisclosureEvent)
     {
       RowDisclosureEvent dEvent = (RowDisclosureEvent) event;
@@ -71,7 +71,7 @@
       }
       //pu: Implicitly record a Change for 'disclosedRowKeys' attribute
       comp.addAttributeChange("disclosedRowKeys", state);
-      comp.broadcastToMethodBinding(event, disclosureListener);
+      comp.broadcastToMethodExpression(event, method);
     }
   }
 

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXCollection.java Tue Jul  3 13:51:23 2007
@@ -28,6 +28,8 @@
 import java.util.Map;
 import java.util.Set;
 
+import javax.faces.FacesException;
+import javax.faces.component.ContextCallback;
 import javax.faces.component.NamingContainer;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
@@ -661,9 +663,9 @@
      * @return the local clientId
      */
   @Override
-  protected final String getLocalClientId()
+  public final String getContainerClientId(FacesContext context)
   {
-    String id = super.getLocalClientId();
+    String id = getClientId(context);
     String key = getClientRowKey();
     if (key != null)
     {
@@ -969,6 +971,46 @@
         : new DefaultClientKeyManager();
     }
     return iState._clientKeyMgr;
+  }
+
+  public boolean invokeOnComponent(FacesContext context,
+                                   String clientId, 
+                                   ContextCallback callback)
+    throws FacesException
+  {
+    String thisClientId = getClientId(context);
+    if (clientId.equals(thisClientId))
+    {
+      callback.invokeContextCallback(context, this);
+      return true;
+    }
+    // If we're on a row, set the currency, and invoke
+    // inside
+    int thisClientIdLength = thisClientId.length();
+    if (clientId.startsWith(thisClientId) &&
+        (clientId.charAt(thisClientIdLength) == NamingContainer.SEPARATOR_CHAR))
+    {
+      String postId = clientId.substring(thisClientIdLength + 1);
+      int sepIndex = postId.indexOf(NamingContainer.SEPARATOR_CHAR);
+      // If there's no separator character afterwards, then this
+      // isn't a row key
+      if (sepIndex < 0)
+        return super.invokeOnComponent(context, clientId, callback);
+      String currencyString = postId.substring(0, sepIndex);
+      Object oldRowKey = getRowKey();
+      try
+      {
+        setCurrencyString(currencyString);
+        return super.invokeOnComponent(context, clientId, callback);        
+      }
+      finally
+      {
+        // And restore the currency
+        setRowKey(oldRowKey);
+      }
+    }
+    
+    return false;
   }
 
   /**

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponent.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponent.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponent.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponent.java Tue Jul  3 13:51:23 2007
@@ -18,15 +18,10 @@
  */
 package org.apache.myfaces.trinidad.component;
 
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
 import javax.faces.component.UIComponent;
 
-import javax.faces.context.FacesContext;
-import javax.faces.el.MethodBinding;
-import javax.faces.event.FacesListener;
+import javax.el.MethodExpression;
+
 import org.apache.myfaces.trinidad.bean.FacesBean;
 import org.apache.myfaces.trinidad.event.AttributeChangeListener;
 
@@ -71,7 +66,7 @@
    * specific request.  An example of an attribute change events might
    * include the width of a column that supported client-side resizing.
    */
-  abstract public void setAttributeChangeListener(MethodBinding mb);
+  abstract public void setAttributeChangeListener(MethodExpression me);
 
   /**
    * Gets the method binding to an AttributeChangeListener.  Attribute
@@ -81,39 +76,7 @@
    * specific request.  An example of an attribute change events might
    * include the width of a column that supported client-side resizing.
    */
-  abstract public MethodBinding getAttributeChangeListener();
+  abstract public MethodExpression getAttributeChangeListener();
 
   abstract public void markInitialState();
-
-  // JSF 1.2 methods that we're adding up front
-  abstract public int getFacetCount();
-  abstract public void encodeAll(FacesContext context) throws IOException;
-
-  
-  // Everything below here is a UIComponent method
-
-  @SuppressWarnings("unchecked")
-  @Override
-  public abstract Map getAttributes();
-
-  @SuppressWarnings("unchecked")
-  @Override
-  public abstract List getChildren();
-
-  @SuppressWarnings("unchecked")
-  @Override
-  public abstract Map getFacets();
-
-  @SuppressWarnings("unchecked")
-  @Override
-  public abstract Iterator getFacetsAndChildren();
-
-  @SuppressWarnings("unchecked")
-  @Override
-  protected abstract FacesListener[] getFacesListeners(Class clazz);
-
-  public abstract Object saveState(FacesContext context);
-  public abstract void restoreState(FacesContext context, Object state);
-  public abstract boolean isTransient();
-  public abstract void setTransient(boolean trans);
 }

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java Tue Jul  3 13:51:23 2007
@@ -28,6 +28,11 @@
 import java.util.NoSuchElementException;
 import java.util.Properties;
 
+import javax.el.ELContext;
+import javax.el.ELException;
+import javax.el.MethodExpression;
+import javax.el.ValueExpression;
+
 import javax.faces.component.NamingContainer;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
@@ -106,8 +111,7 @@
   static private final PropertyKey _LISTENERS_KEY =
     TYPE.registerKey("listeners", FacesListener[].class, PropertyKey.CAP_LIST);
   static private final PropertyKey _ATTRIBUTE_CHANGE_LISTENER_KEY =
-    TYPE.registerKey("attributeChangeListener", MethodBinding.class,
-                     PropertyKey.CAP_STATE_HOLDER);
+    TYPE.registerKey("attributeChangeListener", MethodExpression.class);
   // =-=AEW "parent", "rendersChildren", "childCount", "children",
   // "facets", "facetsAndChildren", "family" all are technically
   // bean properties, but they aren't exposed here...
@@ -190,18 +194,63 @@
   }
 
   @Override
-  public void setAttributeChangeListener(MethodBinding mb)
+  public void setAttributeChangeListener(MethodExpression mb)
   {
     setProperty(_ATTRIBUTE_CHANGE_LISTENER_KEY, mb);
   }
 
+  @Deprecated
+  public void setAttributeChangeListener(MethodBinding mb)
+  {
+    setAttributeChangeListener(adaptMethodBinding(mb));
+  }
+
   @Override
-  public MethodBinding getAttributeChangeListener()
+  public MethodExpression getAttributeChangeListener()
   {
-    return (MethodBinding) getProperty(_ATTRIBUTE_CHANGE_LISTENER_KEY);
+    return (MethodExpression) getProperty(_ATTRIBUTE_CHANGE_LISTENER_KEY);
   }
 
 
+  @Override
+  public ValueExpression getValueExpression(String name)
+  {
+    if (name == null)
+      throw new NullPointerException();
+
+    PropertyKey key = getPropertyKey(name);
+
+    // Support standard RI behavior where getValueBinding()
+    // doesn't complain about being asked for a ValueBinding -
+    // but continue supporting strict behavior at FacesBean layer.
+    if (!key.getSupportsBinding())
+      return null;
+
+    return getFacesBean().getValueExpression(key);
+  }
+
+  @Override
+  public void setValueExpression(String name, 
+                                 ValueExpression expression)
+  {
+    if (name == null)
+      throw new NullPointerException();
+
+    if (expression.isLiteralText())
+    {
+      ELContext context =
+          FacesContext.getCurrentInstance().getELContext();
+      getAttributes().put(name, expression.getValue(context));
+    }
+    else
+    {
+      PropertyKey key = getPropertyKey(name);
+      getFacesBean().setValueExpression(key, expression);
+    }
+  }
+
+
+
   /**
    */
   @Override
@@ -233,9 +282,8 @@
   }
 
 
-  @SuppressWarnings("unchecked")
   @Override
-  public Map getAttributes()
+  public Map<String, Object> getAttributes()
   {
     if (_attributes == null)
       _init(null);
@@ -252,7 +300,7 @@
     // NOTE - client ids cannot be cached because the generated
     // value has to be dynamically calculated in some cases (UIData)
 
-    String clientId = getLocalClientId();
+    String clientId = getId();
     if (clientId == null)
     {
       clientId = (String) getProperty(_GENERATED_ID_KEY);
@@ -269,7 +317,7 @@
     {
       if (containerComponent instanceof NamingContainer)
       {
-        clientId = (containerComponent.getClientId(context) +
+        clientId = (containerComponent.getContainerClientId(context) +
                     NamingContainer.SEPARATOR_CHAR +
                     clientId);
         break;
@@ -347,13 +395,11 @@
     setBooleanProperty(RENDERED_KEY, rendered);
   }
 
-  @Override
   public boolean isTransient()
   {
     return getBooleanProperty(TRANSIENT_KEY, false);
   }
 
-  @Override
   public void setTransient(boolean newTransient)
   {
     setBooleanProperty(TRANSIENT_KEY, newTransient);
@@ -485,9 +531,8 @@
    * <p>Create (if necessary) and return a List of the children associated
    * with this component.</p>
    */
-  @SuppressWarnings("unchecked")
   @Override
-  public List getChildren()
+  public List<UIComponent> getChildren()
   {
     if (_children == null)
       _children = new ChildArrayList(this);
@@ -508,9 +553,8 @@
    * <p>Create (if necessary) and return a Map of the facets associated
    * with this component.</p>
    */
-  @SuppressWarnings("unchecked")
   @Override
-  public Map getFacets()
+  public Map<String, UIComponent> getFacets()
   {
 
     if (_facets == null)
@@ -527,7 +571,7 @@
       throw new NullPointerException();
     if (_facets == null)
       return null;
-    return (UIComponent) getFacets().get(facetName);
+    return getFacets().get(facetName);
   }
 
 
@@ -547,9 +591,8 @@
 
 
   // TODO: Optimize to a compound iterator
-  @SuppressWarnings("unchecked")
   @Override
-  public Iterator getFacetsAndChildren()
+  public Iterator<UIComponent> getFacetsAndChildren()
   {
     // =-=AEW Is this supposed to be an immutable Iterator?
     if (_facets == null)
@@ -585,7 +628,6 @@
 
   // ------------------------------------------- Event processing methods
 
-  @SuppressWarnings("unchecked")
   @Override
   public void broadcast(FacesEvent event)
     throws AbortProcessingException
@@ -618,7 +660,7 @@
 
     if (event instanceof AttributeChangeEvent)
     {
-      broadcastToMethodBinding(event, getAttributeChangeListener());
+      broadcastToMethodExpression(event, getAttributeChangeListener());
     }
   }
 
@@ -626,7 +668,6 @@
   // ------------------------------------------- Lifecycle Processing Methods
 
 
-  @SuppressWarnings("unchecked")
   @Override
   public void decode(FacesContext context)
   {
@@ -634,9 +675,7 @@
       throw new NullPointerException();
 
     // Find all the partialTriggers and save on the context
-    // -= Simon Lessard =-
-    // FIXME: JSF 1.2 specify <String, Object>
-    Map<Object, Object> attrs = getAttributes();
+    Map<String, Object> attrs = getAttributes();
     Object triggers = attrs.get("partialTriggers");
     if (triggers instanceof String[])
     {
@@ -836,13 +875,11 @@
     getFacesBean().markInitialState();
   }
 
-  @Override
   public Object saveState(FacesContext context)
   {
     return getFacesBean().saveState(context);
   }
 
-  @Override
   public void restoreState(FacesContext context, Object stateObj)
   {
     getFacesBean().restoreState(context, stateObj);
@@ -897,7 +934,6 @@
    * component.
    * @param context the current FacesContext
    */
-  @SuppressWarnings("unchecked")
   protected void decodeChildrenImpl(FacesContext context)
   {
     Iterator<UIComponent> kids = getFacetsAndChildren();
@@ -933,7 +969,6 @@
    * component.
    * @param context the current FacesContext
    */
-  @SuppressWarnings("unchecked")
   protected void validateChildrenImpl(FacesContext context)
   {
     // Process all the facets and children of this component
@@ -965,7 +1000,6 @@
     updateChildrenImpl(context);
   }
 
-  @SuppressWarnings("unchecked")
   protected void updateChildrenImpl(FacesContext context)
   {
     // Process all the facets and children of this component
@@ -995,7 +1029,6 @@
     getFacesBean().removeEntry(_LISTENERS_KEY, listener);
   }
 
-  @SuppressWarnings("unchecked")
   @Override
   protected FacesListener[] getFacesListeners(Class clazz)
   {
@@ -1133,15 +1166,6 @@
     return n.intValue();
   }
 
-  /**
-   * Returns the default local client identifier, relative to the current
-   * naming container.
-   */
-  protected String getLocalClientId()
-  {
-    return getId();
-  }
-
 
   /**
    * Return the number of facets.  This is more efficient than
@@ -1162,6 +1186,7 @@
    * This can be used to support MethodBindings such as the "actionListener"
    * binding on ActionSource components:
    * &lt;tr:commandButton actionListener="#{mybean.myActionListener}">
+   * @deprecated
    */
   protected final void broadcastToMethodBinding(
     FacesEvent event,
@@ -1186,10 +1211,46 @@
   }
 
   /**
+   * Given a MethodBinding, create a MethodExpression that
+   * adapts it.
+   */
+  static public MethodExpression adaptMethodBinding(MethodBinding binding)
+  {
+    return new MethodBindingMethodExpression(binding);
+  }
+
+  /**
+   * Broadcast an event to a MethodExpression.
+   * This can be used to support MethodBindings such as the "actionListener"
+   * binding on ActionSource components:
+   * &lt;tr:commandButton actionListener="#{mybean.myActionListener}">
+   */
+  protected final void broadcastToMethodExpression(
+    FacesEvent event,
+    MethodExpression method) throws AbortProcessingException
+  {
+    if (method != null)
+    {
+      try
+      {
+        FacesContext context = getFacesContext();
+        method.invoke(context.getELContext(), new Object[] { event });
+      }
+      catch (ELException ee)
+      {
+        Throwable t = ee.getCause();
+        // Unwrap AbortProcessingExceptions
+        if (t instanceof AbortProcessingException)
+          throw ((AbortProcessingException) t);
+        throw ee;
+      }
+    }
+  }
+
+  /**
    * render a component. this is called by renderers whose
    * getRendersChildren() return true.
    */
-  @SuppressWarnings("unchecked")
   void __encodeRecursive(FacesContext context, UIComponent component)
     throws IOException
   {
@@ -1204,7 +1265,7 @@
       {
         if (component.getChildCount() > 0)
         {
-          for(UIComponent child : (List<UIComponent>)component.getChildren())
+          for(UIComponent child : component.getChildren())
           {
             __encodeRecursive(context, child);
           }
@@ -1216,7 +1277,6 @@
   }
 
 
-  @SuppressWarnings("unchecked")
   static private UIComponent _findInsideOf(
     UIComponent from,
     String id)

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/ExternalContextDecorator.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/ExternalContextDecorator.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/ExternalContextDecorator.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/ExternalContextDecorator.java Tue Jul  3 13:51:23 2007
@@ -20,6 +20,7 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.security.Principal;
@@ -56,12 +57,36 @@
   }
   
   @Override
+  public String getRequestCharacterEncoding()
+  {
+    return getExternalContext().getRequestCharacterEncoding(); 
+  }
+  
+  @Override
+  public String getRequestContentType()
+  {
+    return getExternalContext().getRequestContentType(); 
+  }
+  
+  @Override
   public Object getResponse()
   {
     return getExternalContext().getResponse();
   }
   
   @Override
+  public String getResponseCharacterEncoding()
+  {
+    return getExternalContext().getResponseCharacterEncoding(); 
+  }
+  
+  @Override
+  public String getResponseContentType()
+  {
+    return getExternalContext().getResponseContentType(); 
+  }
+  
+  @Override
   public Object getSession(boolean create)
   {
     return getExternalContext().getSession(create);
@@ -226,6 +251,31 @@
   public Locale getRequestLocale()
   {
     return getExternalContext().getRequestLocale();
+  }
+
+  @Override
+  public void setRequest(Object request)
+  {
+    getExternalContext().setRequest(request);
+  }
+
+  @SuppressWarnings("unchecked")
+  @Override
+  public void setRequestCharacterEncoding(String encoding) throws UnsupportedEncodingException 
+  {
+    getExternalContext().setRequestCharacterEncoding(encoding);
+  }
+
+  @Override
+  public void setResponse(Object response)
+  {
+    getExternalContext().setResponse(response);
+  }
+
+  @Override
+  public void setResponseCharacterEncoding(String encoding)
+  {
+    getExternalContext().setResponseCharacterEncoding(encoding);
   }
 
   @SuppressWarnings("unchecked")

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java Tue Jul  3 13:51:23 2007
@@ -22,6 +22,7 @@
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Set;
 import java.util.TimeZone;
 
 import javax.faces.component.UIComponent;
@@ -386,6 +387,11 @@
    */
   public abstract void addPartialTarget(UIComponent newTarget);
 
+  /**
+   * Returns the set of partial targets related to a given UIComponent.
+   */
+  public abstract Set<UIComponent> getPartialTargets(UIComponent newTarget);
+  
   /**
    * Adds a listener on a set of particular triggering components. If one of
    * the named components gets updated in response to a partial event, then

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ColorConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ColorConverter.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ColorConverter.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ColorConverter.java Tue Jul  3 13:51:23 2007
@@ -22,6 +22,8 @@
 
 import java.text.ParseException;
 
+import javax.el.ValueExpression;
+
 import javax.faces.application.FacesMessage;
 import javax.faces.component.StateHolder;
 import javax.faces.component.UIComponent;
@@ -413,6 +415,42 @@
   }
 
   /**
+   * <p>Set the {@link ValueExpression} used to calculate the value for the
+   * specified attribute if any.</p>
+   *
+   * @param name Name of the attribute for which to set a {@link ValueExpression}
+   * @param expression The {@link ValueExpression} to set, or <code>null</code>
+   *  to remove any currently set {@link ValueExpression}
+   *
+   * @exception NullPointerException if <code>name</code>
+   *  is <code>null</code>
+   * @exception IllegalArgumentException if <code>name</code> is not a valid
+   *            attribute of this converter
+   */
+  public void setValueExpression(String name, ValueExpression expression)
+  {
+    ConverterUtils.setValueExpression(_facesBean, name, expression) ;
+  }
+
+
+  /**
+   * <p>Return the {@link ValueExpression} used to calculate the value for the
+   * specified attribute name, if any.</p>
+   *
+   * @param name Name of the attribute or property for which to retrieve a
+   *  {@link ValueExpression}
+   *
+   * @exception NullPointerException if <code>name</code>
+   *  is <code>null</code>
+   * @exception IllegalArgumentException if <code>name</code> is not a valid
+   * attribute of this converter
+   */
+  public ValueExpression getValueExpression(String name)
+  {
+    return ConverterUtils.getValueExpression(_facesBean, name);
+  }
+
+  /**
    * <p>Set the {@link ValueBinding} used to calculate the value for the
    * specified attribute if any.</p>
    *
@@ -424,6 +462,7 @@
    *  is <code>null</code>
    * @exception IllegalArgumentException if <code>name</code> is not a valid
    *            attribute of this converter
+   * @deprecated
    */
   public void setValueBinding(String name, ValueBinding binding)
   {
@@ -441,6 +480,7 @@
    *  is <code>null</code>
    * @exception IllegalArgumentException if <code>name</code> is not a valid
    * attribute of this converter
+   * @deprecated
    */
   public ValueBinding getValueBinding(String name)
   {

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ConverterUtils.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ConverterUtils.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ConverterUtils.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ConverterUtils.java Tue Jul  3 13:51:23 2007
@@ -18,6 +18,7 @@
  */
 package org.apache.myfaces.trinidad.convert;
 
+import javax.el.ValueExpression;
 import javax.faces.component.UIComponent;
 import javax.faces.el.ValueBinding;
 
@@ -59,6 +60,19 @@
    return bean;
  } 
  
+  static void setValueExpression(FacesBean bean, String name, ValueExpression expression)
+  {   
+    PropertyKey key = _getPropertyKey(bean, name, true);
+    bean.setValueExpression(key, expression);
+  }
+ 
+  static ValueExpression getValueExpression(FacesBean bean, String name)
+  {
+    PropertyKey key = _getPropertyKey(bean, name, true);
+    return bean.getValueExpression(key);
+  }
+
+
   static void setValueBinding(FacesBean bean, String name, ValueBinding binding)
   {   
     PropertyKey key = _getPropertyKey(bean, name, true);

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java Tue Jul  3 13:51:23 2007
@@ -33,6 +33,8 @@
 import java.util.Set;
 import java.util.TimeZone;
 
+import javax.el.ValueExpression;
+
 import javax.faces.application.FacesMessage;
 import javax.faces.component.StateHolder;
 import javax.faces.component.UIComponent;
@@ -945,6 +947,42 @@
   }
 
   /**
+   * <p>Set the {@link ValueExpression} used to calculate the value for the
+   * specified attribute if any.</p>
+   *
+   * @param name Name of the attribute for which to set a {@link ValueExpression}
+   * @param expression The {@link ValueExpression} to set, or <code>null</code>
+   *  to remove any currently set {@link ValueExpression}
+   *
+   * @exception NullPointerException if <code>name</code>
+   *  is <code>null</code>
+   * @exception IllegalArgumentException if <code>name</code> is not a valid
+   *            attribute of this converter
+   */
+  public void setValueExpression(String name, ValueExpression expression)
+  {
+    ConverterUtils.setValueExpression(_facesBean, name, expression) ;
+  }
+
+
+  /**
+   * <p>Return the {@link ValueExpression} used to calculate the value for the
+   * specified attribute name, if any.</p>
+   *
+   * @param name Name of the attribute or property for which to retrieve a
+   *  {@link ValueExpression}
+   *
+   * @exception NullPointerException if <code>name</code>
+   *  is <code>null</code>
+   * @exception IllegalArgumentException if <code>name</code> is not a valid
+   * attribute of this converter
+   */
+  public ValueExpression getValueExpression(String name)
+  {
+    return ConverterUtils.getValueExpression(_facesBean, name);
+  }
+
+  /**
    * <p>Set the {@link ValueBinding} used to calculate the value for the
    * specified attribute if any.</p>
    *
@@ -956,6 +994,7 @@
    *  is <code>null</code>
    * @exception IllegalArgumentException if <code>name</code> is not a valid
    *            attribute of this converter
+   * @deprecated
    */
   public void setValueBinding(String name, ValueBinding binding)
   {
@@ -974,6 +1013,7 @@
    *  is <code>null</code>
    * @exception IllegalArgumentException if <code>name</code> is not a valid
    * attribute of this converter
+   * @deprecated
    */
   public ValueBinding getValueBinding(String name)
   {

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java?view=diff&rev=552975&r1=552974&r2=552975
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java Tue Jul  3 13:51:23 2007
@@ -28,6 +28,8 @@
 import java.util.Locale;
 import java.util.Map;
 
+import javax.el.ValueExpression;
+
 import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
@@ -328,6 +330,42 @@
   }
 
   /**
+   * <p>Set the {@link ValueExpression} used to calculate the value for the
+   * specified attribute if any.</p>
+   *
+   * @param name Name of the attribute for which to set a {@link ValueExpression}
+   * @param expression The {@link ValueExpression} to set, or <code>null</code>
+   *  to remove any currently set {@link ValueExpression}
+   *
+   * @exception NullPointerException if <code>name</code>
+   *  is <code>null</code>
+   * @exception IllegalArgumentException if <code>name</code> is not a valid
+   *            attribute of this converter
+   */
+  public void setValueExpression(String name, ValueExpression expression)
+  {
+    ConverterUtils.setValueExpression(_facesBean, name, expression) ;
+  }
+
+
+  /**
+   * <p>Return the {@link ValueExpression} used to calculate the value for the
+   * specified attribute name, if any.</p>
+   *
+   * @param name Name of the attribute or property for which to retrieve a
+   *  {@link ValueExpression}
+   *
+   * @exception NullPointerException if <code>name</code>
+   *  is <code>null</code>
+   * @exception IllegalArgumentException if <code>name</code> is not a valid
+   * attribute of this converter
+   */
+  public ValueExpression getValueExpression(String name)
+  {
+    return ConverterUtils.getValueExpression(_facesBean, name);
+  }
+
+  /**
    * <p>Set the {@link ValueBinding} used to calculate the value for the
    * specified attribute if any.</p>
    *
@@ -339,6 +377,7 @@
    *  is <code>null</code>
    * @exception IllegalArgumentException if <code>name</code> is not a valid
    *            attribute of this converter
+   * @deprecated
    */
   public void setValueBinding(String name, ValueBinding binding)
   {
@@ -356,6 +395,7 @@
    *  is <code>null</code>
    * @exception IllegalArgumentException if <code>name</code> is not a valid
    * attribute of this converter
+   * @deprecated
    */
   public ValueBinding getValueBinding(String name)
   {