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[ ]]></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