Author: ssmaeklu
Date: 2007-08-20 17:55:06 +0200 (Mon, 20 Aug 2007)
New Revision: 5633

Modified:
   
trunk/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java
   
trunk/view-config-spi/src/main/java/no/sesat/search/view/navigation/OptionsNavigationConfig.java
   
trunk/view-control-spi/src/main/java/no/sesat/search/view/navigation/NavigationHelper.java
Log:
Some child navigators are not actually part of the navigation hierarchy but 
only there to modify the result of their parents.

Modified: 
trunk/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java
===================================================================
--- 
trunk/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java
   2007-08-19 11:26:34 UTC (rev 5632)
+++ 
trunk/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java
   2007-08-20 15:55:06 UTC (rev 5633)
@@ -367,6 +367,10 @@
             this.backText = backText;
         }
 
+        public boolean isVirtual() {
+            return false;
+        }
+
         @Override
         public String toString() {
 

Modified: 
trunk/view-config-spi/src/main/java/no/sesat/search/view/navigation/OptionsNavigationConfig.java
===================================================================
--- 
trunk/view-config-spi/src/main/java/no/sesat/search/view/navigation/OptionsNavigationConfig.java
    2007-08-19 11:26:34 UTC (rev 5632)
+++ 
trunk/view-config-spi/src/main/java/no/sesat/search/view/navigation/OptionsNavigationConfig.java
    2007-08-20 15:55:06 UTC (rev 5633)
@@ -58,6 +58,10 @@
         }
     }
 
+    public boolean isVirtual() {
+        return true;
+    }
+
     private void processOptions(NodeList optionNodes) {
         for (int i = 0; i < optionNodes.getLength(); i++) {
             final Element optionElement = (Element) optionNodes.item(i);

Modified: 
trunk/view-control-spi/src/main/java/no/sesat/search/view/navigation/NavigationHelper.java
===================================================================
--- 
trunk/view-control-spi/src/main/java/no/sesat/search/view/navigation/NavigationHelper.java
  2007-08-19 11:26:34 UTC (rev 5632)
+++ 
trunk/view-control-spi/src/main/java/no/sesat/search/view/navigation/NavigationHelper.java
  2007-08-20 15:55:06 UTC (rev 5633)
@@ -105,10 +105,12 @@
     }
 
     public static NavigationConfig.Nav getFirstNotSelected(DataModel dm, 
NavigationConfig.Nav nav) {
-        if (dm.getParameters().getValue(nav.getId()) != null && ! 
nav.getChildNavs().isEmpty()) {
+        if (dm.getParameters().getValue(nav.getId()) != null
+                && !nav.getChildNavs().isEmpty()
+                && !nav.getChildNavs().get(0).isVirtual()) {
             return getFirstNotSelected(dm, nav.getChildNavs().get(0));
         } else {
-            if 
(dm.getNavigation().getNavigation(nav.getId()).getResults().size() == 1 && 
!nav.getChildNavs().isEmpty()) {
+            if (nav.getId() != null && 
dm.getNavigation().getNavigation(nav.getId()).getResults().size() == 1 && 
!nav.getChildNavs().isEmpty()) {
                 return getFirstNotSelected(dm, nav.getChildNavs().get(0)); 
             } else {
                 return nav;

_______________________________________________
Kernel-commits mailing list
[email protected]
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to