Author: ssmiweve
Date: 2008-03-22 23:46:20 +0100 (Sat, 22 Mar 2008)
New Revision: 6268

Modified:
   
branches/2.16/core-api/src/main/java/no/sesat/search/util/SearchConstants.java
   
branches/2.16/generic.sesam/view-control/src/main/java/no/sesat/search/view/navigation/AbstractUrlGenerator.java
   
branches/2.16/generic.sesam/view-control/src/main/java/no/sesat/search/view/navigation/fast/FastNavigationController.java
   
branches/2.16/run-handler-control-spi/src/main/java/no/sesat/search/run/handler/NavigationRunHandler.java
   
branches/2.16/view-config-spi/src/main/java/no/sesat/search/view/config/SearchTab.java
   
branches/2.16/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java
   
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/NavigationManager.java
   
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/OptionNavigationController.java
   
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/UrlGenerator.java
Log:
SEARCH-4105 - Move logic from get-method to constructor in NavigationManager


Modified: 
branches/2.16/core-api/src/main/java/no/sesat/search/util/SearchConstants.java
===================================================================
--- 
branches/2.16/core-api/src/main/java/no/sesat/search/util/SearchConstants.java  
    2008-03-22 21:34:34 UTC (rev 6267)
+++ 
branches/2.16/core-api/src/main/java/no/sesat/search/util/SearchConstants.java  
    2008-03-22 22:46:20 UTC (rev 6268)
@@ -58,10 +58,7 @@
     public static final String REQUEST_KEYPARAM_LANGUAGE = "lan";
 
     public static final String REQUEST_KEYPARAM_DOCUMENTS_TO_RETURN = "d";
-    public static final String REQUEST_KEYPARAM_COLLECTION = "c";
-    public static final String REQUEST_PARAM_DEFAULT_COLLECTIONS = "d";
-    public static final String REQUEST_PARAM_MEDIA_COLLECTIONS = "m";
-    public static final String REQUEST_PARAM_GLOBAL_INDEX = "g";
+
     public static final Object REQUEST_PARAM_WIKICOLLECTION = "wiki";
 
     public static final String STD_CONTENT_TYPE = "text/html";
@@ -75,10 +72,7 @@
     public static final String NORDIC_NEWS_COLLECTION = "retrievernordic";
     public static final String PIC_SEARCH_HOST = "license.picsearch.com";
     public static final String WEATHER_SEARCH_HOST = 
"www.storm.no/kunder/schibsted";
-    
-    public static final Object REQUEST_PARAM_PICTURE_SEARCH = "p";
 
-
 }
 
 

Modified: 
branches/2.16/generic.sesam/view-control/src/main/java/no/sesat/search/view/navigation/AbstractUrlGenerator.java
===================================================================
--- 
branches/2.16/generic.sesam/view-control/src/main/java/no/sesat/search/view/navigation/AbstractUrlGenerator.java
    2008-03-22 21:34:34 UTC (rev 6267)
+++ 
branches/2.16/generic.sesam/view-control/src/main/java/no/sesat/search/view/navigation/AbstractUrlGenerator.java
    2008-03-22 22:46:20 UTC (rev 6268)
@@ -1,5 +1,5 @@
 /*
- * Copyright (2007) Schibsted Søk
+ * Copyright (2007-2008) Schibsted Søk
  *   This file is part of SESAT.
  *
  *   SESAT is free software: you can redistribute it and/or modify
@@ -26,7 +26,7 @@
 /**
  * The basics of a UrlGenerator.
  *
- * Extend this class to create your own UrlGenerator. This ensures that 
configuration contracts are upheld. 
+ * Extend this class to create your own UrlGenerator. This ensures that 
configuration contracts are upheld.
  *
  * The term url component is used to denote a part of a URL, be it a part of 
the path or a parameter.
  *
@@ -69,7 +69,7 @@
      * Returns the static URL prefix. (e.g. /search). If the URL is configured 
to be relative, the empty string is
      * returned.
      *
-     * @see 
no.sesat.search.view.navigation.NavigationConfig.Navigation#getPrefix() 
+     * @see 
no.sesat.search.view.navigation.NavigationConfig.Navigation#getPrefix()
      *
      * @return the url prefix.
      */
@@ -83,7 +83,7 @@
      * @param nav the navigator.
      * @param extraParameters any extra parameters that should go into the URL.
      *
-     * @param newValue 
+     * @param newValue
      * @return the set of parameter names.
      */
     protected final Set<String> getUrlComponentNames(
@@ -111,7 +111,7 @@
      * @param nav the navigator
      * @param componentName the name of the url component.
      *
-     * @param extraParameters 
+     * @param extraParameters
      * @return the value. UTF-8 URL ENCODED.
      */
     protected String getUrlComponentValue(
@@ -119,10 +119,12 @@
             final String componentName,
             final Map<String, String> extraParameters) {
 
-        return getFirstNotNull(
-                extraParameters.get(componentName),
-                nav.getStaticParameters().get(componentName),
-                state.getParameterValue(nav, componentName));
+        // return the first non-null value found.
+        return null != extraParameters.get(componentName)
+                ? /*return*/ extraParameters.get(componentName)
+                : null != nav.getStaticParameters().get(componentName)
+                    ? /*return*/ nav.getStaticParameters().get(componentName)
+                    : /*return*/ state.getParameterValue(nav, componentName);
     }
 
     /**
@@ -134,14 +136,4 @@
         return dataModel;
     }
 
-    private String getFirstNotNull(final String ... strings) {
-        
-        for (final String string : strings) {
-            if (string != null) {
-                return string;
-            }
-        }
-
-        return null;
-    }
 }

Modified: 
branches/2.16/generic.sesam/view-control/src/main/java/no/sesat/search/view/navigation/fast/FastNavigationController.java
===================================================================
--- 
branches/2.16/generic.sesam/view-control/src/main/java/no/sesat/search/view/navigation/fast/FastNavigationController.java
   2008-03-22 21:34:34 UTC (rev 6267)
+++ 
branches/2.16/generic.sesam/view-control/src/main/java/no/sesat/search/view/navigation/fast/FastNavigationController.java
   2008-03-22 22:46:20 UTC (rev 6268)
@@ -1,4 +1,4 @@
-/* Copyright (2005-2007) Schibsted Søk AS
+/* Copyright (2005-2008) Schibsted Søk AS
  * This file is part of SESAT.
  *
  *   SESAT is free software: you can redistribute it and/or modify
@@ -85,10 +85,11 @@
                     if (selectedValue != null && 
selectedValue.getString().equals(i.getTitle())) {
                         i.setSelected(true);
                     }
-                    
+
                     // If an item is selected all other items on the same 
navigation level are excluded.
-                    if (!nav.isExcludeOtherMatches() || selectedValue == null 
|| i.isSelected())
+                    if (!nav.isExcludeOtherMatches() || selectedValue == null 
|| i.isSelected()){
                         item.addResult(i);
+                    }
 
                     if (sizeCounter == maxsize) {
                         break;

Modified: 
branches/2.16/run-handler-control-spi/src/main/java/no/sesat/search/run/handler/NavigationRunHandler.java
===================================================================
--- 
branches/2.16/run-handler-control-spi/src/main/java/no/sesat/search/run/handler/NavigationRunHandler.java
   2008-03-22 21:34:34 UTC (rev 6267)
+++ 
branches/2.16/run-handler-control-spi/src/main/java/no/sesat/search/run/handler/NavigationRunHandler.java
   2008-03-22 22:46:20 UTC (rev 6268)
@@ -1,4 +1,4 @@
-/* Copyright (2007) Schibsted Søk AS
+/* Copyright (2007-2008) Schibsted Søk AS
  *   This file is part of SESAT.
  *
  *   SESAT is free software: you can redistribute it and/or modify
@@ -21,18 +21,27 @@
 import no.sesat.search.datamodel.generic.StringDataObject;
 import no.sesat.search.datamodel.navigation.NavigationDataObject;
 import no.sesat.search.view.NavigationControllerSpiFactory;
-import no.sesat.search.view.navigation.*;
 import no.sesat.search.result.NavigationItem;
 import no.sesat.search.result.BasicNavigationItem;
 import no.sesat.search.site.Site;
 import no.sesat.search.site.SiteContext;
-import no.sesat.search.site.config.*;
 
 import java.util.List;
 import java.util.Properties;
 import java.lang.reflect.Constructor;
 
 import javax.xml.parsers.DocumentBuilder;
+import no.sesat.search.site.config.BytecodeLoader;
+import no.sesat.search.site.config.DocumentLoader;
+import no.sesat.search.site.config.PropertiesLoader;
+import no.sesat.search.site.config.SiteClassLoaderFactory;
+import no.sesat.search.site.config.Spi;
+import no.sesat.search.view.navigation.NavigationConfig;
+import no.sesat.search.view.navigation.NavigationController;
+import no.sesat.search.view.navigation.NavigationControllerFactory;
+import no.sesat.search.view.navigation.NavigationManager;
+import no.sesat.search.view.navigation.NavigationState;
+import no.sesat.search.view.navigation.UrlGenerator;
 
 
 /**
@@ -121,7 +130,9 @@
                 navDO.setNavigation(nav.getId(), items);
 
                 // Create a "back" navigation item.
-                final NavigationItem reset = new BasicNavigationItem("reset_" 
+ nav.getId(), urlGenerator.getURL("", nav) ,0);
+                final NavigationItem reset
+                        = new BasicNavigationItem("reset_" + nav.getId(), 
urlGenerator.getURL("", nav), 0);
+
                 navDO.setNavigation("reset_" + nav.getId(), reset);
 
             }
@@ -140,7 +151,9 @@
         return factory.get(navEntry).getNavigationItems(navCxt);
     }
 
-    private NavigationController.Context 
createNavigationControllerContext(final UrlGenerator urlGenerator, final 
Context context) {
+    private NavigationController.Context createNavigationControllerContext(
+            final UrlGenerator urlGenerator,
+            final Context context) {
 
         return new NavigationController.Context() {
 
@@ -170,22 +183,31 @@
         };
     }
 
-    private UrlGenerator 
getUrlGeneratorInstance(SiteClassLoaderFactory.Context classLoadingContext, 
NavigationConfig.Navigation navigation, Context context) {
+    private UrlGenerator getUrlGeneratorInstance(
+            final SiteClassLoaderFactory.Context classLoadingContext,
+            final NavigationConfig.Navigation navigation,
+            final Context context) {
+
         try {
             final SiteClassLoaderFactory f = 
SiteClassLoaderFactory.instanceOf(classLoadingContext);
 
             final Class clazz = 
f.getClassLoader().loadClass(navigation.getUrlGenerator());
 
             @SuppressWarnings("unchecked")
-            final Constructor<? extends UrlGenerator> s = 
clazz.getConstructor(DataModel.class, NavigationConfig.Navigation.class, 
NavigationState.class);
+            final Constructor<? extends UrlGenerator> s
+                    = clazz.getConstructor(DataModel.class, 
NavigationConfig.Navigation.class, NavigationState.class);
 
             return s.newInstance(context.getDataModel(), navigation, 
navigationManager.getNavigationState());
+
         } catch (Exception e) {
-            throw new IllegalArgumentException("Unable to load desired url 
generator: " + navigation.getUrlGenerator(), e);
+            throw new IllegalArgumentException(
+                    "Unable to load desired url generator: " + 
navigation.getUrlGenerator(),
+                    e);
         }
     }
 
     private SiteClassLoaderFactory.Context createClassLoadingContext(final 
Context context) {
+
         return new SiteClassLoaderFactory.Context() {
             public BytecodeLoader newBytecodeLoader(SiteContext siteContext, 
String className, String jarFileName) {
                 return context.newBytecodeLoader(siteContext, className, 
jarFileName);

Modified: 
branches/2.16/view-config-spi/src/main/java/no/sesat/search/view/config/SearchTab.java
===================================================================
--- 
branches/2.16/view-config-spi/src/main/java/no/sesat/search/view/config/SearchTab.java
      2008-03-22 21:34:34 UTC (rev 6267)
+++ 
branches/2.16/view-config-spi/src/main/java/no/sesat/search/view/config/SearchTab.java
      2008-03-22 22:46:20 UTC (rev 6268)
@@ -1,4 +1,4 @@
-/* Copyright (2006-2007) Schibsted Søk AS
+/* Copyright (2006-2008) Schibsted Søk AS
  * This file is part of SESAT.
  *
  *   SESAT is free software: you can redistribute it and/or modify
@@ -46,6 +46,8 @@
 
     // Constants -----------------------------------------------------
 
+    public static final String PARAMETER_KEY = "c";
+
     private static final Logger LOG = Logger.getLogger(SearchTab.class);
 
     // Attributes ----------------------------------------------------
@@ -84,7 +86,7 @@
      * @param rssResultName
      * @param rssHidden
      * @param navConf
-     * @param placements 
+     * @param placements
      * @param enrichments
      * @param adCommand
      * @param adLimit
@@ -95,7 +97,7 @@
      * @param displayCss
      * @param executeOnBlank
      * @param layouts
-     * @param scope 
+     * @param scope
      */
     public SearchTab(
                 final SearchTab inherit,
@@ -289,7 +291,7 @@
         }
         return null;
     }
-    
+
     /**
      * Getter for property enrichments.
      * @return Value of property enrichments.
@@ -365,7 +367,7 @@
     public Layout getDefaultLayout() {
         return defaultLayout;
     }
-    
+
     public Map<String,Layout> getLayouts(){
         return Collections.unmodifiableMap(layouts);
     }
@@ -373,7 +375,7 @@
     public NavigationConfig getNavigationConfiguration(){
         return navigationConfig;
     }
-    
+
     public Scope getScope(){
         return scope;
     }
@@ -394,7 +396,7 @@
          * @param threshold
          * @param weight
          * @param command
-         * @param properties 
+         * @param properties
          */
         public EnrichmentHint(
                 final String rule,
@@ -470,31 +472,31 @@
         public Map<String,String> getProperties(){
             return Collections.unmodifiableMap(properties);
         }
-        
+
         public String getProperty(final String key){
             return properties.get(key);
         }
     }
-    
+
     /** Immutable POJO holdng Enrichment Placement properties for a given 
placement on a given tab. **/
     public static final class EnrichmentPlacementHint implements Serializable {
         private final String id;
         private final int threshold;
         private final int max;
         private final Map<String,String> properties = new 
HashMap<String,String>();
-        
+
         public EnrichmentPlacementHint(
                 final String id,
                 final int threshold,
                 final int max,
                 final Map<String,String> properties){
-            
+
             this.id = id;
             this.threshold = threshold;
             this.max = max;
             this.properties.putAll(properties);
         }
-        
+
         public String getId(){
             return id;
         }
@@ -545,7 +547,7 @@
         public String getId(){
             return id;
         }
-        
+
         /**
          *
          * @return

Modified: 
branches/2.16/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java
===================================================================
--- 
branches/2.16/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java
   2008-03-22 21:34:34 UTC (rev 6267)
+++ 
branches/2.16/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java
   2008-03-22 22:46:20 UTC (rev 6268)
@@ -1,4 +1,4 @@
-/* Copyright (2007) Schibsted Søk AS
+/* Copyright (2007-2008) Schibsted Søk AS
  *   This file is part of SESAT.
  *
  *   SESAT is free software: you can redistribute it and/or modify
@@ -36,6 +36,7 @@
 import java.lang.annotation.Target;
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Inherited;
+import no.sesat.search.view.config.SearchTab;
 
 /**
  * This is a command to help generating navigation urls in the view. I got 
tired of all
@@ -285,7 +286,7 @@
         private boolean out;
         private int maxsize;
 
-        private Map<String, String> staticParameters;
+        private Map<String,String> staticParameters = new 
HashMap<String,String>();
         private List<Nav> childNavs;
         private final Navigation navigation;
         private final Nav parent;
@@ -312,11 +313,8 @@
             fillBeanProperty(this, null, "maxsize", ParseType.Int, navElement, 
"100");
             fillBeanProperty(this, null, "backText", ParseType.String, 
navElement, "");
             fillBeanProperty(this, null, "autoNavigation", ParseType.Boolean, 
navElement, "true");
-
-
-            final List<Element> optionElements = getDirectChildren(navElement, 
OPTION_ELEMENT);
+            // staticParameters
             final List<Element> staticParamElements = 
getDirectChildren(navElement, STATIC_PARAMETER_ELEMENT);
-            staticParameters = new HashMap<String, String>();
             for (Element staticParamElement : staticParamElements) {
                 String name = staticParamElement.getAttribute("name");
                 String value = staticParamElement.getAttribute("value");
@@ -355,7 +353,7 @@
         }
 
         public Map<String, String> getStaticParameters() {
-            return staticParameters;
+            return Collections.unmodifiableMap(staticParameters);
         }
 
         public void setStaticParameters(final Map<String, String> 
staticParameters) {
@@ -375,7 +373,10 @@
         }
 
         public void setTab(final String tab) {
+
             this.tab = tab;
+            // The tab property takes preference over any url parameters. 
intialse it here and use against urlGenerator.
+            staticParameters.put(SearchTab.PARAMETER_KEY, tab);
         }
 
         public boolean isOut() {

Modified: 
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/NavigationManager.java
===================================================================
--- 
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/NavigationManager.java
 2008-03-22 21:34:34 UTC (rev 6267)
+++ 
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/NavigationManager.java
 2008-03-22 22:46:20 UTC (rev 6268)
@@ -1,5 +1,5 @@
 /*
- * Copyright (2007) Schibsted Søk
+ * Copyright (2007-2008) Schibsted Søk
  *   This file is part of SESAT.
  *
  *   SESAT is free software: you can redistribute it and/or modify
@@ -27,7 +27,7 @@
 
 /**
  * Class responsible for assembling the current navigation state.
- * 
+ *
  * @author maek
  * @author Geir H. Pettersen(T-Rank)
  * @version $Id$
@@ -103,23 +103,15 @@
             /**
              * Returns the value for the given navigation parameter.
              *
-             * @param nav the navigator. 
+             * @param nav the navigator.
              * @param parameterName the parameter.
              *
              * @return the value of the parameter. UTF-8 URL ENCODED.
              */
             public String getParameterValue(final NavigationConfig.Nav nav, 
final String parameterName) {
+
                 final String value = parameters.get(parameterName);
 
-                // TODO: SEARCH-4105 - put this logic somewhere else to make 
things faster. look at OptionNavigationController:152
-                //  or the c parameter should be put into 
nav.getStaticParameters() 
-                // (where it would be used in peference to here in 
AbstractUrlGenerator.getUrlComponentValue(..))
-                
-                // Overriding the tab with the one defined in the config.
-                if ("c".equals(parameterName) && null != nav.getTab()) {
-                    return nav.getTab();
-                }
-
                 if (null == value && null != 
dataModel.getParameters().getValue(parameterName)) {
                     return 
dataModel.getParameters().getValue(parameterName).getUtf8UrlEncoded();
                 }


Property changes on: 
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/NavigationManager.java
___________________________________________________________________
Name: svn:keywords
   + Id

Modified: 
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/OptionNavigationController.java
===================================================================
--- 
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/OptionNavigationController.java
        2008-03-22 21:34:34 UTC (rev 6267)
+++ 
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/OptionNavigationController.java
        2008-03-22 22:46:20 UTC (rev 6268)
@@ -1,4 +1,4 @@
-/* Copyright (2005-2007) Schibsted Søk AS
+/* Copyright (2005-2008) Schibsted Søk AS
  * This file is part of SESAT.
  *
  *   SESAT is free software: you can redistribute it and/or modify
@@ -32,6 +32,7 @@
 import no.sesat.search.result.NavigationItem;
 import no.sesat.search.result.ResultItem;
 import no.sesat.search.result.ResultList;
+import no.sesat.search.view.config.SearchTab;
 
 
 /**
@@ -67,7 +68,7 @@
         // Only modifies the result of the parent. Return null.
         return null;
     }
-                                            
+
     private void removeAll(final Collection<OptionsNavigationConfig.Option> 
options, final DataModel dataModel) {
         final NavigationItem parentResult = 
dataModel.getNavigation().getNavigation(config.getParent().getId());
         for (final Iterator<NavigationItem> iterator = 
parentResult.getResults().iterator(); iterator.hasNext();) {
@@ -100,7 +101,7 @@
 
                       if ((selectedValue == null || 
"".equals(selectedValue.getString()))
                               && isOptionDefaultSelected(searchResult, 
option)) {
-                          
+
                           navigator.setSelected(true);
                           selectedValue = new StringDataObjectSupport("dummy");
                       }
@@ -119,8 +120,8 @@
     }
 
     private void addAll(
-            final Collection<OptionsNavigationConfig.Option> optionsToAdd, 
-            final DataModel dataModel, 
+            final Collection<OptionsNavigationConfig.Option> optionsToAdd,
+            final DataModel dataModel,
             final Context context) {
 
         final NavigationItem parentResult = 
dataModel.getNavigation().getNavigation(config.getParent().getId());
@@ -145,34 +146,25 @@
             }
             if (value != null) {
 
-                final Map<String,String> urlParameters;
-
-                if (option.getTab() != null) {
-                    urlParameters = new HashMap<String,String>(1);
-                    urlParameters.put("c", option.getTab());
-                } else {
-                    urlParameters = Collections.<String,String>emptyMap();
-                }
-
                 final NavigationItem navigator = new BasicNavigationItem(
                         option.getDisplayName(),
-                        context.getUrlGenerator().getURL(value, 
config.getParent(), urlParameters),
+                        context.getUrlGenerator().getURL(value, 
config.getParent()),
                         -1);
-                
+
                 parentResult.addResult(navigator);
-                
+
                 if (!selectionDone
                         && (optionSelectedValue == null || 
"".equals(optionSelectedValue.getString()))
                         && isOptionDefaultSelected(searchResult, option)) {
 
                     navigator.setSelected(true);
                     selectionDone = true;
-                    
+
                 } else if (optionSelectedValue != null && 
optionSelectedValue.getString().equals(value)) {
                     navigator.setSelected(true);
                     selectionDone = true;
                 }
-                
+
                 if (option.isUseHitCount() && option.getCommandName() != null) 
{
                     
navigator.setHitCount(dataModel.getSearch(option.getCommandName()).getResults().getHitCount());
                 }
@@ -181,9 +173,9 @@
     }
 
     private boolean isOptionDefaultSelected(
-            final ResultList<? extends ResultItem> result, 
+            final ResultList<? extends ResultItem> result,
             final OptionsNavigationConfig.Option option) {
-        
+
         final String valueRef = option.getDefaultSelectValueRef();
 
         return option.isDefaultSelect()

Modified: 
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/UrlGenerator.java
===================================================================
--- 
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/UrlGenerator.java
      2008-03-22 21:34:34 UTC (rev 6267)
+++ 
branches/2.16/view-control-spi/src/main/java/no/sesat/search/view/navigation/UrlGenerator.java
      2008-03-22 22:46:20 UTC (rev 6268)
@@ -1,5 +1,5 @@
 /*
- * Copyright (2007) Schibsted Søk
+ * Copyright (2007-2008) Schibsted Søk
  *   This file is part of SESAT.
  *
  *   SESAT is free software: you can redistribute it and/or modify
@@ -20,9 +20,11 @@
 import java.util.Map;
 
 /**
- * Description.
  *
  * You should probably not implement this interface directly but extend the 
AbstractUrlGenerator instead.
+ *
+ * @author maek
+ * @version $Id: AbstractUrlGenerator.java 6066 2008-01-30 11:27:42Z ssmiweve $
  */
 public interface UrlGenerator {
     /**
@@ -40,7 +42,7 @@
      *
      * @param value the value to navigate to.
      * @param nav the navigator to navigate.
-     *
+     * @param extraParameters
      * @return the URL including given parameters.
      */
     String getURL(String value, NavigationConfig.Nav nav, Map<String, String> 
extraParameters);

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

Reply via email to