Author: gttersen
Date: 2007-05-14 17:12:30 +0200 (Mon, 14 May 2007)
New Revision: 5076

Modified:
   
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NavigationCommandConfig.java
Log:
NewsAggregator: Fixed bug, reset-nav should use nav id not fieldname to when 
choosing which nav to reset. Now also resets recursively.

Modified: 
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NavigationCommandConfig.java
===================================================================
--- 
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NavigationCommandConfig.java
 2007-05-14 15:06:54 UTC (rev 5075)
+++ 
branches/2.12/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/config/NavigationCommandConfig.java
 2007-05-14 15:12:30 UTC (rev 5076)
@@ -148,11 +148,27 @@
             for (Element resetNavElement : resetNavElements) {
                 String id = resetNavElement.getAttribute("id");
                 if (id != null) {
-                    resetNavSet.add(id);
+                    Nav nav = navMap.get(id);
+                    if (nav != null) {
+                        addReset(nav);
+                    } else {
+                        LOG.error("Error in config, <reset-nav id=\"" + id + 
"\" />, nav with id=" + id + " not found");
+                    }
                 }
             }
         }
 
+        private void addReset(Nav nav) {
+            if (nav != null) {
+                resetNavSet.add(nav.getField());
+                if (nav.getChildNavs() != null) {
+                    for (Nav childNav : nav.getChildNavs()) {
+                        addReset(childNav);
+                    }
+                }
+            }
+        }
+
         private void updateNavMap(Nav nav, HashMap<String, Nav> navMap) {
             navMap.put(nav.getId(), nav);
             if (nav.getChildNavs() != null && nav.getChildNavs().size() > 0) {

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

Reply via email to