001
014
015 package com.liferay.taglib.search;
016
017 import com.liferay.portal.kernel.dao.search.SearchEntry;
018
019 import java.util.ArrayList;
020 import java.util.Date;
021 import java.util.HashMap;
022 import java.util.List;
023 import java.util.Map;
024
025 import javax.portlet.PortletURL;
026
027 import javax.servlet.ServletContext;
028 import javax.servlet.http.HttpServletRequest;
029 import javax.servlet.http.HttpServletResponse;
030
031
034 public class ResultRow
035 implements com.liferay.portal.kernel.dao.search.ResultRow {
036
037 public ResultRow(Object obj, long primaryKey, int pos) {
038 this(obj, String.valueOf(primaryKey), pos);
039 }
040
041 public ResultRow(Object obj, long primaryKey, int pos, boolean bold) {
042 this(obj, String.valueOf(primaryKey), pos, bold);
043 }
044
045 public ResultRow(Object obj, String primaryKey, int pos) {
046 this(obj, primaryKey, pos, false);
047 }
048
049 public ResultRow(Object obj, String primaryKey, int pos, boolean bold) {
050 this(String.valueOf(pos + 1), obj, primaryKey, pos, bold);
051 }
052
053 public ResultRow(
054 String rowId, Object obj, String primaryKey, int pos, boolean bold) {
055
056 _rowId = rowId;
057 _obj = obj;
058 _primaryKey = primaryKey;
059 _pos = pos;
060 _bold = bold;
061 _searchEntries = new ArrayList<SearchEntry>();
062 }
063
064 @Override
065 public void addButton(int index, String name, String href) {
066 addButton(
067 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
068 SearchEntry.DEFAULT_COLSPAN, name, href);
069 }
070
071 @Override
072 public void addButton(
073 int index, String align, String valign, int colspan, String name,
074 String href) {
075
076 if (_restricted) {
077 href = null;
078 }
079
080 ButtonSearchEntry buttonSearchEntry = new ButtonSearchEntry();
081
082 buttonSearchEntry.setAlign(align);
083 buttonSearchEntry.setColspan(colspan);
084 buttonSearchEntry.setHref(href);
085 buttonSearchEntry.setName(name);
086 buttonSearchEntry.setValign(valign);
087
088 _searchEntries.add(index, buttonSearchEntry);
089 }
090
091 @Override
092 public void addButton(String name, String href) {
093 addButton(_searchEntries.size(), name, href);
094 }
095
096 @Override
097 public void addButton(
098 String align, String valign, int colspan, String name, String href) {
099
100 addButton(_searchEntries.size(), align, valign, colspan, name, href);
101 }
102
103 @Override
104 public void addButton(
105 String align, String valign, String name, String href) {
106
107 addButton(
108 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
109 name, href);
110 }
111
112 @Override
113 public void addDate(Date date) {
114 addDate(_searchEntries.size(), date, null);
115 }
116
117 @Override
118 public void addDate(Date date, PortletURL portletURL) {
119 if (portletURL != null) {
120 addDate(_searchEntries.size(), date, portletURL.toString());
121 }
122 else {
123 addDate(_searchEntries.size(), date, null);
124 }
125 }
126
127 @Override
128 public void addDate(Date date, String href) {
129 addDate(_searchEntries.size(), date, null);
130 }
131
132 @Override
133 public void addDate(int index, Date date, String href) {
134 DateSearchEntry dateSearchEntry = new DateSearchEntry();
135
136 dateSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
137 dateSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
138 dateSearchEntry.setDate(date);
139 dateSearchEntry.setHref(href);
140 dateSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
141
142 _searchEntries.add(index, dateSearchEntry);
143 }
144
145 @Override
146 public void addJSP(int index, String path) {
147 addJSP(
148 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
149 SearchEntry.DEFAULT_COLSPAN, path);
150 }
151
152 @Override
153 public void addJSP(
154 int index, String path, ServletContext servletContext,
155 HttpServletRequest request, HttpServletResponse response) {
156
157 addJSP(
158 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
159 SearchEntry.DEFAULT_COLSPAN, path, servletContext, request,
160 response);
161 }
162
163 @Override
164 public void addJSP(
165 int index, String align, String valign, int colspan, String path) {
166
167 JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
168
169 jspSearchEntry.setAlign(align);
170 jspSearchEntry.setColspan(colspan);
171 jspSearchEntry.setPath(path);
172 jspSearchEntry.setValign(valign);
173
174 _searchEntries.add(index, jspSearchEntry);
175 }
176
177 @Override
178 public void addJSP(
179 int index, String align, String valign, int colspan, String path,
180 ServletContext servletContext, HttpServletRequest request,
181 HttpServletResponse response) {
182
183 JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
184
185 jspSearchEntry.setAlign(align);
186 jspSearchEntry.setColspan(colspan);
187 jspSearchEntry.setPath(path);
188 jspSearchEntry.setRequest(request);
189 jspSearchEntry.setResponse(response);
190 jspSearchEntry.setServletContext(servletContext);
191 jspSearchEntry.setValign(valign);
192
193 _searchEntries.add(index, jspSearchEntry);
194 }
195
196 @Override
197 public void addJSP(String path) {
198 addJSP(_searchEntries.size(), path);
199 }
200
201 @Override
202 public void addJSP(
203 String path, ServletContext servletContext, HttpServletRequest request,
204 HttpServletResponse response) {
205
206 addJSP(_searchEntries.size(), path, servletContext, request, response);
207 }
208
209 @Override
210 public void addJSP(String path, String cssClass) {
211 JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
212
213 jspSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
214 jspSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
215 jspSearchEntry.setCssClass(cssClass);
216 jspSearchEntry.setPath(path);
217 jspSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
218
219 _searchEntries.add(_searchEntries.size(), jspSearchEntry);
220 }
221
222 @Override
223 public void addJSP(String align, String valign, int colspan, String path) {
224 addJSP(_searchEntries.size(), align, valign, colspan, path);
225 }
226
227 @Override
228 public void addJSP(
229 String align, String valign, int colspan, String path,
230 ServletContext servletContext, HttpServletRequest request,
231 HttpServletResponse response) {
232
233 addJSP(
234 _searchEntries.size(), align, valign, colspan, path, servletContext,
235 request, response);
236 }
237
238 @Override
239 public void addJSP(String align, String valign, String path) {
240 addJSP(
241 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
242 path);
243 }
244
245 @Override
246 public void addJSP(
247 String align, String valign, String path, ServletContext servletContext,
248 HttpServletRequest request, HttpServletResponse response) {
249
250 addJSP(
251 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
252 path, servletContext, request, response);
253 }
254
255 @Override
256 public void addSearchEntry(int index, SearchEntry searchEntry) {
257 _searchEntries.add(index, searchEntry);
258 }
259
260 @Override
261 public void addSearchEntry(SearchEntry searchEntry) {
262 _searchEntries.add(searchEntry);
263 }
264
265 @Override
266 public void addStatus(int status) {
267 addStatus(_searchEntries.size(), status, 0, null, null);
268 }
269
270 @Override
271 public void addStatus(
272 int index, int status, long statusByUserId, Date statusDate,
273 String href) {
274
275 StatusSearchEntry statusSearchEntry = new StatusSearchEntry();
276
277 statusSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
278 statusSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
279 statusSearchEntry.setHref(href);
280 statusSearchEntry.setStatus(status);
281 statusSearchEntry.setStatusDate(statusDate);
282 statusSearchEntry.setStatusByUserId(statusByUserId);
283 statusSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
284
285 _searchEntries.add(index, statusSearchEntry);
286 }
287
288 @Override
289 public void addStatus(
290 int index, int status, String href, ServletContext servletContext,
291 HttpServletRequest request, HttpServletResponse response) {
292
293 StatusSearchEntry statusSearchEntry = new StatusSearchEntry();
294
295 statusSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
296 statusSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
297 statusSearchEntry.setHref(href);
298 statusSearchEntry.setRequest(request);
299 statusSearchEntry.setResponse(response);
300 statusSearchEntry.setServletContext(servletContext);
301 statusSearchEntry.setStatus(status);
302 statusSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
303
304 _searchEntries.add(index, statusSearchEntry);
305 }
306
307 @Override
308 public void addStatus(int status, long statusByUserId, Date statusDate) {
309 addStatus(
310 _searchEntries.size(), status, statusByUserId, statusDate, null);
311 }
312
313 @Override
314 public void addStatus(
315 int status, long statusByUserId, Date statusDate,
316 PortletURL portletURL) {
317
318 if (portletURL != null) {
319 addStatus(
320 _searchEntries.size(), status, statusByUserId, statusDate,
321 portletURL.toString());
322 }
323 else {
324 addStatus(
325 _searchEntries.size(), status, statusByUserId, statusDate,
326 null);
327 }
328 }
329
330 @Override
331 public void addStatus(
332 int status, long statusByUserId, Date statusDate, String href) {
333
334 addStatus(
335 _searchEntries.size(), status, statusByUserId, statusDate, href);
336 }
337
338 @Override
339 public void addStatus(int status, PortletURL portletURL) {
340 if (portletURL != null) {
341 addStatus(
342 _searchEntries.size(), status, 0, null, portletURL.toString());
343 }
344 else {
345 addStatus(_searchEntries.size(), status, 0, null, null);
346 }
347 }
348
349 @Override
350 public void addStatus(int status, String href) {
351 addStatus(_searchEntries.size(), status, 0, null, href);
352 }
353
354 @Override
355 public void addText(int index, String name) {
356 addText(
357 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
358 SearchEntry.DEFAULT_COLSPAN, name);
359 }
360
361 @Override
362 public void addText(int index, String name, PortletURL portletURL) {
363 if (portletURL == null) {
364 addText(index, name);
365 }
366 else {
367 addText(index, name, portletURL.toString());
368 }
369 }
370
371 @Override
372 public void addText(int index, String name, String href) {
373 addText(
374 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
375 SearchEntry.DEFAULT_COLSPAN, name, href);
376 }
377
378 @Override
379 public void addText(
380 int index, String align, String valign, int colspan, String name) {
381
382 TextSearchEntry textSearchEntry = new TextSearchEntry();
383
384 textSearchEntry.setAlign(align);
385 textSearchEntry.setColspan(colspan);
386 textSearchEntry.setName(name);
387 textSearchEntry.setValign(valign);
388
389 _searchEntries.add(index, textSearchEntry);
390 }
391
392 @Override
393 public void addText(
394 int index, String align, String valign, int colspan, String name,
395 PortletURL portletURL) {
396
397 if (portletURL == null) {
398 addText(index, align, valign, colspan, name);
399 }
400 else {
401 addText(index, align, valign, colspan, name, portletURL.toString());
402 }
403 }
404
405 @Override
406 public void addText(
407 int index, String align, String valign, int colspan, String name,
408 String href) {
409
410 if (_restricted) {
411 href = null;
412 }
413
414 TextSearchEntry textSearchEntry = new TextSearchEntry();
415
416 textSearchEntry.setAlign(align);
417 textSearchEntry.setColspan(colspan);
418 textSearchEntry.setHref(href);
419 textSearchEntry.setName(name);
420 textSearchEntry.setValign(valign);
421
422 _searchEntries.add(index, textSearchEntry);
423 }
424
425 public void addText(int index, TextSearchEntry searchEntry) {
426 if (_restricted) {
427 searchEntry.setHref(null);
428 }
429
430 _searchEntries.add(index, searchEntry);
431 }
432
433 @Override
434 public void addText(String name) {
435 addText(_searchEntries.size(), name);
436 }
437
438 @Override
439 public void addText(String name, PortletURL portletURL) {
440 if (portletURL == null) {
441 addText(name);
442 }
443 else {
444 addText(name, portletURL.toString());
445 }
446 }
447
448 @Override
449 public void addText(String name, String href) {
450 addText(_searchEntries.size(), name, href);
451 }
452
453 @Override
454 public void addText(String align, String valign, int colspan, String name) {
455 addText(_searchEntries.size(), align, valign, colspan, name);
456 }
457
458 @Override
459 public void addText(
460 String align, String valign, int colspan, String name,
461 PortletURL portletURL) {
462
463 if (portletURL == null) {
464 addText(align, valign, colspan, name);
465 }
466 else {
467 addText(align, valign, colspan, name, portletURL.toString());
468 }
469 }
470
471 @Override
472 public void addText(
473 String align, String valign, int colspan, String name, String href) {
474
475 addText(_searchEntries.size(), align, valign, colspan, name, href);
476 }
477
478 @Override
479 public void addText(String align, String valign, String name) {
480 addText(
481 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
482 name);
483 }
484
485 @Override
486 public void addText(
487 String align, String valign, String name, PortletURL portletURL) {
488
489 addText(align, valign, SearchEntry.DEFAULT_COLSPAN, name, portletURL);
490 }
491
492 @Override
493 public void addText(String align, String valign, String name, String href) {
494 addText(
495 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
496 name, href);
497 }
498
499 public void addText(TextSearchEntry searchEntry) {
500 if (_restricted) {
501 searchEntry.setHref(null);
502 }
503
504 _searchEntries.add(_searchEntries.size(), searchEntry);
505 }
506
507 @Override
508 public String getClassHoverName() {
509 return _classHoverName;
510 }
511
512 @Override
513 public String getClassName() {
514 return _className;
515 }
516
517 @Override
518 public Map<String, Object> getData() {
519 return _data;
520 }
521
522 @Override
523 public List<SearchEntry> getEntries() {
524 return _searchEntries;
525 }
526
527 @Override
528 public Object getObject() {
529 return _obj;
530 }
531
532 @Override
533 public Object getParameter(String param) {
534 if (_params == null) {
535 _params = new HashMap<String, Object>();
536 }
537
538 return _params.get(param);
539 }
540
541 @Override
542 public int getPos() {
543 return _pos;
544 }
545
546 @Override
547 public String getPrimaryKey() {
548 return _primaryKey;
549 }
550
551 @Override
552 public String getRowId() {
553 return _rowId;
554 }
555
556 @Override
557 public boolean isBold() {
558 return _bold;
559 }
560
561 @Override
562 public boolean isRestricted() {
563 return _restricted;
564 }
565
566 @Override
567 public boolean isSkip() {
568 return _skip;
569 }
570
571 @Override
572 public void removeSearchEntry(int pos) {
573 _searchEntries.remove(pos);
574 }
575
576 @Override
577 public void setBold(boolean bold) {
578 _bold = bold;
579 }
580
581 @Override
582 public void setClassHoverName(String classHoverName) {
583 _classHoverName = classHoverName;
584 }
585
586 @Override
587 public void setClassName(String className) {
588 _className = className;
589 }
590
591 @Override
592 public void setData(Map<String, Object> data) {
593 _data = data;
594 }
595
596 @Override
597 public void setObject(Object obj) {
598 _obj = obj;
599 }
600
601 @Override
602 public void setParameter(String param, Object value) {
603 if (_params == null) {
604 _params = new HashMap<String, Object>();
605 }
606
607 _params.put(param, value);
608 }
609
610 @Override
611 public void setPrimaryKey(String primaryKey) {
612 _primaryKey = primaryKey;
613 }
614
615 @Override
616 public void setRestricted(boolean restricted) {
617 _restricted = restricted;
618 }
619
620 @Override
621 public void setRowId(String rowId) {
622 _rowId = rowId;
623 }
624
625 @Override
626 public void setSkip(boolean skip) {
627 _skip = skip;
628 }
629
630 private boolean _bold;
631 private String _classHoverName;
632 private String _className;
633 private Map<String, Object> _data;
634 private Object _obj;
635 private Map<String, Object> _params;
636 private final int _pos;
637 private String _primaryKey;
638 private boolean _restricted;
639 private String _rowId;
640 private final List<SearchEntry> _searchEntries;
641 private boolean _skip;
642
643 }