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