Author: ssmiweve Date: 2009-07-17 14:11:30 +0200 (Fri, 17 Jul 2009) New Revision: 7257
Modified: trunk/ trunk/generic.sesam/pom.xml trunk/generic.sesam/sesam.com/war/src/main/conf/views.xml trunk/generic.sesam/sesam.com/war/src/main/webapp/WEB-INF/classes/fragments/layout/sesam.com/head.jsp trunk/query-api/src/main/javacc/QueryParserImpl.jj trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/querybuilder/AbstractQueryBuilder.java trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/querybuilder/BaseFilterBuilder.java trunk/war/src/main/java/no/sesat/search/http/filters/UserFilter.java Log: svn merge ^/branches/2.18 http://sesat.no/pipermail/sesat-discuss/2009-July/000022.html Property changes on: trunk ___________________________________________________________________ Modified: svn:mergeinfo - /branches/2.10:4629-4745 /branches/2.11:4751-4933 /branches/2.12:4943-5106 /branches/2.13:5177-5378 /branches/2.14:5379-5508 /branches/2.15:5746-5995 /branches/2.16:6024-6122,6344-6499 /branches/2.16.0:6154-6343 /branches/2.17:6340-6980 /branches/2.18:6960-7219 /branches/2.6:3862-3877 /branches/2.7:4074-4160 /branches/2.8:4295-4446 /branches/2.9:4457-4626 /branches/MAP_SEARCHv2:3935-4544 /trunk:1-6959 + /branches/2.10:4629-4745 /branches/2.11:4751-4933 /branches/2.12:4943-5106 /branches/2.13:5177-5378 /branches/2.14:5379-5508 /branches/2.15:5746-5995 /branches/2.16:6024-6122,6344-6499 /branches/2.16.0:6154-6343 /branches/2.17:6340-6980 /branches/2.18:6960-7225 /branches/2.6:3862-3877 /branches/2.7:4074-4160 /branches/2.8:4295-4446 /branches/2.9:4457-4626 /branches/MAP_SEARCHv2:3935-4544 /trunk:1-6959 Modified: trunk/generic.sesam/pom.xml =================================================================== --- trunk/generic.sesam/pom.xml 2009-07-17 10:21:29 UTC (rev 7256) +++ trunk/generic.sesam/pom.xml 2009-07-17 12:11:30 UTC (rev 7257) @@ -327,7 +327,7 @@ <tokenevaluator.port>15200</tokenevaluator.port> <tokenevaluator.solr.serverUrl>http://sch-fast-query.osl.basefarm.net:8180/solr/</tokenevaluator.solr.serverUrl> - <schibstedsok_remote_service_url>sch-admin01.dev.osl.basefarm.net:1099</schibstedsok_remote_service_url> + <schibstedsok_remote_service_url>sch-hamysql.osl.basefarm.net:1099</schibstedsok_remote_service_url> <user_service_jndi_name>sesat-user/BasicUserServiceImpl/remote</user_service_jndi_name> </properties> @@ -411,7 +411,7 @@ <tokenevaluator.port>15200</tokenevaluator.port> <tokenevaluator.solr.serverUrl>http://sch-fast-query.osl.basefarm.net:8180/solr/</tokenevaluator.solr.serverUrl> - <schibstedsok_remote_service_url>sch-admin01.dev.osl.basefarm.net:1099</schibstedsok_remote_service_url> + <schibstedsok_remote_service_url>sch-hamysql.osl.basefarm.net:1099</schibstedsok_remote_service_url> <user_service_jndi_name>sesat-user/BasicUserServiceImpl/remote</user_service_jndi_name> </properties> @@ -456,7 +456,7 @@ <tokenevaluator.port>15200</tokenevaluator.port> <tokenevaluator.solr.serverUrl>http://sch-fast-query.osl.basefarm.net:8180/solr/</tokenevaluator.solr.serverUrl> - <schibstedsok_remote_service_url>sch-admin01.dev.osl.basefarm.net:1099</schibstedsok_remote_service_url> + <schibstedsok_remote_service_url>sch-hamysql.osl.basefarm.net:1099</schibstedsok_remote_service_url> <user_service_jndi_name>sesat-user/BasicUserServiceImpl/remote</user_service_jndi_name> </properties> Modified: trunk/generic.sesam/sesam.com/war/src/main/conf/views.xml =================================================================== --- trunk/generic.sesam/sesam.com/war/src/main/conf/views.xml 2009-07-17 10:21:29 UTC (rev 7256) +++ trunk/generic.sesam/sesam.com/war/src/main/conf/views.xml 2009-07-17 12:11:30 UTC (rev 7257) @@ -39,6 +39,7 @@ </navigation> <layout main="sesam.com/main.jsp" front="sesam.com/index.jsp"> <include key="head-element" template="sesam.com/head.jsp"/> + <include key="head-element-extra" template="sesam.com/mwsuggest.jsp"/> <include key="top-col-one" template="sesam.com/searchbar-top.jsp"/> <include key="main-col-three" template="sesam.com/globalSearch.jsp"/> <include key="bottom-col-one" template="sesam.com/offsetPager.jsp"/> Modified: trunk/generic.sesam/sesam.com/war/src/main/webapp/WEB-INF/classes/fragments/layout/sesam.com/head.jsp =================================================================== --- trunk/generic.sesam/sesam.com/war/src/main/webapp/WEB-INF/classes/fragments/layout/sesam.com/head.jsp 2009-07-17 10:21:29 UTC (rev 7256) +++ trunk/generic.sesam/sesam.com/war/src/main/webapp/WEB-INF/classes/fragments/layout/sesam.com/head.jsp 2009-07-17 12:11:30 UTC (rev 7257) @@ -20,7 +20,6 @@ * You should have received a copy of the GNU Affero General Public License * along with SESAT. If not, see <http://www.gnu.org/licenses/>. * - Author : mick Version : $Id$ --> <title><c:if test="${not empty DataModel.query.utf8UrlEncoded}">${DataModel.query.xmlEscaped} - </c:if> Sesam</title> @@ -63,52 +62,5 @@ <script type='text/javascript' src="${js_link}"><![CDATA[ ]]></script> </c:if> </c:forEach> -<!-- MediaWiki Suggest definitions --> -<script type='text/javascript'><jsp:text><![CDATA[ -var wgMWSuggestTemplate = "/search/?q=\"{searchTerms}\"&c=suggest"; -var wgMWSuggestMessages = ["]]></jsp:text><search:text key="mwsuggest_with_suggestions"/><jsp:text><![CDATA[", "]]></jsp:text><search:text key="mwsuggest_no_suggestions"/><jsp:text><![CDATA["]; -// these pairs of inputs/forms will be autoloaded at startup -var os_autoload_inputs = new Array('inputBox');//,'inputBox'); -var os_autoload_forms = new Array('sf');//,'sf-bottom'); - -// search_box_id -> Results object -var os_map = {}; -// cached data, url -> json_text -var os_cache = {}; -// global variables for suggest_keypress -var os_cur_keypressed = 0; -var os_last_keypress = 0; -var os_keypressed_count = 0; -// type: Timer -var os_timer = null; -// tie mousedown/up events -var os_mouse_pressed = false; -var os_mouse_num = -1; -// if true, the last change was made by mouse (and not keyboard) -var os_mouse_moved = false; -// delay between keypress and suggestion (in ms) -var os_search_timeout = 250; -// if we stopped the service -var os_is_stopped = false; -// max lines to show in suggest table -var os_max_lines_per_suggest = 99; -// number of steps to animate expansion/contraction of container width -var os_animation_steps = 6; -// num of pixels of smallest step -var os_animation_min_step = 2; -// delay between steps (in ms) -var os_animation_delay = 30; -// max width of container in percent of normal size (1 == 100%) -var os_container_max_width = 2; -// currently active animation timer -var os_animation_timer = null; - -var resultTableHtmlPrefix = null; -var resultTableHtmlSuffix = null; -var os_suggest_result_padding = 4; -]]></jsp:text></script> -<c:set var="mwsuggestjs_link"><search:findResource url="/javascript/external/mwsuggest.js"/></c:set> -<script type='text/javascript' src="${mwsuggestjs_link}"><![CDATA[ ]]></script> -<c:set var="mwsuggestcss_link"><search:findResource url="/css/external/mwsuggest.css"/></c:set> -<link rel="stylesheet" type="text/css" href="${mwsuggestcss_link}" media="screen"><![CDATA[ ]]></link> +<search:include include="head-element-extra"/> </jsp:root> Modified: trunk/query-api/src/main/javacc/QueryParserImpl.jj =================================================================== --- trunk/query-api/src/main/javacc/QueryParserImpl.jj 2009-07-17 10:21:29 UTC (rev 7256) +++ trunk/query-api/src/main/javacc/QueryParserImpl.jj 2009-07-17 12:11:30 UTC (rev 7257) @@ -1,4 +1,4 @@ -/** Copyright (2005-2008) Schibsted ASA +/** Copyright (2005-2009) Schibsted ASA * This file is part of SESAT. * * SESAT is free software: you can redistribute it and/or modify @@ -169,7 +169,7 @@ Clause clause; LOG.info("parsing: "+context.getQueryString()); }{ - (clause = rootPrecedence()) + (clause = rootPrecedence()) { LOG.info("parsing of " + context.getQueryString() + " resulted in: " + clause); return clause; @@ -339,7 +339,8 @@ final PhoneNumberClause phClause = context.createPhoneNumberClause(term, f); // Create a XorClause - final QueryParserImpl p = new QueryParserImpl(createContext(token.image), PHONE_NUMBER_DISABLED); + final String fieldNterm = null == field ? token.image : f + ':' + token.image; + final QueryParserImpl p = new QueryParserImpl(createContext(fieldNterm), PHONE_NUMBER_DISABLED); final Clause altClause = p.parse(); return context.createXorClause(phClause, altClause, XorClause.Hint.PHONE_NUMBER_ON_LEFT); @@ -355,7 +356,8 @@ final NumberGroupClause orgClause = context.createNumberGroupClause(term, f); // Create a XorClause - final QueryParserImpl p = new QueryParserImpl(createContext(token.image), NUMBER_GROUP_DISABLED); + final String fieldNterm = null == field ? token.image : f + ':' + token.image; + final QueryParserImpl p = new QueryParserImpl(createContext(fieldNterm), NUMBER_GROUP_DISABLED); final Clause altClause = p.parse(); return context.createXorClause(orgClause, altClause, XorClause.Hint.NUMBER_GROUP_ON_LEFT); @@ -411,10 +413,12 @@ final PhraseClause phClause = context.createPhraseClause(token.image, f ); // Create unphrased query. also strip all operator and skip characters out. SKER4723. + final String spaceNfield = null == f ? "" : ' ' + f; final String term = token.image .replaceAll("\"","") .replaceAll(SKIP_REGEX, " ") .replaceAll(OPERATOR_REGEX, " ") + .replaceAll(" +", spaceNfield) .trim(); try { // if we can parse the content again, then make an xorclause Modified: trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/querybuilder/AbstractQueryBuilder.java =================================================================== --- trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/querybuilder/AbstractQueryBuilder.java 2009-07-17 10:21:29 UTC (rev 7256) +++ trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/querybuilder/AbstractQueryBuilder.java 2009-07-17 12:11:30 UTC (rev 7257) @@ -1,4 +1,4 @@ -/* Copyright (2008) Schibsted ASA +/* Copyright (2008-2009) Schibsted ASA * This file is part of SESAT. * * SESAT is free software: you can redistribute it and/or modify @@ -155,6 +155,8 @@ boolean result = false; + // FIXME handle XorClause to call isEmptyLeaf on only the child that getContext().visitXorClause(..) does. + // if(clause instanceof XorClause){}else{ if(clause instanceof BinaryClause){ final BinaryClause c = (BinaryClause)clause; result = isEmptyLeaf(c.getFirstClause()) && isEmptyLeaf(c.getSecondClause()); Modified: trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/querybuilder/BaseFilterBuilder.java =================================================================== --- trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/querybuilder/BaseFilterBuilder.java 2009-07-17 10:21:29 UTC (rev 7256) +++ trunk/search-command-control-spi/src/main/java/no/sesat/search/mode/command/querybuilder/BaseFilterBuilder.java 2009-07-17 12:11:30 UTC (rev 7257) @@ -1,5 +1,5 @@ /* - * Copyright (2008) Schibsted ASA + * Copyright (2008-2009) Schibsted ASA * This file is part of SESAT. * * SESAT is free software: you can redistribute it and/or modify @@ -43,8 +43,6 @@ * * The " +" is defined as the deliminator, and is provided by getDelim() if a subclass wishes to alter just this. * - * @todo add correct handling of NotClause and AndNotClause. - * This also needs to be added to the query builder visitor above. * * @todo design for polymorphism and push out fast specifics to appropriate subclass. * @@ -56,12 +54,15 @@ private static final Logger LOG = Logger.getLogger(BaseFilterBuilder.class); - private static final String DELIM = " +"; + private static final String DELIM_INCLUSIVE = " +"; + private static final String DELIM_EXCLUSIVE = " -"; // Attributes ---------------------------------------------------- private final StringBuilder additionalFilters = new StringBuilder(); + private boolean insideNot = false; + // Static -------------------------------------------------------- // Constructors -------------------------------------------------- @@ -91,6 +92,7 @@ public String getFilterString() { + insideNot = false; return getQueryString() + (additionalFilters.length() > 0 ? ' ' : "") + additionalFilters.toString(); @@ -158,9 +160,19 @@ } protected void visitImpl(final NotClause clause) { + + final boolean wasInsideNot = insideNot; + insideNot = true; + clause.getFirstClause().accept(this); + insideNot = wasInsideNot; } protected void visitImpl(final AndNotClause clause) { + + final boolean wasInsideNot = insideNot; + insideNot = true; + clause.getFirstClause().accept(this); + insideNot = wasInsideNot; } protected void appendFilter(final LeafClause clause) { @@ -188,7 +200,7 @@ } protected String getDelim(){ - return DELIM; + return insideNot ? DELIM_EXCLUSIVE : DELIM_INCLUSIVE; } // Private ------------------------------------------------------- Modified: trunk/war/src/main/java/no/sesat/search/http/filters/UserFilter.java =================================================================== --- trunk/war/src/main/java/no/sesat/search/http/filters/UserFilter.java 2009-07-17 10:21:29 UTC (rev 7256) +++ trunk/war/src/main/java/no/sesat/search/http/filters/UserFilter.java 2009-07-17 12:11:30 UTC (rev 7257) @@ -35,8 +35,7 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import no.sesat.search.user.BasicUser; -import no.sesat.search.user.exception.InvalidTokenException; -import no.sesat.search.user.service.BasicUserService; +import no.sesat.search.user.service.InvalidTokenException; import no.sesat.search.user.service.UserCookieUtil; import no.sesat.search.datamodel.DataModel; import no.sesat.search.site.config.SiteConfiguration; _______________________________________________ Kernel-commits mailing list [email protected] http://sesat.no/mailman/listinfo/kernel-commits
