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<>();
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(
240 String path, String cssClass, ServletContext servletContext,
241 HttpServletRequest request, HttpServletResponse response) {
242
243 JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
244
245 jspSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
246 jspSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
247 jspSearchEntry.setCssClass(cssClass);
248 jspSearchEntry.setPath(path);
249 jspSearchEntry.setRequest(request);
250 jspSearchEntry.setResponse(response);
251 jspSearchEntry.setServletContext(servletContext);
252 jspSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
253
254 _searchEntries.add(_searchEntries.size(), jspSearchEntry);
255 }
256
257 @Override
258 public void addJSP(String align, String valign, String path) {
259 addJSP(
260 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
261 path);
262 }
263
264 @Override
265 public void addJSP(
266 String align, String valign, String path, ServletContext servletContext,
267 HttpServletRequest request, HttpServletResponse response) {
268
269 addJSP(
270 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
271 path, servletContext, request, response);
272 }
273
274 @Override
275 public void addSearchEntry(int index, SearchEntry searchEntry) {
276 _searchEntries.add(index, searchEntry);
277 }
278
279 @Override
280 public void addSearchEntry(SearchEntry searchEntry) {
281 _searchEntries.add(searchEntry);
282 }
283
284 @Override
285 public void addStatus(int status) {
286 addStatus(_searchEntries.size(), status, 0, null, null);
287 }
288
289 @Override
290 public void addStatus(
291 int index, int status, long statusByUserId, Date statusDate,
292 String href) {
293
294 StatusSearchEntry statusSearchEntry = new StatusSearchEntry();
295
296 statusSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
297 statusSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
298 statusSearchEntry.setHref(href);
299 statusSearchEntry.setStatus(status);
300 statusSearchEntry.setStatusDate(statusDate);
301 statusSearchEntry.setStatusByUserId(statusByUserId);
302 statusSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
303
304 _searchEntries.add(index, statusSearchEntry);
305 }
306
307 @Override
308 public void addStatus(
309 int index, int status, String href, ServletContext servletContext,
310 HttpServletRequest request, HttpServletResponse response) {
311
312 StatusSearchEntry statusSearchEntry = new StatusSearchEntry();
313
314 statusSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
315 statusSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
316 statusSearchEntry.setHref(href);
317 statusSearchEntry.setRequest(request);
318 statusSearchEntry.setResponse(response);
319 statusSearchEntry.setServletContext(servletContext);
320 statusSearchEntry.setStatus(status);
321 statusSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
322
323 _searchEntries.add(index, statusSearchEntry);
324 }
325
326 @Override
327 public void addStatus(int status, long statusByUserId, Date statusDate) {
328 addStatus(
329 _searchEntries.size(), status, statusByUserId, statusDate, null);
330 }
331
332 @Override
333 public void addStatus(
334 int status, long statusByUserId, Date statusDate,
335 PortletURL portletURL) {
336
337 if (portletURL != null) {
338 addStatus(
339 _searchEntries.size(), status, statusByUserId, statusDate,
340 portletURL.toString());
341 }
342 else {
343 addStatus(
344 _searchEntries.size(), status, statusByUserId, statusDate,
345 null);
346 }
347 }
348
349 @Override
350 public void addStatus(
351 int status, long statusByUserId, Date statusDate, String href) {
352
353 addStatus(
354 _searchEntries.size(), status, statusByUserId, statusDate, href);
355 }
356
357 @Override
358 public void addStatus(int status, PortletURL portletURL) {
359 if (portletURL != null) {
360 addStatus(
361 _searchEntries.size(), status, 0, null, portletURL.toString());
362 }
363 else {
364 addStatus(_searchEntries.size(), status, 0, null, null);
365 }
366 }
367
368 @Override
369 public void addStatus(int status, String href) {
370 addStatus(_searchEntries.size(), status, 0, null, href);
371 }
372
373 @Override
374 public void addText(int index, String name) {
375 addText(
376 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
377 SearchEntry.DEFAULT_COLSPAN, name);
378 }
379
380 @Override
381 public void addText(int index, String name, PortletURL portletURL) {
382 if (portletURL == null) {
383 addText(index, name);
384 }
385 else {
386 addText(index, name, portletURL.toString());
387 }
388 }
389
390 @Override
391 public void addText(int index, String name, String href) {
392 addText(
393 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
394 SearchEntry.DEFAULT_COLSPAN, name, href);
395 }
396
397 @Override
398 public void addText(
399 int index, String align, String valign, int colspan, String name) {
400
401 TextSearchEntry textSearchEntry = new TextSearchEntry();
402
403 textSearchEntry.setAlign(align);
404 textSearchEntry.setColspan(colspan);
405 textSearchEntry.setName(name);
406 textSearchEntry.setValign(valign);
407
408 _searchEntries.add(index, textSearchEntry);
409 }
410
411 @Override
412 public void addText(
413 int index, String align, String valign, int colspan, String name,
414 PortletURL portletURL) {
415
416 if (portletURL == null) {
417 addText(index, align, valign, colspan, name);
418 }
419 else {
420 addText(index, align, valign, colspan, name, portletURL.toString());
421 }
422 }
423
424 @Override
425 public void addText(
426 int index, String align, String valign, int colspan, String name,
427 String href) {
428
429 if (_restricted) {
430 href = null;
431 }
432
433 TextSearchEntry textSearchEntry = new TextSearchEntry();
434
435 textSearchEntry.setAlign(align);
436 textSearchEntry.setColspan(colspan);
437 textSearchEntry.setHref(href);
438 textSearchEntry.setName(name);
439 textSearchEntry.setValign(valign);
440
441 _searchEntries.add(index, textSearchEntry);
442 }
443
444 public void addText(int index, TextSearchEntry searchEntry) {
445 if (_restricted) {
446 searchEntry.setHref(null);
447 }
448
449 _searchEntries.add(index, searchEntry);
450 }
451
452 @Override
453 public void addText(String name) {
454 addText(_searchEntries.size(), name);
455 }
456
457 @Override
458 public void addText(String name, PortletURL portletURL) {
459 if (portletURL == null) {
460 addText(name);
461 }
462 else {
463 addText(name, portletURL.toString());
464 }
465 }
466
467 @Override
468 public void addText(String name, String href) {
469 addText(_searchEntries.size(), name, href);
470 }
471
472 @Override
473 public void addText(String align, String valign, int colspan, String name) {
474 addText(_searchEntries.size(), align, valign, colspan, name);
475 }
476
477 @Override
478 public void addText(
479 String align, String valign, int colspan, String name,
480 PortletURL portletURL) {
481
482 if (portletURL == null) {
483 addText(align, valign, colspan, name);
484 }
485 else {
486 addText(align, valign, colspan, name, portletURL.toString());
487 }
488 }
489
490 @Override
491 public void addText(
492 String align, String valign, int colspan, String name, String href) {
493
494 addText(_searchEntries.size(), align, valign, colspan, name, href);
495 }
496
497 @Override
498 public void addText(String align, String valign, String name) {
499 addText(
500 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
501 name);
502 }
503
504 @Override
505 public void addText(
506 String align, String valign, String name, PortletURL portletURL) {
507
508 addText(align, valign, SearchEntry.DEFAULT_COLSPAN, name, portletURL);
509 }
510
511 @Override
512 public void addText(String align, String valign, String name, String href) {
513 addText(
514 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
515 name, href);
516 }
517
518 public void addText(TextSearchEntry searchEntry) {
519 if (_restricted) {
520 searchEntry.setHref(null);
521 }
522
523 _searchEntries.add(_searchEntries.size(), searchEntry);
524 }
525
526 @Override
527 public String getClassHoverName() {
528 return _classHoverName;
529 }
530
531 @Override
532 public String getClassName() {
533 return _className;
534 }
535
536 @Override
537 public Map<String, Object> getData() {
538 return _data;
539 }
540
541 @Override
542 public List<SearchEntry> getEntries() {
543 return _searchEntries;
544 }
545
546 @Override
547 public Object getObject() {
548 return _obj;
549 }
550
551 @Override
552 public Object getParameter(String param) {
553 if (_params == null) {
554 _params = new HashMap<>();
555 }
556
557 return _params.get(param);
558 }
559
560 @Override
561 public int getPos() {
562 return _pos;
563 }
564
565 @Override
566 public String getPrimaryKey() {
567 return _primaryKey;
568 }
569
570 @Override
571 public String getRowId() {
572 return _rowId;
573 }
574
575 @Override
576 public boolean isBold() {
577 return _bold;
578 }
579
580 @Override
581 public boolean isRestricted() {
582 return _restricted;
583 }
584
585 @Override
586 public boolean isSkip() {
587 return _skip;
588 }
589
590 @Override
591 public void removeSearchEntry(int pos) {
592 _searchEntries.remove(pos);
593 }
594
595 @Override
596 public void setBold(boolean bold) {
597 _bold = bold;
598 }
599
600 @Override
601 public void setClassHoverName(String classHoverName) {
602 _classHoverName = classHoverName;
603 }
604
605 @Override
606 public void setClassName(String className) {
607 _className = className;
608 }
609
610 @Override
611 public void setData(Map<String, Object> data) {
612 _data = data;
613 }
614
615 @Override
616 public void setObject(Object obj) {
617 _obj = obj;
618 }
619
620 @Override
621 public void setParameter(String param, Object value) {
622 if (_params == null) {
623 _params = new HashMap<>();
624 }
625
626 _params.put(param, value);
627 }
628
629 @Override
630 public void setPrimaryKey(String primaryKey) {
631 _primaryKey = primaryKey;
632 }
633
634 @Override
635 public void setRestricted(boolean restricted) {
636 _restricted = restricted;
637 }
638
639 @Override
640 public void setRowId(String rowId) {
641 _rowId = rowId;
642 }
643
644 @Override
645 public void setSkip(boolean skip) {
646 _skip = skip;
647 }
648
649 private boolean _bold;
650 private String _classHoverName;
651 private String _className;
652 private Map<String, Object> _data;
653 private Object _obj;
654 private Map<String, Object> _params;
655 private final int _pos;
656 private String _primaryKey;
657 private boolean _restricted;
658 private String _rowId;
659 private final List<SearchEntry> _searchEntries;
660 private boolean _skip;
661
662 }