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