Author: sletellier Date: 2011-05-12 16:29:07 +0200 (Thu, 12 May 2011) New Revision: 283 Url: http://chorem.org/repositories/revision/bow/283 Log: - Debug search - Update doc for chromium search use Modified: trunk/bow-extension-chromium/src/main/webapp/options.html trunk/bow-extension-chromium/src/main/webapp/properties.js trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkActions.java trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java trunk/bow-ui/src/main/java/org/chorem/bow/BowUtils.java trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java trunk/bow-ui/src/site/rst/user/openSearch.rst Modified: trunk/bow-extension-chromium/src/main/webapp/options.html =================================================================== --- trunk/bow-extension-chromium/src/main/webapp/options.html 2011-05-12 12:03:04 UTC (rev 282) +++ trunk/bow-extension-chromium/src/main/webapp/options.html 2011-05-12 14:29:07 UTC (rev 283) @@ -93,10 +93,10 @@ userSupport.innerHTML = chrome.i18n.getMessage("userSupport"); var bow_website_link = document.links["bow_website"]; - bow_website_link.href = BOW_URL; + bow_website_link.href = DEFAULT_BOW_URL; var bow_logo_link = document.links["bow_logo"]; - bow_logo_link.href = BOW_URL; + bow_logo_link.href = DEFAULT_BOW_URL; } //--> </script> Modified: trunk/bow-extension-chromium/src/main/webapp/properties.js =================================================================== --- trunk/bow-extension-chromium/src/main/webapp/properties.js 2011-05-12 12:03:04 UTC (rev 282) +++ trunk/bow-extension-chromium/src/main/webapp/properties.js 2011-05-12 14:29:07 UTC (rev 283) @@ -21,12 +21,12 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * #L% */ -var BOW_URL = "http://bow.chorem.org/bow"; +var DEFAULT_BOW_URL = "http://bow.chorem.org/bow"; function getBowURl() { var bowUrl = localStorage["bowUrl"]; if (!bowUrl) { - bowUrl = BOW_URL; + bowUrl = DEFAULT_BOW_URL; } return bowUrl } Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkActions.java =================================================================== --- trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkActions.java 2011-05-12 12:03:04 UTC (rev 282) +++ trunk/bow-ui/src/main/java/org/chorem/bow/BookmarkActions.java 2011-05-12 14:29:07 UTC (rev 283) @@ -26,6 +26,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; + +import org.apache.commons.lang.StringUtils; import org.nuiton.util.StringUtil; import org.nuiton.wikitty.search.FacetTopic; @@ -140,7 +142,7 @@ if (tagsSearch != null) { return StringUtil.join(tagsSearch, " ", true); // return the search line created with the tags } - return null; + return StringUtils.EMPTY; } public int getFont(int ti) { @@ -179,6 +181,9 @@ } public String getFullTextLine() { + if (fullTextLine == null) { + return StringUtils.EMPTY; + } return fullTextLine; } } Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java =================================================================== --- trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java 2011-05-12 12:03:04 UTC (rev 282) +++ trunk/bow-ui/src/main/java/org/chorem/bow/BowConfig.java 2011-05-12 14:29:07 UTC (rev 283) @@ -87,6 +87,7 @@ "bow.url", _("bow.config.bow.url.description"), null, String.class, false, false), + // FIXME sletellier 20110512 : A quoi ça sert ? La valeur est utilise en dur ("alias/") dans struts.xml ALIAS_URL( "alias.url", _("bow.config.alias.url.description"), @@ -100,7 +101,7 @@ SERVLET_ALIAS( "servlet.alias", _("bow.config.servlet.bow.description"), - "alias/", String.class, false, false), + null, String.class, false, false), SEARCH_ENGINE( "search.engine", _("bow.config.search.engine.description"), Modified: trunk/bow-ui/src/main/java/org/chorem/bow/BowUtils.java =================================================================== --- trunk/bow-ui/src/main/java/org/chorem/bow/BowUtils.java 2011-05-12 12:03:04 UTC (rev 282) +++ trunk/bow-ui/src/main/java/org/chorem/bow/BowUtils.java 2011-05-12 14:29:07 UTC (rev 283) @@ -24,6 +24,8 @@ package org.chorem.bow; import java.util.Date; + +import org.apache.commons.lang.StringUtils; import org.nuiton.util.StringUtil; import org.nuiton.wikitty.WikittyProxy; import org.nuiton.wikitty.search.Criteria; @@ -65,8 +67,17 @@ static public String redirectTo(String searchLine, String fullTextLine) { String result = "home.action"; - if (!"".equals(searchLine) || !"".equals(fullTextLine)) { - result = "search.action?searchLine=" + searchLine + "&fullTextLine=" + fullTextLine; + if (!StringUtils.isEmpty(searchLine) || !StringUtils.isEmpty(fullTextLine)) { + result = "search.action?"; + if (searchLine != null) { + result += "searchLine=" + searchLine; + } + if (searchLine != null && fullTextLine != null) { + result += "&"; + } + if (fullTextLine != null) { + result += "fullTextLine=" + fullTextLine; + } } return result; } Modified: trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java =================================================================== --- trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-05-12 12:03:04 UTC (rev 282) +++ trunk/bow-ui/src/main/java/org/chorem/bow/action/OpenSearchResultAction.java 2011-05-12 14:29:07 UTC (rev 283) @@ -26,6 +26,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang.StringUtils; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.chorem.bow.BowBookmark; @@ -93,12 +94,12 @@ @Override public void setServletRequest(HttpServletRequest request) { - this.request = request; + this.request = request; } @Override public void setServletResponse(HttpServletResponse response) { - this.response = response; + this.response = response; } public String execute() { @@ -109,8 +110,8 @@ redirectTo = BowUtils.redirectTo(searchLine, null); } else if (searchLine != null && (searchLine.startsWith(":") || searchLine.startsWith("t:"))) { - //Search on tags + // Search on tags int index = searchLine.indexOf(":"); searchLine = searchLine.substring(index + 1); //Suppresses first ":" @@ -123,7 +124,7 @@ request.setAttribute("token", token); redirectTo = BowUtils.redirectTo(searchLine, null); } else if (searchLine != null && searchLine.startsWith("f:")) { - //Fulltext search in bow + // Fulltext search in bow String fullText = searchLine.substring(2); WikittyProxy proxy = getBowProxy(); Criteria criteria; @@ -138,9 +139,9 @@ BookmarkActions bookmarkActions = BookmarkUtils.createBookmarkActions(request, result, null); request.setAttribute("bookmarkActions", bookmarkActions); request.setAttribute("token", token); - redirectTo = BowUtils.redirectTo(searchLine, null); + redirectTo = BowUtils.redirectTo(null, fullText); } else if (searchLine != null && searchLine.startsWith("a:")) { - //Redirects to the requested alias + // Redirects to the requested alias String privateAlias = searchLine.substring(2); WikittyProxy proxy = getBowProxy(); Criteria criteria = Search.query() @@ -151,22 +152,22 @@ // si on retrouve l'alias prive on l'utilise, // sinon on espere qu'il existe un alias public portant ce nom if (bookmarkId != null) { - redirectTo = BowConfigHelper.getAliasUrl(config) + bookmarkId; + redirectTo = BowConfigHelper.getAliasUrl(config) + bookmarkId + ".action"; if (log.isDebugEnabled()) { log.debug("Private alias found, redirect to: " + redirectTo); } } else { - redirectTo = BowConfigHelper.getAliasUrl(config) + privateAlias; + redirectTo = BowConfigHelper.getAliasUrl(config) + privateAlias + ".action"; if (log.isDebugEnabled()) { log.debug("Private alias not found, redirect to: " + redirectTo); } } } else { - //Search on the chosen search engine + // Search on the chosen search engine BowPreference pref = getBowSession().getPreference(); String searchEngineURL = pref.getSearchEngineUrlResults(); - if (searchEngineURL == null || "".equals(searchEngineURL)) { + if (StringUtils.isEmpty(searchEngineURL)) { searchEngineURL = BowConfigHelper.getSearchEngine(config); } searchEngineURL = searchEngineURL.replace("{searchTerms}", searchLine); Modified: trunk/bow-ui/src/site/rst/user/openSearch.rst =================================================================== --- trunk/bow-ui/src/site/rst/user/openSearch.rst 2011-05-12 12:03:04 UTC (rev 282) +++ trunk/bow-ui/src/site/rst/user/openSearch.rst 2011-05-12 14:29:07 UTC (rev 283) @@ -103,3 +103,14 @@ bow Cela recherchera bow dans mon moteur de recherche préféré. + +Pour Chromium +------------- + +Il faut renseigner un moteur de recherche qui a pour URL:: + + http://{url de l'instance}/openSearchResult.action?token={token permanent}&searchLine=%s + +Ex pour l'instance http://bow.chorem.org/bow:: + + http://http://bow.chorem.org/bow/openSearchResult.action?token={token permanent}&searchLine=%s