001
014
015 package com.liferay.portal.search.lucene;
016
017 import com.liferay.portal.kernel.search.Query;
018 import com.liferay.portal.kernel.search.StringQueryImpl;
019 import com.liferay.portal.kernel.util.StringPool;
020
021 import org.apache.lucene.queryParser.ParseException;
022 import org.apache.lucene.queryParser.QueryParser;
023
024
027 public class QueryTranslator {
028
029 public static org.apache.lucene.search.Query translate(Query query)
030 throws ParseException {
031
032 if (query instanceof BooleanQueryImpl) {
033 return ((BooleanQueryImpl)query).getBooleanQuery();
034 }
035 else if (query instanceof LuceneQueryImpl) {
036 return ((LuceneQueryImpl)query).getQuery();
037 }
038 else if (query instanceof StringQueryImpl) {
039 QueryParser parser = new QueryParser(
040 LuceneHelperUtil.getVersion(), StringPool.BLANK,
041 LuceneHelperUtil.getAnalyzer());
042
043 return parser.parse(query.toString());
044 }
045 else if (query instanceof TermQueryImpl) {
046 return ((TermQueryImpl)query).getTermQuery();
047 }
048 else {
049 return null;
050 }
051 }
052
053 }