You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2013/08/29 04:50:00 UTC

svn commit: r1518456 - in /myfaces/core/trunk/impl/src: main/java/org/apache/myfaces/application/ test/java/org/apache/myfaces/application/ test/resources/org/apache/myfaces/application/

Author: lu4242
Date: Thu Aug 29 02:50:00 2013
New Revision: 1518456

URL: http://svn.apache.org/r1518456
Log:
MYFACES-3763 Navigation with <from-action> and <if> case should match both

Added:
    myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/simple-if-rules-config-3.xml
      - copied, changed from r1509781, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/simple-if-rules-config-2.xml
Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java
    myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/application/NavigationHandlerImplTest.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java?rev=1518456&r1=1518455&r2=1518456&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java Thu Aug 29 02:50:00 2013
@@ -1062,6 +1062,14 @@ public class NavigationHandlerImpl
                             continue;
                         }
                     }
+                    else
+                    {
+                        // cazeActionRef != null and cazeOutcome == null
+                        // but cazeActionRef does not match. No additional operation
+                        // required because cazeIf is only taken into account 
+                        // it cazeActionRef match. 
+                        continue;
+                    }
                 }
             }
             else

Modified: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/application/NavigationHandlerImplTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/application/NavigationHandlerImplTest.java?rev=1518456&r1=1518455&r2=1518456&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/application/NavigationHandlerImplTest.java (original)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/application/NavigationHandlerImplTest.java Thu Aug 29 02:50:00 2013
@@ -291,6 +291,26 @@ public class NavigationHandlerImplTest e
 
         Assert.assertEquals("/b.jsp", nc.getToViewId(facesContext));
     }
+    
+    @Test
+    public void testGetSimpleIfPreferMathRule2() throws Exception
+    {
+        loadTextFacesConfig("simple-if-rules-config-3.xml");
+
+        externalContext.getRequestMap().put("test", new TestBean());
+        
+        facesContext.getViewRoot().setViewId("/a.jsp");
+        
+        NavigationHandlerImpl nh = new NavigationHandlerImpl();
+
+        NavigationCase nc = nh.getNavigationCase(facesContext, "go", null);
+
+        Assert.assertEquals("/b.jsp", nc.getToViewId(facesContext));
+        
+        nc = nh.getNavigationCase(facesContext, "go", "xx");
+
+        Assert.assertEquals("/b.jsp", nc.getToViewId(facesContext));
+    }
 
     @Test
     public void testGetSimpleNotIfExactMatchRule() throws Exception

Copied: myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/simple-if-rules-config-3.xml (from r1509781, myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/simple-if-rules-config-2.xml)
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/simple-if-rules-config-3.xml?p2=myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/simple-if-rules-config-3.xml&p1=myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/simple-if-rules-config-2.xml&r1=1509781&r2=1518456&rev=1518456&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/simple-if-rules-config-2.xml (original)
+++ myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/application/simple-if-rules-config-3.xml Thu Aug 29 02:50:00 2013
@@ -22,7 +22,7 @@ Licensed to the Apache Software Foundati
   <navigation-rule>
     <from-view-id>/a.jsp</from-view-id>
     <navigation-case>
-        <from-outcome>go</from-outcome>
+        <from-action>go</from-action>
         <if>#{test.true}</if>
         <to-view-id>/b.jsp</to-view-id>
     </navigation-case>
@@ -30,7 +30,7 @@ Licensed to the Apache Software Foundati
   <navigation-rule>
     <from-view-id>/a.jsp</from-view-id>
     <navigation-case>
-        <from-outcome>go</from-outcome>
+        <from-action>go</from-action>
         <to-view-id>/c.jsp</to-view-id>
     </navigation-case>
   </navigation-rule>