myfaces-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From lu4...@apache.org
Subject svn commit: r1468656 [1/7] - in /myfaces: core/trunk/ core/trunk/api/ core/trunk/assembly/ core/trunk/bundle/ core/trunk/impl/ core/trunk/parent/ core/trunk/shared-public/ core/trunk/shared/ current22/ current22/client-window-example/ shared/trunk/ sha...
Date Tue, 16 Apr 2013 22:49:47 GMT
Author: lu4242
Date: Tue Apr 16 22:49:45 2013
New Revision: 1468656

URL: http://svn.apache.org/r1468656
Log:
update configuration

Added:
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlInputFileRendererBase.java   (with props)
Modified:
    myfaces/core/trunk/api/pom.xml
    myfaces/core/trunk/assembly/pom.xml
    myfaces/core/trunk/bundle/pom.xml
    myfaces/core/trunk/impl/pom.xml
    myfaces/core/trunk/parent/pom.xml
    myfaces/core/trunk/pom.xml
    myfaces/core/trunk/shared-public/pom.xml
    myfaces/core/trunk/shared/pom.xml
    myfaces/current22/client-window-example/pom.xml
    myfaces/current22/pom.xml
    myfaces/shared/trunk/core/pom.xml
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/application/NavigationUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/context/flash/FlashImpl.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/ContentTypeUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HTML.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlJavaScriptUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessageRendererBase.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlMessagesRendererBase.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRadioRendererBase.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlResponseWriterImpl.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTextRendererBase.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/JavascriptContext.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/util/ResourceUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/resource/ResourceLoaderWrapper.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/resource/ResourceValidationUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/resource/ValueExpressionFilterInputStream.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/taglib/UIComponentELTagBase.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/taglib/UIComponentELTagUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/taglib/UIComponentTagUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/taglib/core/SelectItemTagBase.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/AttachedDeltaWrapper.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/ComponentUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/ConcurrentLRUCache.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/DebugUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/PriorityQueue.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/RendererUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/TagUtils.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/io/DynamicPushbackInputStream.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/renderkit/ClientBehaviorEvents.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/renderkit/HTML.java
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/util/renderkit/JsfProperties.java
    myfaces/shared/trunk/pom.xml
    myfaces/shared/trunk/shared-tomahawk/pom.xml

Modified: myfaces/core/trunk/api/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/core/trunk/api/pom.xml (original)
+++ myfaces/core/trunk/api/pom.xml Tue Apr 16 22:49:45 2013
@@ -35,9 +35,9 @@
     <url>http://myfaces.apache.org/core21/myfaces-api</url>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/api</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/api</developerConnection>
-        <url>http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/api</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/trunk/api</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/trunk/api</developerConnection>
+        <url>http://svn.apache.org/repos/asf/myfaces/core/trunk/api</url>
     </scm>
     
     <build>

Modified: myfaces/core/trunk/assembly/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/assembly/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/core/trunk/assembly/pom.xml (original)
+++ myfaces/core/trunk/assembly/pom.xml Tue Apr 16 22:49:45 2013
@@ -32,9 +32,9 @@
   </parent>
 
   <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/assembly</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/assembly</developerConnection>
-    <url>http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/assembly</url>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/trunk/assembly</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/trunk/assembly</developerConnection>
+    <url>http://svn.apache.org/repos/asf/myfaces/core/trunk/assembly</url>
   </scm>
 
   <build>

Modified: myfaces/core/trunk/bundle/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/bundle/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/core/trunk/bundle/pom.xml (original)
+++ myfaces/core/trunk/bundle/pom.xml Tue Apr 16 22:49:45 2013
@@ -31,9 +31,9 @@
     <packaging>bundle</packaging>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/bundle</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/bundle</developerConnection>
-        <url>http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/bundle</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/trunk/bundle</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/trunk/bundle</developerConnection>
+        <url>http://svn.apache.org/repos/asf/myfaces/core/trunk/bundle</url>
     </scm>
     
     <build>

Modified: myfaces/core/trunk/impl/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/core/trunk/impl/pom.xml (original)
+++ myfaces/core/trunk/impl/pom.xml Tue Apr 16 22:49:45 2013
@@ -35,9 +35,9 @@
     <url>http://myfaces.apache.org/core21/myfaces-impl</url>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/impl</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/impl</developerConnection>
-        <url>http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/impl</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/trunk/impl</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/trunk/impl</developerConnection>
+        <url>http://svn.apache.org/repos/asf/myfaces/core/trunk/impl</url>
     </scm>
     
     <build>

Modified: myfaces/core/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/parent/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/core/trunk/parent/pom.xml (original)
+++ myfaces/core/trunk/parent/pom.xml Tue Apr 16 22:49:45 2013
@@ -42,9 +42,9 @@
     </issueManagement>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/parent</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/parent</developerConnection>
-        <url>http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/parent</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/trunk/parent</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/trunk/parent</developerConnection>
+        <url>http://svn.apache.org/repos/asf/myfaces/core/trunk/parent</url>
     </scm>
 
     <build>

Modified: myfaces/core/trunk/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/core/trunk/pom.xml (original)
+++ myfaces/core/trunk/pom.xml Tue Apr 16 22:49:45 2013
@@ -42,9 +42,9 @@
     </issueManagement>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x</developerConnection>
-        <url>http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/trunk</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/trunk</developerConnection>
+        <url>http://svn.apache.org/repos/asf/myfaces/core/trunk</url>
     </scm>
 
     <modules>
@@ -58,7 +58,6 @@
         <module>shared</module>
         <module>impl</module>
         <module>bundle</module>
-        <module>client-window-example</module>
     </modules>
 
     <build>

Modified: myfaces/core/trunk/shared-public/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/shared-public/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/core/trunk/shared-public/pom.xml (original)
+++ myfaces/core/trunk/shared-public/pom.xml Tue Apr 16 22:49:45 2013
@@ -34,8 +34,8 @@
   projects like Tomahawk, Orchestra and Portlet-Bridge through shared project.</description>
 
   <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/shared-public</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/shared-public</developerConnection>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/trunk/shared-public</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/trunk/shared-public</developerConnection>
     <url>http://svn.apache.org/viewcvs.cgi/myfaces/core/trunk/shared-public</url>
   </scm>
   

Modified: myfaces/core/trunk/shared/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/shared/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/core/trunk/shared/pom.xml (original)
+++ myfaces/core/trunk/shared/pom.xml Tue Apr 16 22:49:45 2013
@@ -34,8 +34,8 @@
   projects like Tomahawk, Orchestra and Portlet-Bridge through shared project.</description>
 
   <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/shared</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/branches/2.2.x/shared</developerConnection>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/core/trunk/shared</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/core/trunk/shared</developerConnection>
     <url>http://svn.apache.org/viewcvs.cgi/myfaces/core/trunk/shared</url>
   </scm>
   

Modified: myfaces/current22/client-window-example/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/current22/client-window-example/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/current22/client-window-example/pom.xml (original)
+++ myfaces/current22/client-window-example/pom.xml Tue Apr 16 22:49:45 2013
@@ -18,16 +18,12 @@
  * under the License.
 --><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
-    <parent>
-    <artifactId>myfaces-core-module</artifactId>
-    <groupId>org.apache.myfaces.core</groupId>
-    <version>2.2.0-SNAPSHOT</version>
-  </parent>
     <groupId>org.apache.myfaces.example.clientWindow</groupId>
     <artifactId>client-window-example</artifactId>
     <packaging>war</packaging>
     <name>client-window-example</name>
     <description>A custom project used to debug MyFaces Core 2.2</description>
+    <version>2.2.0-SNAPSHOT</version>
     <url>http://www.myorganization.org</url>
 
     <!-- Instructions 

Modified: myfaces/current22/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/current22/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/current22/pom.xml (original)
+++ myfaces/current22/pom.xml Tue Apr 16 22:49:45 2013
@@ -29,14 +29,14 @@
   <groupId>org.apache.myfaces</groupId>
   <artifactId>myfaces-base</artifactId>
   <packaging>pom</packaging>
-  <version>2.1.0-SNAPSHOT</version>
+  <version>2.2.0-SNAPSHOT</version>
   <name>Apache MyFaces Composite Build</name>
   <url>http://myfaces.apache.org</url>
 
   <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/current21</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/current21</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/myfaces/current21</url>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/current22</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/current22</developerConnection>
+    <url>http://svn.apache.org/viewcvs.cgi/myfaces/current22</url>
   </scm>
 
   <modules>

Modified: myfaces/shared/trunk/core/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/pom.xml?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/shared/trunk/core/pom.xml (original)
+++ myfaces/shared/trunk/core/pom.xml Tue Apr 16 22:49:45 2013
@@ -20,13 +20,13 @@
   <parent>
     <artifactId>myfaces-shared-project</artifactId>
     <groupId>org.apache.myfaces.shared</groupId>
-    <version>4.1.10-SNAPSHOT</version>
+    <version>4.2.0-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
   <artifactId>myfaces-shared-core</artifactId>
   <packaging>jar</packaging>
-  <name>Apache MyFaces Shared For JSF 2.1 - Core Mirror</name>
+  <name>Apache MyFaces Shared For JSF 2.2 - Core Mirror</name>
   <description>The MyFaces Shared Core Subproject build the sources artifact
     needed by the shared-* modules</description>
 
@@ -143,7 +143,7 @@
     <profile>
       <id>synch-myfaces-impl-shared</id>
       <properties>
-        <myfaces.impl.shared.version>2.1.11-SNAPSHOT</myfaces.impl.shared.version>
+        <myfaces.impl.shared.version>2.2.0-SNAPSHOT</myfaces.impl.shared.version>
       </properties>
       <activation>
         <property>

Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/application/NavigationUtils.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/application/NavigationUtils.java?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/application/NavigationUtils.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/application/NavigationUtils.java Tue Apr 16 22:49:45 2013
@@ -1,109 +1,109 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.myfaces.shared.application;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.faces.context.FacesContext;
-
-/**
- * 
- * @author Leonardo Uribe
- *
- */
-public class NavigationUtils
-{
-    /**
-     * Evaluate all EL expressions found as parameters and return a map that can be used for 
-     * redirect or render bookmark links
-     * 
-     * @param parameters parameter map retrieved from NavigationCase.getParameters()
-     * @return
-     */
-    public static Map<String, List<String> > getEvaluatedNavigationParameters(
-            FacesContext facesContext, 
-            Map<String, List<String> > parameters)
-    {
-        Map<String,List<String>> evaluatedParameters = null;
-        if (parameters != null && parameters.size() > 0)
-        {
-            evaluatedParameters = new HashMap<String, List<String>>();
-            for (Map.Entry<String, List<String>> pair : parameters.entrySet())
-            {
-                boolean containsEL = false;
-                for (String value : pair.getValue())
-                {
-                    if (_isExpression(value))
-                    {
-                        containsEL = true;
-                        break;
-                    }
-                }
-                if (containsEL)
-                {
-                    evaluatedParameters.put(pair.getKey(), 
-                            _evaluateValueExpressions(facesContext, pair.getValue()));
-                }
-                else
-                {
-                    evaluatedParameters.put(pair.getKey(), pair.getValue());
-                }
-            }
-        }
-        else
-        {
-            evaluatedParameters = parameters;
-        }
-        return evaluatedParameters;
-    }
-    
-    /**
-     * Checks the Strings in the List for EL expressions and evaluates them.
-     * Note that the returned List will be a copy of the given List, because
-     * otherwise it will have unwanted side-effects.
-     * @param values
-     * @return
-     */
-    private static List<String> _evaluateValueExpressions(FacesContext context, List<String> values)
-    {
-        // note that we have to create a new List here, because if we
-        // change any value on the given List, it will be changed in the
-        // NavigationCase too and the EL expression won't be evaluated again
-        List<String> target = new ArrayList<String>(values.size());
-        for (String value : values)
-        {
-            if (_isExpression(value))
-            {
-                // evaluate the ValueExpression
-                value = context.getApplication().evaluateExpressionGet(context, value, String.class);
-            }
-            target.add(value);
-        }
-        return target;
-    }
-    
-    private static boolean _isExpression(String text)
-    {
-        return text.indexOf("#{") != -1;
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+package org.apache.myfaces.shared.application;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * 
+ * @author Leonardo Uribe
+ *
+ */
+public class NavigationUtils
+{
+    /**
+     * Evaluate all EL expressions found as parameters and return a map that can be used for 
+     * redirect or render bookmark links
+     * 
+     * @param parameters parameter map retrieved from NavigationCase.getParameters()
+     * @return
+     */
+    public static Map<String, List<String> > getEvaluatedNavigationParameters(
+            FacesContext facesContext, 
+            Map<String, List<String> > parameters)
+    {
+        Map<String,List<String>> evaluatedParameters = null;
+        if (parameters != null && parameters.size() > 0)
+        {
+            evaluatedParameters = new HashMap<String, List<String>>();
+            for (Map.Entry<String, List<String>> pair : parameters.entrySet())
+            {
+                boolean containsEL = false;
+                for (String value : pair.getValue())
+                {
+                    if (_isExpression(value))
+                    {
+                        containsEL = true;
+                        break;
+                    }
+                }
+                if (containsEL)
+                {
+                    evaluatedParameters.put(pair.getKey(), 
+                            _evaluateValueExpressions(facesContext, pair.getValue()));
+                }
+                else
+                {
+                    evaluatedParameters.put(pair.getKey(), pair.getValue());
+                }
+            }
+        }
+        else
+        {
+            evaluatedParameters = parameters;
+        }
+        return evaluatedParameters;
+    }
+    
+    /**
+     * Checks the Strings in the List for EL expressions and evaluates them.
+     * Note that the returned List will be a copy of the given List, because
+     * otherwise it will have unwanted side-effects.
+     * @param values
+     * @return
+     */
+    private static List<String> _evaluateValueExpressions(FacesContext context, List<String> values)
+    {
+        // note that we have to create a new List here, because if we
+        // change any value on the given List, it will be changed in the
+        // NavigationCase too and the EL expression won't be evaluated again
+        List<String> target = new ArrayList<String>(values.size());
+        for (String value : values)
+        {
+            if (_isExpression(value))
+            {
+                // evaluate the ValueExpression
+                value = context.getApplication().evaluateExpressionGet(context, value, String.class);
+            }
+            target.add(value);
+        }
+        return target;
+    }
+    
+    private static boolean _isExpression(String text)
+    {
+        return text.indexOf("#{") != -1;
+    }
+
+}

Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/context/flash/FlashImpl.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/context/flash/FlashImpl.java?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/context/flash/FlashImpl.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/context/flash/FlashImpl.java Tue Apr 16 22:49:45 2013
@@ -40,6 +40,11 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.logging.Logger;
+import javax.faces.event.PostKeepFlashValueEvent;
+import javax.faces.event.PostPutFlashValueEvent;
+import javax.faces.event.PreClearFlashEvent;
+import javax.faces.event.PreRemoveFlashValueEvent;
+import javax.faces.lifecycle.ClientWindow;
 
 /**
  * Implementation of Flash object
@@ -137,10 +142,15 @@ public class FlashImpl extends Flash
      */
     public static Flash getCurrentInstance(ExternalContext context)
     {
+        return getCurrentInstance(context, true);
+    }
+    
+    public static Flash getCurrentInstance(ExternalContext context, boolean create)
+    {
         Map<String, Object> applicationMap = context.getApplicationMap();
         
         Flash flash = (Flash) applicationMap.get(FLASH_INSTANCE);
-        if (flash == null)
+        if (flash == null && create)
         {
             // synchronize the ApplicationMap to ensure that only
             // once instance of FlashImpl is created and stored in it.
@@ -364,6 +374,9 @@ public class FlashImpl extends Flash
         
         // put it in the render FlashMap
         _getRenderFlashMap(facesContext).put(key, value);
+        
+        facesContext.getApplication().publishEvent(facesContext,
+                PostKeepFlashValueEvent.class, key);
     }
 
     /**
@@ -494,7 +507,13 @@ public class FlashImpl extends Flash
         }
         else
         {
-            return _getFlashMapForWriting().put(key, value); 
+            Object resp = _getFlashMapForWriting().put(key, value); 
+            
+            FacesContext facesContext = FacesContext.getCurrentInstance();
+            facesContext.getApplication().publishEvent(facesContext,
+                PostPutFlashValueEvent.class, key);
+
+            return resp;
         }
     }
 
@@ -507,6 +526,11 @@ public class FlashImpl extends Flash
     public Object remove(Object key)
     {
         _checkFlashScopeDisabled();
+        
+        FacesContext facesContext = FacesContext.getCurrentInstance();
+        facesContext.getApplication().publishEvent(facesContext,
+            PreRemoveFlashValueEvent.class, key);
+        
         return _getFlashMapForWriting().remove(key);
     }
 
@@ -731,18 +755,27 @@ public class FlashImpl extends Flash
     private void _saveRenderFlashMapTokenForNextRequest(ExternalContext externalContext)
     {
         String tokenValue = (String) externalContext.getRequestMap().get(FLASH_RENDER_MAP_TOKEN);
-        
-        HttpServletResponse httpResponse = ExternalContextUtils.getHttpServletResponse(externalContext);
-        if (httpResponse != null)
+        ClientWindow clientWindow = externalContext.getClientWindow();
+        if (clientWindow != null)
         {
-            Cookie cookie = _createFlashCookie(FLASH_RENDER_MAP_TOKEN, tokenValue, externalContext);
-            httpResponse.addCookie(cookie);
+            //Use HttpSession or PortletSession object
+            Map<String, Object> sessionMap = externalContext.getSessionMap();
+            sessionMap.put(FLASH_RENDER_MAP_TOKEN+SEPARATOR_CHAR+clientWindow.getId(), tokenValue);
         }
         else
         {
-            //Use HttpSession or PortletSession object
-            Map<String, Object> sessionMap = externalContext.getSessionMap();
-            sessionMap.put(FLASH_RENDER_MAP_TOKEN, tokenValue);
+            HttpServletResponse httpResponse = ExternalContextUtils.getHttpServletResponse(externalContext);
+            if (httpResponse != null)
+            {
+                Cookie cookie = _createFlashCookie(FLASH_RENDER_MAP_TOKEN, tokenValue, externalContext);
+                httpResponse.addCookie(cookie);
+            }
+            else
+            {
+                //Use HttpSession or PortletSession object
+                Map<String, Object> sessionMap = externalContext.getSessionMap();
+                sessionMap.put(FLASH_RENDER_MAP_TOKEN, tokenValue);
+            }
         }
     }
     
@@ -757,21 +790,31 @@ public class FlashImpl extends Flash
     private String _getRenderFlashMapTokenFromPreviousRequest(ExternalContext externalContext)
     {
         String tokenValue = null;
-        HttpServletResponse httpResponse = ExternalContextUtils.getHttpServletResponse(externalContext);
-        if (httpResponse != null)
+        ClientWindow clientWindow = externalContext.getClientWindow();
+        if (clientWindow != null)
         {
-            //Use a cookie
-            Cookie cookie = (Cookie) externalContext.getRequestCookieMap().get(FLASH_RENDER_MAP_TOKEN);
-            if (cookie != null)
-            {
-                tokenValue = cookie.getValue();
-            }
+            Map<String, Object> sessionMap = externalContext.getSessionMap();
+            tokenValue = (String) sessionMap.get(FLASH_RENDER_MAP_TOKEN+
+                    SEPARATOR_CHAR+clientWindow.getId());
         }
         else
         {
-            //Use HttpSession or PortletSession object
-            Map<String, Object> sessionMap = externalContext.getSessionMap();
-            tokenValue = (String) sessionMap.get(FLASH_RENDER_MAP_TOKEN);
+            HttpServletResponse httpResponse = ExternalContextUtils.getHttpServletResponse(externalContext);
+            if (httpResponse != null)
+            {
+                //Use a cookie
+                Cookie cookie = (Cookie) externalContext.getRequestCookieMap().get(FLASH_RENDER_MAP_TOKEN);
+                if (cookie != null)
+                {
+                    tokenValue = cookie.getValue();
+                }
+            }
+            else
+            {
+                //Use HttpSession or PortletSession object
+                Map<String, Object> sessionMap = externalContext.getSessionMap();
+                tokenValue = (String) sessionMap.get(FLASH_RENDER_MAP_TOKEN);
+            }
         }
         return tokenValue;
     }
@@ -992,6 +1035,10 @@ public class FlashImpl extends Flash
     {
         Map<String, Object> map = _getExecuteFlashMap(facesContext);
 
+        //JSF 2.2 invoke PreClearFlashEvent
+        facesContext.getApplication().publishEvent(facesContext, 
+            PreClearFlashEvent.class, map);
+        
         // Clear everything - note that because of naming conventions,
         // this will in fact automatically recurse through all children
         // grandchildren etc. - which is kind of a design flaw of SubKeyMap,

Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/ContentTypeUtils.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/ContentTypeUtils.java?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/ContentTypeUtils.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/ContentTypeUtils.java Tue Apr 16 22:49:45 2013
@@ -1,136 +1,136 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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.
- */
-package org.apache.myfaces.shared.renderkit;
-
-import javax.faces.context.FacesContext;
-
-import org.apache.myfaces.shared.renderkit.html.HtmlRendererUtils;
-import org.apache.myfaces.shared.util.StringUtils;
-
-/**
- * 
- * @author Leonardo Uribe
- *
- */
-public class ContentTypeUtils
-{
-    public static final String HTML_CONTENT_TYPE = "text/html";
-    public static final String TEXT_ANY_CONTENT_TYPE = "text/*";
-    public static final String ANY_CONTENT_TYPE = "*/*";
-
-    public static final String[] HTML_ALLOWED_CONTENT_TYPES = {HTML_CONTENT_TYPE, 
-        ANY_CONTENT_TYPE, TEXT_ANY_CONTENT_TYPE};
-    
-    public static final String XHTML_CONTENT_TYPE = "application/xhtml+xml";
-    public static final String APPLICATION_XML_CONTENT_TYPE = "application/xml";
-    public static final String TEXT_XML_CONTENT_TYPE = "text/xml";
-    
-    public static final String[] XHTML_ALLOWED_CONTENT_TYPES = {XHTML_CONTENT_TYPE, 
-        APPLICATION_XML_CONTENT_TYPE, TEXT_XML_CONTENT_TYPE};
-    
-    public static final String[] AJAX_XHTML_ALLOWED_CONTENT_TYPES = {XHTML_CONTENT_TYPE};
-
-
-    /**
-     * Indicate if the passes content type match one of the options passed. 
-     */
-    public static boolean containsContentType(String contentType, String[] allowedContentTypes)
-    {
-        if (allowedContentTypes == null)
-        {
-            return false;
-        }
-        for (int i = 0; i < allowedContentTypes.length; i++)
-        {
-            if (allowedContentTypes[i].indexOf(contentType) != -1)
-            {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public static String chooseWriterContentType(String contentTypeListString, 
-            String[] htmlContentTypes, String[] xhtmlContentTypes)
-    {
-        String[] contentTypeList = splitContentTypeListString(contentTypeListString);
-        String[] supportedContentTypeArray = HtmlRendererUtils.getSupportedContentTypes();
-        String selectedContentType = null;
-        for (int i = 0; i < supportedContentTypeArray.length; i++)
-        {
-            String supportedContentType = supportedContentTypeArray[i].trim();
-
-            for (int j = 0; j < contentTypeList.length; j++)
-            {
-                String contentType = (String) contentTypeList[j];
-
-                if (contentType.indexOf(supportedContentType) != -1)
-                {
-                    if (containsContentType(contentType, htmlContentTypes))
-                    {
-                        selectedContentType = HTML_CONTENT_TYPE;
-                    }
-                    else if (containsContentType(contentType, xhtmlContentTypes))
-                    {
-                        selectedContentType = XHTML_CONTENT_TYPE;
-                    }
-                    break;
-                }
-            }
-            if (selectedContentType != null)
-            {
-                break;
-            }
-        }
-        return selectedContentType;
-    }
-    
-    public static String[] splitContentTypeListString(String contentTypeListString)
-    {
-        String[] splittedArray = StringUtils.splitShortString(contentTypeListString, ',');
-        for (int i = 0; i < splittedArray.length; i++)
-        {
-            int semicolonIndex = splittedArray[i].indexOf(";");
-            if (semicolonIndex != -1)
-            {
-                splittedArray[i] = splittedArray[i].substring(0,semicolonIndex);
-            }
-        }
-        return splittedArray;
-    }
-    
-    public static String getContentTypeFromAcceptHeader(FacesContext context)
-    {
-        String contentTypeListString = (String) context.getExternalContext()
-            .getRequestHeaderMap().get("Accept");
-        // There is a windows mobile IE client (6.12) sending
-        // "application/vnd.wap.mms-message;*/*"
-        // Note that the Accept header should be written as 
-        // "application/vnd.wap.mms-message,*/*" ,
-        // so this is bug of the client. Anyway, this is a workaround ...
-        if (contentTypeListString != null
-                && contentTypeListString
-                        .startsWith("application/vnd.wap.mms-message;*/*"))
-        {
-            contentTypeListString = "*/*";
-        }
-        return contentTypeListString;
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+package org.apache.myfaces.shared.renderkit;
+
+import javax.faces.context.FacesContext;
+
+import org.apache.myfaces.shared.renderkit.html.HtmlRendererUtils;
+import org.apache.myfaces.shared.util.StringUtils;
+
+/**
+ * 
+ * @author Leonardo Uribe
+ *
+ */
+public class ContentTypeUtils
+{
+    public static final String HTML_CONTENT_TYPE = "text/html";
+    public static final String TEXT_ANY_CONTENT_TYPE = "text/*";
+    public static final String ANY_CONTENT_TYPE = "*/*";
+
+    public static final String[] HTML_ALLOWED_CONTENT_TYPES = {HTML_CONTENT_TYPE, 
+        ANY_CONTENT_TYPE, TEXT_ANY_CONTENT_TYPE};
+    
+    public static final String XHTML_CONTENT_TYPE = "application/xhtml+xml";
+    public static final String APPLICATION_XML_CONTENT_TYPE = "application/xml";
+    public static final String TEXT_XML_CONTENT_TYPE = "text/xml";
+    
+    public static final String[] XHTML_ALLOWED_CONTENT_TYPES = {XHTML_CONTENT_TYPE, 
+        APPLICATION_XML_CONTENT_TYPE, TEXT_XML_CONTENT_TYPE};
+    
+    public static final String[] AJAX_XHTML_ALLOWED_CONTENT_TYPES = {XHTML_CONTENT_TYPE};
+
+
+    /**
+     * Indicate if the passes content type match one of the options passed. 
+     */
+    public static boolean containsContentType(String contentType, String[] allowedContentTypes)
+    {
+        if (allowedContentTypes == null)
+        {
+            return false;
+        }
+        for (int i = 0; i < allowedContentTypes.length; i++)
+        {
+            if (allowedContentTypes[i].indexOf(contentType) != -1)
+            {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public static String chooseWriterContentType(String contentTypeListString, 
+            String[] htmlContentTypes, String[] xhtmlContentTypes)
+    {
+        String[] contentTypeList = splitContentTypeListString(contentTypeListString);
+        String[] supportedContentTypeArray = HtmlRendererUtils.getSupportedContentTypes();
+        String selectedContentType = null;
+        for (int i = 0; i < supportedContentTypeArray.length; i++)
+        {
+            String supportedContentType = supportedContentTypeArray[i].trim();
+
+            for (int j = 0; j < contentTypeList.length; j++)
+            {
+                String contentType = (String) contentTypeList[j];
+
+                if (contentType.indexOf(supportedContentType) != -1)
+                {
+                    if (containsContentType(contentType, htmlContentTypes))
+                    {
+                        selectedContentType = HTML_CONTENT_TYPE;
+                    }
+                    else if (containsContentType(contentType, xhtmlContentTypes))
+                    {
+                        selectedContentType = XHTML_CONTENT_TYPE;
+                    }
+                    break;
+                }
+            }
+            if (selectedContentType != null)
+            {
+                break;
+            }
+        }
+        return selectedContentType;
+    }
+    
+    public static String[] splitContentTypeListString(String contentTypeListString)
+    {
+        String[] splittedArray = StringUtils.splitShortString(contentTypeListString, ',');
+        for (int i = 0; i < splittedArray.length; i++)
+        {
+            int semicolonIndex = splittedArray[i].indexOf(";");
+            if (semicolonIndex != -1)
+            {
+                splittedArray[i] = splittedArray[i].substring(0,semicolonIndex);
+            }
+        }
+        return splittedArray;
+    }
+    
+    public static String getContentTypeFromAcceptHeader(FacesContext context)
+    {
+        String contentTypeListString = (String) context.getExternalContext()
+            .getRequestHeaderMap().get("Accept");
+        // There is a windows mobile IE client (6.12) sending
+        // "application/vnd.wap.mms-message;*/*"
+        // Note that the Accept header should be written as 
+        // "application/vnd.wap.mms-message,*/*" ,
+        // so this is bug of the client. Anyway, this is a workaround ...
+        if (contentTypeListString != null
+                && contentTypeListString
+                        .startsWith("application/vnd.wap.mms-message;*/*"))
+        {
+            contentTypeListString = "*/*";
+        }
+        return contentTypeListString;
+    }
+
+}

Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HTML.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HTML.java?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HTML.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HTML.java Tue Apr 16 22:49:45 2013
@@ -356,6 +356,7 @@ public interface HTML
     String INPUT_TYPE_TEXT = "text";
     String INPUT_TYPE_RADIO = "radio";
     String INPUT_TYPE_BUTTON = "button";
+    String INPUT_TYPE_FILE = "file";
 
     // <button>
     String[] BUTTON_ATTRIBUTES =

Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlCheckboxRendererBase.java Tue Apr 16 22:49:45 2013
@@ -141,7 +141,7 @@ public class HtmlCheckboxRendererBase ex
 
         if (!pageDirectionLayout)
         {
-            writer.startElement(HTML.TR_ELEM, selectMany);
+            writer.startElement(HTML.TR_ELEM, null); //selectMany);
         }
         
         Converter converter = getConverter(facesContext, selectMany);
@@ -216,10 +216,10 @@ public class HtmlCheckboxRendererBase ex
         {
             if (pageDirectionLayout)
             {
-                writer.startElement(HTML.TR_ELEM, selectMany);
+                writer.startElement(HTML.TR_ELEM, null); // selectMany);
             }
 
-            writer.startElement(HTML.TD_ELEM, selectMany);
+            writer.startElement(HTML.TD_ELEM, null); // selectMany);
             if (selectItem.isEscape())
             {
                 writer.writeText(selectItem.getLabel(),HTML.LABEL_ATTR);
@@ -233,16 +233,16 @@ public class HtmlCheckboxRendererBase ex
             if (pageDirectionLayout)
             {
                 writer.endElement(HTML.TR_ELEM);
-                writer.startElement(HTML.TR_ELEM, selectMany);
+                writer.startElement(HTML.TR_ELEM, null); // selectMany);
             }
-            writer.startElement(HTML.TD_ELEM, selectMany);
+            writer.startElement(HTML.TD_ELEM, null); // selectMany);
 
-            writer.startElement(HTML.TABLE_ELEM, selectMany);
+            writer.startElement(HTML.TABLE_ELEM, null); // selectMany);
             writer.writeAttribute(HTML.BORDER_ATTR, "0", null);
             
             if(!pageDirectionLayout)
             {
-                writer.startElement(HTML.TR_ELEM, selectMany);
+                writer.startElement(HTML.TR_ELEM, null); // selectMany);
             }
 
             SelectItemGroup group = (SelectItemGroup) selectItem;
@@ -290,9 +290,9 @@ public class HtmlCheckboxRendererBase ex
             writer.write("\t\t");
             if (pageDirectionLayout)
             {
-                writer.startElement(HTML.TR_ELEM, selectMany);
+                writer.startElement(HTML.TR_ELEM, null); // selectMany);
             }
-            writer.startElement(HTML.TD_ELEM, selectMany);
+            writer.startElement(HTML.TD_ELEM, null); // selectMany);
 
             boolean disabled = selectItem.isDisabled();
 

Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlFormRendererBase.java Tue Apr 16 22:49:45 2013
@@ -204,7 +204,7 @@ public class HtmlFormRendererBase
         }
 
         //write hidden input to determine "submitted" value on decode
-        writer.startElement(HTML.INPUT_ELEM, component);
+        writer.startElement(HTML.INPUT_ELEM, null); // component);
         writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_HIDDEN, null);
         writer.writeAttribute(HTML.NAME_ATTR, component.getClientId(facesContext) +
                                               HIDDEN_SUBMIT_INPUT_SUFFIX, null);

Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java?rev=1468656&r1=1468655&r2=1468656&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlGridRendererBase.java Tue Apr 16 22:49:45 2013
@@ -213,9 +213,10 @@ public class HtmlGridRendererBase
 
         HtmlRendererUtils.writePrettyLineSeparator(context);
         writer.startElement(
-                header ? org.apache.myfaces.shared.renderkit.html.HTML.THEAD_ELEM : HTML.TFOOT_ELEM, component);
-        writer.startElement(HTML.TR_ELEM, component);
-        writer.startElement(header ? HTML.TH_ELEM : HTML.TD_ELEM, component);
+                header ? org.apache.myfaces.shared.renderkit.html.HTML.THEAD_ELEM : HTML.TFOOT_ELEM, null);
+                // component);
+        writer.startElement(HTML.TR_ELEM, null); // component);
+        writer.startElement(header ? HTML.TH_ELEM : HTML.TD_ELEM, null); // component);
 
         String styleClass = (component instanceof HtmlPanelGrid)
             ? (header ?
@@ -341,13 +342,13 @@ public class HtmlGridRendererBase
                                 writer.endElement(HTML.TBODY_ELEM);
                                 HtmlRendererUtils.writePrettyLineSeparator(context);
                             }
-                            writer.startElement(HTML.TBODY_ELEM, component); 
+                            writer.startElement(HTML.TBODY_ELEM, null); // component); 
                             HtmlRendererUtils.writePrettyLineSeparator(context);
                             bodyrowsCount++;
                         }
                         
                         //start of new/next row
-                        writer.startElement(HTML.TR_ELEM, component);
+                        writer.startElement(HTML.TR_ELEM, null); // component);
                         if (rowClassIndex < rowClassesCount)
                         {
                             writer.writeAttribute(HTML.CLASS_ATTR, rowClassesArray[rowClassIndex], null);
@@ -360,7 +361,7 @@ public class HtmlGridRendererBase
                         }
                     }
 
-                    writer.startElement(HTML.TD_ELEM, component);
+                    writer.startElement(HTML.TD_ELEM, null); // component);
                     if (columnIndex < columnClassesCount)
                     {
                         writer.writeAttribute(HTML.CLASS_ATTR, columnClassesArray[columnIndex], null);
@@ -392,7 +393,7 @@ public class HtmlGridRendererBase
                     //Render empty columns, so that table is correct
                     for ( ; columnIndex < columns; columnIndex++)
                     {
-                        writer.startElement(HTML.TD_ELEM, component);
+                        writer.startElement(HTML.TD_ELEM, null); // component);
                         if (columnIndex < columnClassesCount)
                         {
                             writer.writeAttribute(HTML.CLASS_ATTR, columnClassesArray[columnIndex], null);

Added: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlInputFileRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlInputFileRendererBase.java?rev=1468656&view=auto
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlInputFileRendererBase.java (added)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlInputFileRendererBase.java Tue Apr 16 22:49:45 2013
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+package org.apache.myfaces.shared.renderkit.html;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIInput;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.convert.ConverterException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.Part;
+import java.io.IOException;
+
+/**
+ * @author Werner Punz (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ */
+
+public class HtmlInputFileRendererBase extends HtmlTextRendererBase
+{
+
+    @Override
+    public void decode(FacesContext facesContext, UIComponent uiComponent)
+    {
+        try
+        {
+            Part part = ((HttpServletRequest) facesContext.getExternalContext().getRequest()).
+                    getPart(uiComponent.getClientId());
+            if (part == null)
+            {
+                return;
+            }
+            ((UIInput) uiComponent).setSubmittedValue(part);
+        }
+        catch (IOException e)
+        {
+            e.printStackTrace();
+        }
+        catch (ServletException e)
+        {
+            e.printStackTrace();
+        }
+    }
+
+    public Object getConvertedValue(FacesContext context, UIComponent component, Object submittedValue)
+            throws ConverterException
+    {
+        if (context == null)
+        {
+            throw new NullPointerException("context");
+        }
+        if (component == null)
+        {
+            throw new NullPointerException("component");
+        }
+        return submittedValue;
+    }
+
+    /**
+     * Returns the HTML type attribute of HTML input element, which is being rendered.
+     */
+    protected String getInputHtmlType(UIComponent component)
+    {
+        //subclasses may act on properties of the component
+        return HTML.INPUT_TYPE_FILE;
+    }
+
+    protected void renderValue(FacesContext facesContext, UIComponent component, ResponseWriter writer)
+            throws IOException
+    {
+        //the input file element cannot render a value it is readonly
+    }
+}

Propchange: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlInputFileRendererBase.java
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message