Author: ssmiweve
Date: 2008-10-24 11:58:16 +0200 (Fri, 24 Oct 2008)
New Revision: 6889

Modified:
   
trunk/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/SolrCommandConfig.java
   
trunk/generic.sesam/search-command-control/default/src/main/java/no/sesat/search/mode/command/SolrSearchCommand.java
   
trunk/generic.sesam/sesam.com/war/src/main/webapp/WEB-INF/classes/fragments/layout/sesam.com/head.jsp
   trunk/generic.sesam/war/pom.xml
   trunk/generic.sesam/war/src/main/javascript/external/mwsuggest.js
   
trunk/generic.sesam/war/src/webapp/WEB-INF/classes/fragments/layout/generic.sesam/solrSuggestions.jsp
Log:
SEARCH-4933
and enable modes.xml buildtime validation again


Modified: 
trunk/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/SolrCommandConfig.java
===================================================================
--- 
trunk/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/SolrCommandConfig.java
  2008-10-23 12:43:56 UTC (rev 6888)
+++ 
trunk/generic.sesam/search-command-config/src/main/java/no/sesat/search/mode/config/SolrCommandConfig.java
  2008-10-24 09:58:16 UTC (rev 6889)
@@ -44,6 +44,8 @@
      */
     private String serverUrl = "";
 
+    private String querySuffix = "";
+
     // Static --------------------------------------------------------
 
     // Constructors --------------------------------------------------
@@ -69,6 +71,18 @@
         this.serverUrl = serverUrl;
     }
 
+    public String getQuerySuffix(){
+        return querySuffix;
+    }
+
+    /** A string to append to every query. Used as an additional filter.
+     *
+     * @param querySuffix
+     */
+    public void setQuerySuffix(final String querySuffix){
+        this.querySuffix = querySuffix;
+    }
+
     @Override
     public SolrCommandConfig readSearchConfiguration(
             final Element element,
@@ -78,6 +92,7 @@
         super.readSearchConfiguration(element, inherit, context);
 
         AbstractDocumentFactory.fillBeanProperty(this, inherit, "serverUrl", 
ParseType.String, element, "");
+        AbstractDocumentFactory.fillBeanProperty(this, inherit, "querySuffix", 
ParseType.String, element, "");
 
         return this;
     }

Modified: 
trunk/generic.sesam/search-command-control/default/src/main/java/no/sesat/search/mode/command/SolrSearchCommand.java
===================================================================
--- 
trunk/generic.sesam/search-command-control/default/src/main/java/no/sesat/search/mode/command/SolrSearchCommand.java
        2008-10-23 12:43:56 UTC (rev 6888)
+++ 
trunk/generic.sesam/search-command-control/default/src/main/java/no/sesat/search/mode/command/SolrSearchCommand.java
        2008-10-24 09:58:16 UTC (rev 6889)
@@ -19,6 +19,7 @@
 
 import java.net.MalformedURLException;
 import java.util.Map;
+import no.sesat.search.mode.config.SearchConfiguration;
 import no.sesat.search.mode.config.SolrCommandConfig;
 import no.sesat.search.result.BasicResultItem;
 import no.sesat.search.result.BasicResultList;
@@ -70,6 +71,8 @@
         }
     }
 
+    // Public --------------------------------------------------------
+
     @Override
     public ResultList<ResultItem> execute() {
 
@@ -103,12 +106,16 @@
         return searchResult;
     }
 
-    // Public --------------------------------------------------------
+    @Override
+    public String getTransformedQuery() {
+        return super.getTransformedQuery() + 
getSearchConfiguration().getQuerySuffix();
+    }
 
-    // Z implementation ----------------------------------------------
+    @Override
+    public SolrCommandConfig getSearchConfiguration() {
+        return (SolrCommandConfig)super.getSearchConfiguration();
+    }
 
-    // Y overrides ---------------------------------------------------
-
     // Package protected ---------------------------------------------
 
     // Protected -----------------------------------------------------

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
       2008-10-23 12:43:56 UTC (rev 6888)
+++ 
trunk/generic.sesam/sesam.com/war/src/main/webapp/WEB-INF/classes/fragments/layout/sesam.com/head.jsp
       2008-10-24 09:58:16 UTC (rev 6889)
@@ -102,6 +102,9 @@
 var os_container_max_width = 2;
 // currently active animation timer
 var os_animation_timer = null;
+
+var resultTableHtmlPrefix = null;
+var resultTableHtmlSuffix = null;
 ]]></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>

Modified: trunk/generic.sesam/war/pom.xml
===================================================================
--- trunk/generic.sesam/war/pom.xml     2008-10-23 12:43:56 UTC (rev 6888)
+++ trunk/generic.sesam/war/pom.xml     2008-10-24 09:58:16 UTC (rev 6889)
@@ -690,14 +690,14 @@
                 <plugin>
                     <groupId>org.codehaus.mojo</groupId>
                     <artifactId>xml-maven-plugin</artifactId>
-                    <!--executions>
+                    <executions>
                         <execution>
                             <phase>test</phase>
                             <goals>
                                 <goal>validate</goal>
                             </goals>
                         </execution>
-                    </executions-->
+                    </executions>
                     <configuration>
                         <validationSets>
                             <validationSet>

Modified: trunk/generic.sesam/war/src/main/javascript/external/mwsuggest.js
===================================================================
--- trunk/generic.sesam/war/src/main/javascript/external/mwsuggest.js   
2008-10-23 12:43:56 UTC (rev 6888)
+++ trunk/generic.sesam/war/src/main/javascript/external/mwsuggest.js   
2008-10-24 09:58:16 UTC (rev 6889)
@@ -7,7 +7,8 @@
  *  - removed function os_getNamespaces(r)
  *  - removed references to wgDBname
  *  - removed os_createToggle stuff from os_MWSuggestInit() || 
os_initHandlers(..)
- *  - attach toggle to results div
+ *  - added example function attachSuggestionToggle
+ *  - add resultTableHtmlPrefix & resultTableHtmlsuffix to allow 
customisations of popup div
  *
  * The results format is unmodified, eg a query on "Open" gives
  * ["Open",["Open","Open (album)","Open (Album)","Open (application)","Open 
(band)","Open (Blues Image album)","Open (Cowboy Junkies album)","Open 
(Gotthard album)","Open (magazine)","Open (mathematics)"]]
@@ -108,6 +109,9 @@
 var os_container_max_width = 2;
 // currently active animation timer
 var os_animation_timer = null;
+
+var resultTableHtmlPrefix = null;
+var resultTableHtmlSuffix = null;
 */
 
 /** Timeout timer class that will fetch the results */ 
@@ -296,7 +300,7 @@
        if(h < (2 * inc) && r.resultCount > 1) // min: two results
                h = 2 * inc;    
        if((h/inc) > os_max_lines_per_suggest )
-               h = inc * os_max_lines_per_suggest + 30; // sesat change
+               h = inc * os_max_lines_per_suggest;
        if(h < r.containerTotal){
                c.style.height = h +"px";
                r.containerCount = parseInt(Math.round(h/inc));
@@ -408,12 +412,11 @@
                        c.innerHTML = os_createResultTable(r,p[1]);
                        // init container table sizes
                        var t = document.getElementById(r.resultTable);         
-                       r.containerTotal = t.offsetHeight;      
+                       r.containerTotal = t.offsetHeight;
                        r.containerRow = t.offsetHeight / r.resultCount;
                        os_fitContainer(r);
                        os_trimResultText(r);                           
                        os_showResults(r);
-            
attachSuggestionToggle(document.getElementById("mwsuggest_results_div")); // 
sesat change
                } catch(e){
                        // bad response from server or such
                        os_hideResults(r);                      
@@ -427,11 +430,7 @@
        var c = document.getElementById(r.container);
        var width = c.offsetWidth - os_operaWidthFix(c.offsetWidth);    
        var html = "<table class=\"os-suggest-results\" 
id=\""+r.resultTable+"\" style=\"width: "+width+"px;\">";
-
-    /** CUSTOM SESAM DESIGN -- SEARCH-4933**/ // sesat change
-    html = "<div id=\"mwsuggest_results_div\"><img 
src=\"/images/purpleStar.png\"/> Søkeforslag </div>" + html // sesat change
-    /** end-of CUSTOM SESAM DESIGN **/ // sesat change
-
+    if(null != resultTableHtmlPrefix){ html = resultTableHtmlPrefix + html; }  
// sesat change
        r.results = new Array();
        r.resultCount = results.length;
        for(i=0;i<results.length;i++){
@@ -440,6 +439,7 @@
                html += "<tr><td class=\"os-suggest-result\" 
id=\""+r.resultTable+i+"\"><span 
id=\""+r.resultText+i+"\">"+title+"</span></td></tr>";
        }
        html+="</table>"
+    if(null != resultTableHtmlSuffix){ html += resultTableHtmlSuffix; }   // 
sesat change
        return html;
 }
 
@@ -737,9 +737,9 @@
                os_hideResults(r);
                document.getElementById(r.searchform).submit();
        }
-       os_mouse_pressed = false;
-       // keep the focus on the search field
-       document.getElementById(r.searchbox).focus();
+    os_mouse_pressed = false;
+    // keep the focus on the search field
+    document.getElementById(r.searchbox).focus();
 }
 
 /** Check if x is a valid integer */
@@ -864,28 +864,26 @@
        }       
 }
 
+/** Sesat example addition. Attach toggle to an element. **/
 function attachSuggestionToggle(element){
     name = "inputBox";
     formname = "sf";
 
-       var r = new os_Results(name, formname); 
-       // toggle link // sesat change
-       //if(document.getElementById(r.toggle) == null){
-               // TODO figure out a way for this to work in all browsers
+       var r = new os_Results(name, formname);
 
-        // default: place below search box to the right
-        var t = os_createToggle(r,"os-suggest-toggle-def");
-        var top = element.offsetTop ;//+ element.offsetHeight; // sesat change
-        var left = element.offsetLeft + (element.offsetWidth/2);
-        //t.style.position = "absolute";
-        t.style.top = top + "px";
-        t.style.left = left + "px";
-        element/*.parentNode*/.appendChild(t); // sesat change
-        // only now width gets calculated, shift right
-        left -= t.offsetWidth;
-        t.style.left = left + "px";
-       // t.style.visibility = "visible"; // sesat change
-       //}
+    // TODO figure out a way for this to work in all browsers
+
+    // default: place below search box to the right
+    var t = os_createToggle(r,"os-suggest-toggle-def");
+    var top = element.offsetTop + element.offsetHeight;
+    var left = element.offsetLeft + element.offsetWidth;
+    //t.style.position = "absolute";
+    t.style.top = top + "px";
+    t.style.left = left + "px";
+    element.appendChild(t);
+    // only now width gets calculated, shift right
+    left -= t.offsetWidth;
+    t.style.left = left + "px";
 }
 
 os_hookEvent(window, "load", os_MWSuggestInit);

Modified: 
trunk/generic.sesam/war/src/webapp/WEB-INF/classes/fragments/layout/generic.sesam/solrSuggestions.jsp
===================================================================
--- 
trunk/generic.sesam/war/src/webapp/WEB-INF/classes/fragments/layout/generic.sesam/solrSuggestions.jsp
       2008-10-23 12:43:56 UTC (rev 6888)
+++ 
trunk/generic.sesam/war/src/webapp/WEB-INF/classes/fragments/layout/generic.sesam/solrSuggestions.jsp
       2008-10-24 09:58:16 UTC (rev 6889)
@@ -25,7 +25,10 @@
      * Simple way of manually writing out the json array. Alternative would be 
to use json-taglib.
     -->
     <jsp:text><![CDATA[[]]>"</jsp:text><c:out 
value="${DataModel.query.utf8UrlEncoded}"/><jsp:text>",</jsp:text>
-    <jsp:text><![CDATA[[]]></jsp:text><c:forEach var="item" 
items="${DataModel.searches['solrSuggestions'].results.results}">
-        <jsp:text>"</jsp:text><c:out 
value="${item.fields.list_entry}"/><jsp:text>",</jsp:text>
-    </c:forEach><jsp:text>""<![CDATA[]]]]></jsp:text>
+    <jsp:text><![CDATA[[]]></jsp:text>
+    <c:forEach var="item" varStatus="i" 
items="${DataModel.searches['solrSuggestions'].results.results}">
+        <jsp:text>"</jsp:text><c:out 
value="${item.fields.list_entry}"/><jsp:text>"</jsp:text>
+        <c:if test="${! i.last}"><jsp:text>,</jsp:text></c:if>
+    </c:forEach>
+    <jsp:text><![CDATA[]]]]></jsp:text>
 </jsp:root>
\ No newline at end of file

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

Reply via email to