1
14
15 package com.liferay.portal.search.lucene;
16
17 import com.liferay.portal.kernel.search.BaseBooleanQueryImpl;
18 import com.liferay.portal.kernel.search.BooleanClause;
19 import com.liferay.portal.kernel.search.BooleanClauseOccur;
20 import com.liferay.portal.kernel.search.BooleanClauseOccurImpl;
21 import com.liferay.portal.kernel.search.ParseException;
22 import com.liferay.portal.kernel.search.Query;
23
24 import java.util.ArrayList;
25 import java.util.List;
26
27
32 public class BooleanQueryImpl extends BaseBooleanQueryImpl {
33
34 public BooleanQueryImpl() {
35 _booleanQuery = new org.apache.lucene.search.BooleanQuery();
36 }
37
38 public void add(Query query, BooleanClauseOccur booleanClauseOccur)
39 throws ParseException {
40
41 try {
42 _booleanQuery.add(
43 QueryTranslator.translate(query),
44 BooleanClauseOccurTranslator.translate(booleanClauseOccur));
45 }
46 catch (org.apache.lucene.queryParser.ParseException pe) {
47 throw new ParseException(pe.getMessage());
48 }
49 }
50
51 public void add(Query query, String occur) throws ParseException {
52 BooleanClauseOccur booleanClauseOccur = new BooleanClauseOccurImpl(
53 occur);
54
55 add(query, booleanClauseOccur);
56 }
57
58 public void addExactTerm(String field, boolean value) {
59 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
60 }
61
62 public void addExactTerm(String field, Boolean value) {
63 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
64 }
65
66 public void addExactTerm(String field, double value) {
67 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
68 }
69
70 public void addExactTerm(String field, Double value) {
71 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
72 }
73
74 public void addExactTerm(String field, int value) {
75 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
76 }
77
78 public void addExactTerm(String field, Integer value) {
79 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
80 }
81
82 public void addExactTerm(String field, long value) {
83 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
84 }
85
86 public void addExactTerm(String field, Long value) {
87 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
88 }
89
90 public void addExactTerm(String field, short value) {
91 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
92 }
93
94 public void addExactTerm(String field, Short value) {
95 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
96 }
97
98 public void addExactTerm(String field, String value) {
99 LuceneHelperUtil.addExactTerm(_booleanQuery, field, value);
100 }
101
102 public void addRequiredTerm(String field, boolean value) {
103 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
104 }
105
106 public void addRequiredTerm(String field, Boolean value) {
107 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
108 }
109
110 public void addRequiredTerm(String field, double value) {
111 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
112 }
113
114 public void addRequiredTerm(String field, Double value) {
115 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
116 }
117
118 public void addRequiredTerm(String field, int value) {
119 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
120 }
121
122 public void addRequiredTerm(String field, Integer value) {
123 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
124 }
125
126 public void addRequiredTerm(String field, long value) {
127 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
128 }
129
130 public void addRequiredTerm(String field, Long value) {
131 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
132 }
133
134 public void addRequiredTerm(String field, short value) {
135 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
136 }
137
138 public void addRequiredTerm(String field, Short value) {
139 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
140 }
141
142 public void addRequiredTerm(String field, String value) {
143 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value);
144 }
145
146 public void addRequiredTerm(String field, String value, boolean like) {
147 LuceneHelperUtil.addRequiredTerm(_booleanQuery, field, value, like);
148 }
149
150 public void addTerm(String field, long value) throws ParseException {
151 try {
152 LuceneHelperUtil.addTerm(_booleanQuery, field, value);
153 }
154 catch (org.apache.lucene.queryParser.ParseException pe) {
155 throw new ParseException(pe.getMessage());
156 }
157 }
158
159 public void addTerm(String field, String value) throws ParseException {
160 try {
161 LuceneHelperUtil.addTerm(_booleanQuery, field, value);
162 }
163 catch (org.apache.lucene.queryParser.ParseException pe) {
164 throw new ParseException(pe.getMessage());
165 }
166 }
167
168 public void addTerm(String field, String value, boolean like)
169 throws ParseException {
170
171 try {
172 LuceneHelperUtil.addTerm(_booleanQuery, field, value, like);
173 }
174 catch (org.apache.lucene.queryParser.ParseException pe) {
175 throw new ParseException(pe.getMessage());
176 }
177 }
178
179 public List<BooleanClause> clauses() {
180 List<org.apache.lucene.search.BooleanClause> luceneClauses =
181 _booleanQuery.clauses();
182
183 List<BooleanClause> clauses = new ArrayList<BooleanClause>(
184 luceneClauses.size());
185
186 for (int i = 0; i < luceneClauses.size(); i++) {
187 clauses.add(new BooleanClauseImpl(luceneClauses.get(i)));
188 }
189
190 return clauses;
191 }
192
193 public org.apache.lucene.search.BooleanQuery getBooleanQuery() {
194 return _booleanQuery;
195 }
196
197 public String toString() {
198 return _booleanQuery.toString();
199 }
200
201 private org.apache.lucene.search.BooleanQuery _booleanQuery;
202
203 }