VIVO-293 Create language strings for search error messages.
This commit is contained in:
parent
68a22fa349
commit
4b647b3d88
3 changed files with 47 additions and 21 deletions
|
@ -508,6 +508,18 @@ previous = Anterior
|
||||||
page_link = enlace de la página
|
page_link = enlace de la página
|
||||||
next_capitalized = Próximo
|
next_capitalized = Próximo
|
||||||
|
|
||||||
|
#
|
||||||
|
# search controller ( PagedSearchController.java )
|
||||||
|
#
|
||||||
|
error_in_search_request = La petici—n de bœsqueda conten’a errores.
|
||||||
|
enter_search_term = Por favor introduzca un tŽrmino de bœsqueda.
|
||||||
|
invalid_search_term = Criterio de bœsqueda no es v‡lido
|
||||||
|
paging_link_more = m‡s ...
|
||||||
|
no_matching_results = No hay resultados que coincidan.
|
||||||
|
search_failed = Buscar fall—.
|
||||||
|
search_term_error_near = El tŽrmino de bœsqueda tuvo un error cerca
|
||||||
|
search_for = Buscar ''{0}''
|
||||||
|
|
||||||
#
|
#
|
||||||
# shortview templates ( /templates/freemarker/body/partials/shortview )
|
# shortview templates ( /templates/freemarker/body/partials/shortview )
|
||||||
#
|
#
|
||||||
|
|
|
@ -44,6 +44,7 @@ import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.VClassDao;
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassDao;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
|
import edu.cornell.mannlib.vitro.webapp.dao.VClassGroupDao;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
|
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.i18n.I18n;
|
||||||
import edu.cornell.mannlib.vitro.webapp.search.IndexConstants;
|
import edu.cornell.mannlib.vitro.webapp.search.IndexConstants;
|
||||||
import edu.cornell.mannlib.vitro.webapp.search.SearchException;
|
import edu.cornell.mannlib.vitro.webapp.search.SearchException;
|
||||||
import edu.cornell.mannlib.vitro.webapp.search.VitroSearchTermNames;
|
import edu.cornell.mannlib.vitro.webapp.search.VitroSearchTermNames;
|
||||||
|
@ -164,9 +165,9 @@ public class PagedSearchController extends FreemarkerHttpServlet {
|
||||||
log.debug("Query text is \""+ queryText + "\"");
|
log.debug("Query text is \""+ queryText + "\"");
|
||||||
|
|
||||||
|
|
||||||
String badQueryMsg = badQueryText( queryText );
|
String badQueryMsg = badQueryText( queryText, vreq );
|
||||||
if( badQueryMsg != null ){
|
if( badQueryMsg != null ){
|
||||||
return doFailedSearch(badQueryMsg, queryText, format);
|
return doFailedSearch(badQueryMsg, queryText, format, vreq);
|
||||||
}
|
}
|
||||||
|
|
||||||
SolrQuery query = getQuery(queryText, hitsPerPage, startIndex, vreq);
|
SolrQuery query = getQuery(queryText, hitsPerPage, startIndex, vreq);
|
||||||
|
@ -176,26 +177,26 @@ public class PagedSearchController extends FreemarkerHttpServlet {
|
||||||
try {
|
try {
|
||||||
response = solr.query(query);
|
response = solr.query(query);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
String msg = makeBadSearchMessage(queryText, ex.getMessage());
|
String msg = makeBadSearchMessage(queryText, ex.getMessage(), vreq);
|
||||||
log.error("could not run Solr query",ex);
|
log.error("could not run Solr query",ex);
|
||||||
return doFailedSearch(msg, queryText, format);
|
return doFailedSearch(msg, queryText, format, vreq);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response == null) {
|
if (response == null) {
|
||||||
log.error("Search response was null");
|
log.error("Search response was null");
|
||||||
return doFailedSearch("The search request contained errors.", queryText, format);
|
return doFailedSearch(I18n.text(vreq, "error_in_search_request"), queryText, format, vreq);
|
||||||
}
|
}
|
||||||
|
|
||||||
SolrDocumentList docs = response.getResults();
|
SolrDocumentList docs = response.getResults();
|
||||||
if (docs == null) {
|
if (docs == null) {
|
||||||
log.error("Document list for a search was null");
|
log.error("Document list for a search was null");
|
||||||
return doFailedSearch("The search request contained errors.", queryText,format);
|
return doFailedSearch(I18n.text(vreq, "error_in_search_request"), queryText,format, vreq);
|
||||||
}
|
}
|
||||||
|
|
||||||
long hitCount = docs.getNumFound();
|
long hitCount = docs.getNumFound();
|
||||||
log.debug("Number of hits = " + hitCount);
|
log.debug("Number of hits = " + hitCount);
|
||||||
if ( hitCount < 1 ) {
|
if ( hitCount < 1 ) {
|
||||||
return doNoHits(queryText,format);
|
return doNoHits(queryText,format, vreq);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Individual> individuals = new ArrayList<Individual>(docs.size());
|
List<Individual> individuals = new ArrayList<Individual>(docs.size());
|
||||||
|
@ -275,7 +276,7 @@ public class PagedSearchController extends FreemarkerHttpServlet {
|
||||||
body.put("pagingLinks",
|
body.put("pagingLinks",
|
||||||
getPagingLinks(startIndex, hitsPerPage, hitCount,
|
getPagingLinks(startIndex, hitsPerPage, hitCount,
|
||||||
vreq.getServletPath(),
|
vreq.getServletPath(),
|
||||||
pagingLinkParams));
|
pagingLinkParams, vreq));
|
||||||
|
|
||||||
if (startIndex != 0) {
|
if (startIndex != 0) {
|
||||||
body.put("prevPage", getPreviousPageLink(startIndex,
|
body.put("prevPage", getPreviousPageLink(startIndex,
|
||||||
|
@ -339,12 +340,12 @@ public class PagedSearchController extends FreemarkerHttpServlet {
|
||||||
return startIndex;
|
return startIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String badQueryText(String qtxt) {
|
private String badQueryText(String qtxt, VitroRequest vreq) {
|
||||||
if( qtxt == null || "".equals( qtxt.trim() ) )
|
if( qtxt == null || "".equals( qtxt.trim() ) )
|
||||||
return "Please enter a search term.";
|
return I18n.text(vreq, "enter_search_term");
|
||||||
|
|
||||||
if( qtxt.equals("*:*") )
|
if( qtxt.equals("*:*") )
|
||||||
return "Search term was invalid" ;
|
return I18n.text(vreq, "invalid_search_term") ;
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -526,7 +527,7 @@ public class PagedSearchController extends FreemarkerHttpServlet {
|
||||||
public String getCount() { return Long.toString(count); }
|
public String getCount() { return Long.toString(count); }
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static List<PagingLink> getPagingLinks(int startIndex, int hitsPerPage, long hitCount, String baseUrl, ParamMap params) {
|
protected static List<PagingLink> getPagingLinks(int startIndex, int hitsPerPage, long hitCount, String baseUrl, ParamMap params, VitroRequest vreq) {
|
||||||
|
|
||||||
List<PagingLink> pagingLinks = new ArrayList<PagingLink>();
|
List<PagingLink> pagingLinks = new ArrayList<PagingLink>();
|
||||||
|
|
||||||
|
@ -550,7 +551,7 @@ public class PagedSearchController extends FreemarkerHttpServlet {
|
||||||
pagingLinks.add(new PagingLink(pageNumber, baseUrl, params));
|
pagingLinks.add(new PagingLink(pageNumber, baseUrl, params));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
pagingLinks.add(new PagingLink("more...", baseUrl, params));
|
pagingLinks.add(new PagingLink(I18n.text(vreq, "paging_link_more"), baseUrl, params));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -591,20 +592,20 @@ public class PagedSearchController extends FreemarkerHttpServlet {
|
||||||
return new ExceptionResponseValues(getTemplate(f,Result.ERROR), body, e);
|
return new ExceptionResponseValues(getTemplate(f,Result.ERROR), body, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
private TemplateResponseValues doFailedSearch(String message, String querytext, Format f) {
|
private TemplateResponseValues doFailedSearch(String message, String querytext, Format f, VitroRequest vreq) {
|
||||||
Map<String, Object> body = new HashMap<String, Object>();
|
Map<String, Object> body = new HashMap<String, Object>();
|
||||||
body.put("title", "Search for '" + querytext + "'");
|
body.put("title", I18n.text(vreq, "search_for", querytext));
|
||||||
if ( StringUtils.isEmpty(message) ) {
|
if ( StringUtils.isEmpty(message) ) {
|
||||||
message = "Search failed.";
|
message = I18n.text(vreq, "search_failed");
|
||||||
}
|
}
|
||||||
body.put("message", message);
|
body.put("message", message);
|
||||||
return new TemplateResponseValues(getTemplate(f,Result.ERROR), body);
|
return new TemplateResponseValues(getTemplate(f,Result.ERROR), body);
|
||||||
}
|
}
|
||||||
|
|
||||||
private TemplateResponseValues doNoHits(String querytext, Format f) {
|
private TemplateResponseValues doNoHits(String querytext, Format f, VitroRequest vreq) {
|
||||||
Map<String, Object> body = new HashMap<String, Object>();
|
Map<String, Object> body = new HashMap<String, Object>();
|
||||||
body.put("title", "Search for '" + querytext + "'");
|
body.put("title", I18n.text(vreq, "search_for", querytext));
|
||||||
body.put("message", "No matching results.");
|
body.put("message", I18n.text(vreq, "no_matching_results"));
|
||||||
return new TemplateResponseValues(getTemplate(f,Result.ERROR), body);
|
return new TemplateResponseValues(getTemplate(f,Result.ERROR), body);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -613,7 +614,7 @@ public class PagedSearchController extends FreemarkerHttpServlet {
|
||||||
* @param queryText
|
* @param queryText
|
||||||
* @param exceptionMsg
|
* @param exceptionMsg
|
||||||
*/
|
*/
|
||||||
private String makeBadSearchMessage(String querytext, String exceptionMsg){
|
private String makeBadSearchMessage(String querytext, String exceptionMsg, VitroRequest vreq){
|
||||||
String rv = "";
|
String rv = "";
|
||||||
try{
|
try{
|
||||||
//try to get the column in the search term that is causing the problems
|
//try to get the column in the search term that is causing the problems
|
||||||
|
@ -641,7 +642,8 @@ public class PagedSearchController extends FreemarkerHttpServlet {
|
||||||
if (post > i)
|
if (post > i)
|
||||||
after = querytext.substring(i + 1, post);
|
after = querytext.substring(i + 1, post);
|
||||||
|
|
||||||
rv = "The search term had an error near <span class='searchQuote'>"
|
rv = I18n.text(vreq, "search_term_error_near") +
|
||||||
|
" <span class='searchQuote'>"
|
||||||
+ before + "<span class='searchError'>" + querytext.charAt(i)
|
+ before + "<span class='searchError'>" + querytext.charAt(i)
|
||||||
+ "</span>" + after + "</span>";
|
+ "</span>" + after + "</span>";
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
|
|
|
@ -520,6 +520,18 @@ previous = Previous
|
||||||
page_link = page link
|
page_link = page link
|
||||||
next_capitalized = Next
|
next_capitalized = Next
|
||||||
|
|
||||||
|
#
|
||||||
|
# search controller ( PagedSearchController.java )
|
||||||
|
#
|
||||||
|
error_in_search_request = The search request contained errors.
|
||||||
|
enter_search_term = Please enter a search term.
|
||||||
|
invalid_search_term = Search term was invalid
|
||||||
|
paging_link_more = more...
|
||||||
|
no_matching_results = No matching results.
|
||||||
|
search_failed = Search failed.
|
||||||
|
search_term_error_near = The search term had an error near
|
||||||
|
search_for = Search for ''{0}''
|
||||||
|
|
||||||
#
|
#
|
||||||
# shortview templates ( /templates/freemarker/body/partials/shortview )
|
# shortview templates ( /templates/freemarker/body/partials/shortview )
|
||||||
#
|
#
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue