Author: ssmiweve Date: 2008-11-26 22:06:17 +0100 (Wed, 26 Nov 2008) New Revision: 6988
Modified: branches/2.18/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/NewsEspCommandConfig.java branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/config/CommandConfig.java branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/config/SearchConfiguration.java branches/2.18/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java branches/2.18/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java Log: Issue SKER4750: (Only main search should use sort order set in the URL) SEARCH-5226 - N?\195?\165r man sorterer resultatet p?\195?\165 nettby.beta.test.sesam.no forsvinner resultatet Modified: branches/2.18/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/NewsEspCommandConfig.java =================================================================== --- branches/2.18/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/NewsEspCommandConfig.java 2008-11-25 20:25:31 UTC (rev 6987) +++ branches/2.18/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/NewsEspCommandConfig.java 2008-11-26 21:06:17 UTC (rev 6988) @@ -42,9 +42,6 @@ private String nestedResultsField = "entries";; private int collapsingMaxFetch = 10; - - /** Name of the sort parameter used in the url. */ - private String userSortParameter = "sort"; /** Sort field used when sort is not relevance. */ private String sortField = "publishedtime"; /** Default sort direction if no sort is configured. */ @@ -62,20 +59,6 @@ private String ageField = "publishedtime"; private char ageSymbol; - /** Getter for the userSortParameter property. - * @return the userSortParameter value - */ - public String getUserSortParameter() { - return userSortParameter; - } - - /** Setter for the userSortParameter property. - * @param userSortParameter the new userSortParameter value - */ - public void setUserSortParameter(final String userSortParameter) { - this.userSortParameter = userSortParameter; - } - /** Getter for the sortField property. * @return the sortField value */ Modified: branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/config/CommandConfig.java =================================================================== --- branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/config/CommandConfig.java 2008-11-25 20:25:31 UTC (rev 6987) +++ branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/config/CommandConfig.java 2008-11-26 21:06:17 UTC (rev 6988) @@ -93,6 +93,11 @@ */ private final Map<String,String> fieldFilters = new HashMap<String,String>(); + /** + * Name of the sort parameter used in the url. + */ + private String userSortParameter = "sort"; + // Static -------------------------------------------------------- // Constructors -------------------------------------------------- @@ -150,8 +155,7 @@ } /** - * @param resultFields - * Result fields to add. + * @param resultFieldArray Result fields to add. */ public final void addResultFields(final String[] resultFieldArray) { for (String resultField : resultFieldArray) { @@ -242,18 +246,7 @@ public void setAsynchronous(final boolean asynchronous){ this.asynchronous = asynchronous; } - /** - * @param fieldAndFilter - * String containing name of field and filter seperated with ' AS '. - */ - private void setFieldFilter(final String fieldAndFilter) { - String parsed[] = fieldAndFilter.trim().split(" AS "); - String field = parsed[0].trim(); - fieldFilters.put(field, (parsed.length > 1) ? parsed[1].trim() : field); - } - - /** * Syntax: field-filters="size, nyhetskilde AS newssource" * * Just "size" will be the same as writing "size AS size" @@ -314,11 +307,6 @@ this.pagingParameter = pagingParameter; } - - - // Protected -------------------------------------------------------- - - public SearchConfiguration readSearchConfiguration(final Element element, final SearchConfiguration inherit, Context context) { if(null!=inherit){ @@ -339,7 +327,38 @@ return this; } - /** Currently only used by the fast subclasses but hopefully open to all one day. **/ + @Override + public String toString() { + try { + return this.getClass().getSimpleName() + " " + BeanUtils.describe(this).toString(); + } catch (Exception e) { + LOG.warn("Failed to do BeanUtils.describe", e); + } + return this.getClass().getSimpleName(); + } + + /** + * Getter for the userSortParameter property. + * @return the userSortParameter value + */ + public String getUserSortParameter() { + return userSortParameter; + } + + /** + * Setter for the userSortParameter property. + * @param userSortParameter the new userSortParameter value + */ + public void setUserSortParameter(final String userSortParameter) { + this.userSortParameter = userSortParameter; + } + + // Protected -------------------------------------------------------- + + /** Currently only used by the fast subclasses but hopefully open to all one day. * + * @param navsE w3c dom elements to deserialise + * @return collection of Navigators + */ protected final Collection<Navigator> parseNavigators(final Element navsE) { final Collection<Navigator> navigators = new ArrayList<Navigator>(); @@ -377,14 +396,16 @@ return navigators; } - @Override - public String toString() { - try { - return this.getClass().getSimpleName() + " " + BeanUtils.describe(this).toString(); - } catch (Exception e) { - LOG.warn("Failed to do BeanUtils.describe", e); - } - return this.getClass().getSimpleName(); + // Private -------------------------------------------------------- + + /** + * @param fieldAndFilter + * String containing name of field and filter seperated with ' AS '. + */ + private void setFieldFilter(final String fieldAndFilter) { + String parsed[] = fieldAndFilter.trim().split(" AS "); + String field = parsed[0].trim(); + fieldFilters.put(field, (parsed.length > 1) ? parsed[1].trim() : field); } // Inner classes ------------------------------------------------- Modified: branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/config/SearchConfiguration.java =================================================================== --- branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/config/SearchConfiguration.java 2008-11-25 20:25:31 UTC (rev 6987) +++ branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/config/SearchConfiguration.java 2008-11-26 21:06:17 UTC (rev 6988) @@ -36,6 +36,11 @@ public static final String DEFAULT_PAGING_PARAMETER = "offset"; /** + * Default value associated with getUserSortParameter() + */ + public static final String DEFAULT_USER_SORT_PARAMETER = "sort"; + + /** * @param resultField */ void addResultField(String... resultField); @@ -93,6 +98,16 @@ */ String getPagingParameter(); + /** Return the parameter key that any associated PagingNavigationController for sorting + * should use to fetch the offset value. + * Defaults to "sort". + * + * Typically used when multiple sorting PagingNavigationControllers are to be configured on the one mode. + * + * @return the userSortParameter value + */ + public String getUserSortParameter(); + /** * @return true if the command should always run. */ Modified: branches/2.18/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java =================================================================== --- branches/2.18/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java 2008-11-25 20:25:31 UTC (rev 6987) +++ branches/2.18/search-command-control-spi/src/main/java/no/sesat/search/mode/command/AbstractSearchCommand.java 2008-11-26 21:06:17 UTC (rev 6988) @@ -258,8 +258,8 @@ userSortByParameter = new NavigationSearchCommandParameter( context, - USER_SORT_KEY, - USER_SORT_KEY, + getSearchConfiguration().getUserSortParameter(), + getSearchConfiguration().getUserSortParameter(), BaseSearchCommandParameter.Origin.REQUEST); } Modified: branches/2.18/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java =================================================================== --- branches/2.18/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java 2008-11-25 20:25:31 UTC (rev 6987) +++ branches/2.18/view-config-spi/src/main/java/no/sesat/search/view/navigation/NavigationConfig.java 2008-11-26 21:06:17 UTC (rev 6988) @@ -36,6 +36,7 @@ import java.lang.annotation.Target; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; +import no.sesat.search.mode.config.SearchConfiguration; import no.sesat.search.view.config.SearchTab; /** @@ -53,7 +54,7 @@ */ public final class NavigationConfig implements Serializable { - public static final String USER_SORT_KEY = "sort"; + public static final String USER_SORT_KEY = SearchConfiguration.DEFAULT_USER_SORT_PARAMETER; private final Map<String, Nav> navMap = new HashMap<String, Nav>(); private final Map<String, Navigation> navigationMap = new HashMap<String, Navigation>(); _______________________________________________ Kernel-commits mailing list Kernel-commits@sesat.no http://sesat.no/mailman/listinfo/kernel-commits