Author: gttersen
Date: 2007-06-18 13:20:04 +0200 (Mon, 18 Jun 2007)
New Revision: 5349

Modified:
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/NavigationHelper.java
   
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/handler/NavigationRunningQueryHandler.java
   
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/NavigationConfig.java
Log:
newsAggregator: aftenposten skin

Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/NavigationHelper.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/NavigationHelper.java
      2007-06-18 11:08:51 UTC (rev 5348)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/result/NavigationHelper.java
      2007-06-18 11:20:04 UTC (rev 5349)
@@ -11,6 +11,8 @@
 import java.net.URLEncoder;
 import java.util.HashSet;
 import java.util.Set;
+import java.util.List;
+
 import no.schibstedsok.searchportal.datamodel.DataModel;
 import no.schibstedsok.searchportal.datamodel.generic.StringDataObject;
 import no.schibstedsok.searchportal.mode.NavigationConfig;
@@ -64,9 +66,12 @@
             final String navigatorName) {
 
         final StringBuilder sb = new StringBuilder();
-        String tab = navEntry.getTab();
+        String tab = navEntry.getTabByValue(value);
         if (tab == null) {
-            tab = datamodel.getParameters().getValue("c").getUtf8UrlEncoded();
+            tab = navEntry.getTab();
+            if (tab == null) {
+                tab = 
datamodel.getParameters().getValue("c").getUtf8UrlEncoded();
+            }
         }
         sb.append("c=").append(tab);
         if (!navEntry.isExcludeQuery()) {

Modified: 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/handler/NavigationRunningQueryHandler.java
===================================================================
--- 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/handler/NavigationRunningQueryHandler.java
    2007-06-18 11:08:51 UTC (rev 5348)
+++ 
trunk/core-api/src/main/java/no/schibstedsok/searchportal/run/handler/NavigationRunningQueryHandler.java
    2007-06-18 11:20:04 UTC (rev 5349)
@@ -148,7 +148,6 @@
             for(NavigationItem item : toRemove){
                 extendedNavigators.removeResult(item);
             }
-
         } else {
             final StringDataObject optionSelectedValue
                     = datamodel.getParameters().getValue(navEntry.getField());
@@ -167,13 +166,15 @@
                             option.getDisplayName(),
                             NavigationHelper.getUrlFragment(datamodel, 
navEntry, value, null),
                             -1);
-
                     extendedNavigators.addResult(navigator);
                     if (optionSelectedValue == null && 
option.isDefaultSelect()) {
                         navigator.setSelected(true);
                     } else if (optionSelectedValue != null && 
optionSelectedValue.getString().equals(value)) {
                         navigator.setSelected(true);
                     }
+                    if (option.isUseHitCount() && option.getCommandName() != 
null) {
+                        
navigator.setHitCount(datamodel.getSearch(option.getCommandName()).getResults().getHitCount());
+                    }
                 }
             }
         }

Modified: 
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/NavigationConfig.java
===================================================================
--- 
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/NavigationConfig.java
       2007-06-18 11:08:51 UTC (rev 5348)
+++ 
trunk/search-command-config-spi/src/main/java/no/schibstedsok/searchportal/mode/NavigationConfig.java
       2007-06-18 11:20:04 UTC (rev 5349)
@@ -281,7 +281,7 @@
             final List<Element> optionElements = getDirectChildren(navElement, 
OPTION_ELEMENT);
             options = new ArrayList<Option>(optionElements.size());
             for (Element optionElement : optionElements) {
-                options.add(new Option(optionElement));
+                options.add(new Option(optionElement, this));
             }
             final List<Element> staticParamElements = 
getDirectChildren(navElement, STATIC_PARAMETER_ELEMENT);
             staticParameters = new HashMap<String, String>();
@@ -350,6 +350,17 @@
             this.id = id;
         }
 
+        public String getTabByValue(String value) {
+            if (options != null) {
+                for (Option option : options) {
+                    if (option.getValue() != null && 
option.getValue().equals(value)) {
+                        return option.getTab();
+                    }
+                }
+            }
+            return null;
+        }
+
         public String getTab() {
             return tab;
         }
@@ -402,8 +413,11 @@
         private String valueRef;
         private boolean realNavigator;
         private boolean defaultSelect;
+        private String tab;
+        private boolean useHitCount;
+        private String commandName;
 
-        private Option(Element optionElement) {
+        private Option(Element optionElement, Nav parentNav) {
 
             AbstractDocumentFactory
                     .fillBeanProperty(this, null, "value", ParseType.String, 
optionElement, null);
@@ -415,6 +429,13 @@
                     .fillBeanProperty(this, null, "realNavigator", 
ParseType.Boolean, optionElement, "false");
             AbstractDocumentFactory
                     .fillBeanProperty(this, null, "defaultSelect", 
ParseType.Boolean, optionElement, "false");
+            AbstractDocumentFactory
+                    .fillBeanProperty(this, null, "tab", ParseType.String, 
optionElement, parentNav.getTab());
+            AbstractDocumentFactory
+                    .fillBeanProperty(this, null, "useHitCount", 
ParseType.Boolean, optionElement, "false");
+            AbstractDocumentFactory
+                    .fillBeanProperty(this, null, "commandName", 
ParseType.String, optionElement, parentNav.getCommandName());
+
         }
 
         public boolean isDefaultSelect() {
@@ -425,6 +446,30 @@
             this.defaultSelect = defaultSelect;
         }
 
+        public String getTab() {
+            return tab;
+        }
+
+        public void setTab(String tab) {
+            this.tab = tab;
+        }
+
+        public boolean isUseHitCount() {
+            return useHitCount;
+        }
+
+        public void setUseHitCount(boolean useHitCount) {
+            this.useHitCount = useHitCount;
+        }
+
+        public String getCommandName() {
+            return commandName;
+        }
+
+        public void setCommandName(String commandName) {
+            this.commandName = commandName;
+        }
+
         public boolean isRealNavigator() {
             return realNavigator;
         }

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

Reply via email to