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