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