NIHVIVO-646 Fixes to autocomplete and form view after returning from invalid submission
This commit is contained in:
parent
8dc823f663
commit
daeca56691
2 changed files with 12 additions and 11 deletions
|
@ -56,8 +56,8 @@ public class StartDateBeforeEndDate implements N3Validator {
|
||||||
Calendar endDate = getDateFromLiteral(endLit);
|
Calendar endDate = getDateFromLiteral(endLit);
|
||||||
try {
|
try {
|
||||||
if (startDate.compareTo(endDate) > 0) {
|
if (startDate.compareTo(endDate) > 0) {
|
||||||
errors.put(startFieldName, "Start date must be before end date");
|
errors.put(startFieldName, "Start date cannot follow end date");
|
||||||
errors.put(endFieldName, "End date must be after start date");
|
errors.put(endFieldName, "End date cannot precede start date");
|
||||||
}
|
}
|
||||||
} catch (NullPointerException npe){
|
} catch (NullPointerException npe){
|
||||||
log.error("Cannot compare date to null.");
|
log.error("Cannot compare date to null.");
|
||||||
|
|
|
@ -23,6 +23,7 @@ import org.apache.commons.logging.LogFactory;
|
||||||
import org.apache.lucene.analysis.Analyzer;
|
import org.apache.lucene.analysis.Analyzer;
|
||||||
import org.apache.lucene.document.Document;
|
import org.apache.lucene.document.Document;
|
||||||
import org.apache.lucene.index.Term;
|
import org.apache.lucene.index.Term;
|
||||||
|
import org.apache.lucene.queryParser.QueryParser;
|
||||||
import org.apache.lucene.search.BooleanClause;
|
import org.apache.lucene.search.BooleanClause;
|
||||||
import org.apache.lucene.search.BooleanQuery;
|
import org.apache.lucene.search.BooleanQuery;
|
||||||
import org.apache.lucene.search.IndexSearcher;
|
import org.apache.lucene.search.IndexSearcher;
|
||||||
|
@ -210,8 +211,9 @@ public class AutocompleteController extends FreeMarkerHttpServlet implements Sea
|
||||||
|
|
||||||
private Query getQuery(VitroRequest request, PortalFlag portalState,
|
private Query getQuery(VitroRequest request, PortalFlag portalState,
|
||||||
Analyzer analyzer, String indexDir, String querystr, List<String> urisToExclude ) throws SearchException{
|
Analyzer analyzer, String indexDir, String querystr, List<String> urisToExclude ) throws SearchException{
|
||||||
|
|
||||||
Query query = null;
|
Query query = null;
|
||||||
try{
|
try {
|
||||||
if( querystr == null){
|
if( querystr == null){
|
||||||
log.error("There was no Parameter '"+ QUERY_PARAMETER_NAME
|
log.error("There was no Parameter '"+ QUERY_PARAMETER_NAME
|
||||||
+"' in the request.");
|
+"' in the request.");
|
||||||
|
@ -221,16 +223,15 @@ public class AutocompleteController extends FreeMarkerHttpServlet implements Sea
|
||||||
"query length is " + MAX_QUERY_LENGTH );
|
"query length is " + MAX_QUERY_LENGTH );
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The way the analyzer is set up, name:Sm* returns no results,
|
// Run the search term through the query parser so that it gets normalized in the same
|
||||||
// but name:sm* does.
|
// way the index is normalized.
|
||||||
querystr = querystr.toLowerCase();
|
QueryParser queryParser = new QueryParser(Entity2LuceneDoc.term.NAME, analyzer);
|
||||||
|
query = queryParser.parse(querystr + "*");
|
||||||
|
|
||||||
{
|
{
|
||||||
BooleanQuery boolQuery = new BooleanQuery();
|
BooleanQuery boolQuery = new BooleanQuery();
|
||||||
boolQuery.add(
|
boolQuery.add(query, BooleanClause.Occur.MUST);
|
||||||
new WildcardQuery(new Term(Entity2LuceneDoc.term.NAME, querystr+'*')),
|
|
||||||
BooleanClause.Occur.MUST);
|
|
||||||
Object param = request.getParameter("type");
|
Object param = request.getParameter("type");
|
||||||
boolQuery.add( new TermQuery(
|
boolQuery.add( new TermQuery(
|
||||||
new Term(Entity2LuceneDoc.term.RDFTYPE,
|
new Term(Entity2LuceneDoc.term.RDFTYPE,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue