You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2012/11/21 20:18:35 UTC

svn commit: r1412233 - in /myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo: NavigationState.java NavigationTree.java

Author: lofwyr
Date: Wed Nov 21 19:18:34 2012
New Revision: 1412233

URL: http://svn.apache.org/viewvc?rev=1412233&view=rev
Log:
demo: JSP version + robustness

Modified:
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationState.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationState.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationState.java?rev=1412233&r1=1412232&r2=1412233&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationState.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationState.java Wed Nov 21 19:18:34 2012
@@ -68,22 +68,30 @@ public class NavigationState implements 
   }
 
   public String gotoPrevious() {
-    final NavigationNode previousNode = currentNode.getPreviousNode();
-    if (previousNode != null) {
-      return gotoNode(previousNode);
+    if (currentNode == null) {
+      return gotoFirst();
     } else {
-      LOG.warn("Strange navigation behavior");
-      return null;
+      final NavigationNode previousNode = currentNode.getPreviousNode();
+      if (previousNode != null) {
+        return gotoNode(previousNode);
+      } else {
+        LOG.warn("Strange navigation behavior");
+        return null;
+      }
     }
   }
 
   public String gotoNext() {
-    final NavigationNode nextNode = currentNode.getNextNode();
-    if (nextNode != null) {
-      return gotoNode(nextNode);
+    if (currentNode == null) {
+      return gotoFirst();
     } else {
-      LOG.warn("Strange navigation behavior");
-      return null;
+      final NavigationNode nextNode = currentNode.getNextNode();
+      if (nextNode != null) {
+        return gotoNode(nextNode);
+      } else {
+        LOG.warn("Strange navigation behavior");
+        return null;
+      }
     }
   }
 
@@ -92,18 +100,28 @@ public class NavigationState implements 
   }
 
   public String gotoNode(NavigationNode node) {
-    currentNode = node;
-    initState();
-    LOG.info("Navigate to '" + currentNode.getOutcome() + "'");
-    return currentNode.getOutcome();
+    if (node == null) {
+      return gotoFirst();
+    } else {
+      currentNode = node;
+      initState();
+      LOG.info("Navigate to '" + currentNode.getOutcome() + "'");
+      return currentNode.getOutcome();
+    }
   }
 
   public boolean isFirst() {
+    if (currentNode == null) {
+      return false;
+    }
     final NavigationNode previousNode = currentNode.getPreviousNode();
     return previousNode == null || previousNode.isRoot();
   }
 
   public boolean isLast() {
+    if (currentNode == null) {
+      return false;
+    }
     final NavigationNode nextNode = currentNode.getNextNode();
     return nextNode == null;
   }

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java?rev=1412233&r1=1412232&r2=1412233&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java Wed Nov 21 19:18:34 2012
@@ -130,6 +130,9 @@ public class NavigationTree implements S
   }
 
   public NavigationNode findByViewId(String viewId) {
+    if (viewId.endsWith(".jspx")) {
+      viewId = viewId.substring(0, viewId.lastIndexOf(".jspx")) + ".xhtml";
+    }
     Enumeration enumeration = tree.depthFirstEnumeration();
     while (enumeration.hasMoreElements()) {
       NavigationNode node = ((NavigationNode) enumeration.nextElement());