1
22
23 package com.liferay.portal.search.lucene;
24
25 import com.liferay.portal.kernel.search.BooleanClause;
26 import com.liferay.portal.kernel.search.BooleanClauseOccur;
27 import com.liferay.portal.kernel.search.BooleanQuery;
28 import com.liferay.portal.kernel.search.ParseException;
29 import com.liferay.portal.kernel.search.Query;
30
31 import java.util.ArrayList;
32 import java.util.List;
33
34
39 public class BooleanQueryImpl implements BooleanQuery {
40
41 public BooleanQueryImpl() {
42 _booleanQuery = new org.apache.lucene.search.BooleanQuery();
43 }
44
45 public void add(Query query, BooleanClauseOccur occur)
46 throws ParseException {
47
48 try {
49 _booleanQuery.add(
50 QueryTranslator.translate(query),
51 BooleanClauseOccurTranslator.translate(occur));
52 }
53 catch (org.apache.lucene.queryParser.ParseException pe) {
54 throw new ParseException(pe.getMessage());
55 }
56 }
57
58 public void addExactTerm(String field, boolean value) {
59 LuceneUtil.addExactTerm(_booleanQuery, field, value);
60 }
61
62 public void addExactTerm(String field, Boolean value) {
63 LuceneUtil.addExactTerm(_booleanQuery, field, value);
64 }
65
66 public void addExactTerm(String field, double value) {
67 LuceneUtil.addExactTerm(_booleanQuery, field, value);
68 }
69
70 public void addExactTerm(String field, Double value) {
71 LuceneUtil.addExactTerm(_booleanQuery, field, value);
72 }
73
74 public void addExactTerm(String field, int value) {
75 LuceneUtil.addExactTerm(_booleanQuery, field, value);
76 }
77
78 public void addExactTerm(String field, Integer value) {
79 LuceneUtil.addExactTerm(_booleanQuery, field, value);
80 }
81
82 public void addExactTerm(String field, long value) {
83 LuceneUtil.addExactTerm(_booleanQuery, field, value);
84 }
85
86 public void addExactTerm(String field, Long value) {
87 LuceneUtil.addExactTerm(_booleanQuery, field, value);
88 }
89
90 public void addExactTerm(String field, short value) {
91 LuceneUtil.addExactTerm(_booleanQuery, field, value);
92 }
93
94 public void addExactTerm(String field, Short value) {
95 LuceneUtil.addExactTerm(_booleanQuery, field, value);
96 }
97
98 public void addExactTerm(String field, String value) {
99 LuceneUtil.addExactTerm(_booleanQuery, field, value);
100 }
101
102 public void addRequiredTerm(String field, boolean value) {
103 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
104 }
105
106 public void addRequiredTerm(String field, Boolean value) {
107 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
108 }
109
110 public void addRequiredTerm(String field, double value) {
111 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
112 }
113
114 public void addRequiredTerm(String field, Double value) {
115 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
116 }
117
118 public void addRequiredTerm(String field, int value) {
119 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
120 }
121
122 public void addRequiredTerm(String field, Integer value) {
123 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
124 }
125
126 public void addRequiredTerm(String field, long value) {
127 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
128 }
129
130 public void addRequiredTerm(String field, Long value) {
131 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
132 }
133
134 public void addRequiredTerm(String field, short value) {
135 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
136 }
137
138 public void addRequiredTerm(String field, Short value) {
139 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
140 }
141
142 public void addRequiredTerm(String field, String value) {
143 LuceneUtil.addRequiredTerm(_booleanQuery, field, value);
144 }
145
146 public void addRequiredTerm(String field, String value, boolean like) {
147 LuceneUtil.addRequiredTerm(_booleanQuery, field, value, like);
148 }
149
150 public void addTerm(String field, long value) throws ParseException {
151 try {
152 LuceneUtil.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 LuceneUtil.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 LuceneUtil.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 }