You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by cj...@apache.org on 2009/11/17 13:43:03 UTC

svn commit: r881253 - /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.java

Author: cjhoward
Date: Tue Nov 17 12:43:02 2009
New Revision: 881253

URL: http://svn.apache.org/viewvc?rev=881253&view=rev
Log:
MYFACES-2402 - fix conditional navigation.

Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/application/NavigationHandlerImpl.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=881253&r1=881252&r2=881253&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 Tue Nov 17 12:43:02 2009
@@ -365,7 +365,11 @@
                         // Caveat: evaluate <if> if available.
 
                         if (cazeIf != null) {
-                            return (ifMatches ? caze : null);
+                            if (ifMatches) {
+                                return caze;
+                            }
+                            
+                            continue;
                         }
 
                         else {
@@ -380,11 +384,19 @@
                         // Caveat: if <if> is available, evaluate.  If not, only match if outcome is not null.
 
                         if (cazeIf != null) {
-                            return (ifMatches ? caze : null);
+                            if (ifMatches) {
+                                return caze;
+                            }
+                            
+                            continue;
                         }
 
                         else {
-                            return ((outcome != null) ? caze : null);
+                            if (outcome != null) {
+                                return caze;
+                            }
+                            
+                            continue;
                         }
                     }
                 }
@@ -397,7 +409,11 @@
                         // Caveat: if <if> is available, evaluate.
 
                         if (cazeIf != null) {
-                            return (ifMatches ? caze : null);
+                            if (ifMatches) {
+                                return caze;
+                            }
+                            
+                            continue;
                         }
 
                         else {
@@ -413,7 +429,11 @@
                 // Again, if <if> present, evaluate.
 
                 if (cazeIf != null) {
-                    return (ifMatches ? caze : null);
+                    if (ifMatches) {
+                        return caze;
+                    }
+                    
+                    continue;
                 }
             }