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[&nbsp;]]></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[&nbsp;]]></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[&nbsp;]]></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

Reply via email to