001
014
015 package com.liferay.portal.search.lucene;
016
017 import com.liferay.portal.kernel.search.BaseBooleanQueryImpl;
018 import com.liferay.portal.kernel.search.BooleanClause;
019 import com.liferay.portal.kernel.search.BooleanClauseOccur;
020 import com.liferay.portal.kernel.search.BooleanClauseOccurImpl;
021 import com.liferay.portal.kernel.search.ParseException;
022 import com.liferay.portal.kernel.search.Query;
023
024 import java.util.ArrayList;
025 import java.util.List;
026
027
030 public class BooleanQueryImpl extends BaseBooleanQueryImpl {
031
032 public BooleanQueryImpl() {
033 _booleanQuery = new org.apache.lucene.search.BooleanQuery();
034 }
035
036 public void add(Query query, BooleanClauseOccur booleanClauseOccur)
037 throws ParseException {
038
039 try {
040 _booleanQuery.add(
041 QueryTranslator.translate(query),
042 BooleanClauseOccurTranslator.translate(booleanClauseOccur));
043 }
044 catch (org.apache.lucene.queryParser.ParseException pe) {
045 throw new ParseException(pe.getMessage());
046 }
047 }
048
049 public void add(Query query, String occur) throws ParseException {
050 BooleanClauseOccur booleanClauseOccur = new BooleanClauseOccurImpl(
051 occur);
052
053 add(query, booleanClauseOccur);
054 }
055
056 public void addExactTerm(String field, boolean value) {
057 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
058 }
059
060 public void addExactTerm(String field, Boolean value) {
061 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
062 }
063
064 public void addExactTerm(String field, double value) {
065 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
066 }
067
068 public void addExactTerm(String field, Double value) {
069 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
070 }
071
072 public void addExactTerm(String field, int value) {
073 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
074 }
075
076 public void addExactTerm(String field, Integer value) {
077 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
078 }
079
080 public void addExactTerm(String field, long value) {
081 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
082 }
083
084 public void addExactTerm(String field, Long value) {
085 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
086 }
087
088 public void addExactTerm(String field, short value) {
089 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
090 }
091
092 public void addExactTerm(String field, Short value) {
093 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
094 }
095
096 public void addExactTerm(String field, String value) {
097 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
098 }
099
100 public void addRequiredTerm(String field, boolean value) {
101 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
102 }
103
104 public void addRequiredTerm(String field, Boolean value) {
105 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
106 }
107
108 public void addRequiredTerm(String field, double value) {
109 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
110 }
111
112 public void addRequiredTerm(String field, Double value) {
113 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
114 }
115
116 public void addRequiredTerm(String field, int value) {
117 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
118 }
119
120 public void addRequiredTerm(String field, Integer value) {
121 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
122 }
123
124 public void addRequiredTerm(String field, long value) {
125 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
126 }
127
128 public void addRequiredTerm(String field, Long value) {
129 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
130 }
131
132 public void addRequiredTerm(String field, short value) {
133 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
134 }
135
136 public void addRequiredTerm(String field, Short value) {
137 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
138 }
139
140 public void addRequiredTerm(String field, String value) {
141 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
142 }
143
144 public void addRequiredTerm(String field, String value, boolean like) {
145 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value, like);
146 }
147
148 public void addTerm(String field, long value) throws ParseException {
149 try {
150 LuceneHelperUtil.addTerm(_booleanQuery, field, value);
151 }
152 catch (org.apache.lucene.queryParser.ParseException pe) {
153 throw new ParseException(pe.getMessage());
154 }
155 }
156
157 public void addTerm(String field, String value) throws ParseException {
158 try {
159 LuceneHelperUtil.addTerm(_booleanQuery, field, value);
160 }
161 catch (org.apache.lucene.queryParser.ParseException pe) {
162 throw new ParseException(pe.getMessage());
163 }
164 }
165
166 public void addTerm(String field, String value, boolean like)
167 throws ParseException {
168
169 try {
170 LuceneHelperUtil.addTerm(_booleanQuery, field, value, like);
171 }
172 catch (org.apache.lucene.queryParser.ParseException pe) {
173 throw new ParseException(pe.getMessage());
174 }
175 }
176
177 public List<BooleanClause> clauses() {
178 List<org.apache.lucene.search.BooleanClause> luceneClauses =
179 _booleanQuery.clauses();
180
181 List<BooleanClause> clauses = new ArrayList<BooleanClause>(
182 luceneClauses.size());
183
184 for (int i = 0; i < luceneClauses.size(); i++) {
185 clauses.add(new BooleanClauseImpl(luceneClauses.get(i)));
186 }
187
188 return clauses;
189 }
190
191 public org.apache.lucene.search.BooleanQuery getBooleanQuery() {
192 return _booleanQuery;
193 }
194
195 public String toString() {
196 return _booleanQuery.toString();
197 }
198
199 private org.apache.lucene.search.BooleanQuery _booleanQuery;
200
201 }