1
22
23 package com.liferay.portlet.expando.service.impl;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.security.auth.CompanyThreadLocal;
28 import com.liferay.portal.util.PortalUtil;
29 import com.liferay.portlet.expando.model.ExpandoColumn;
30 import com.liferay.portlet.expando.model.ExpandoColumnConstants;
31 import com.liferay.portlet.expando.model.ExpandoRow;
32 import com.liferay.portlet.expando.model.ExpandoTable;
33 import com.liferay.portlet.expando.model.ExpandoTableConstants;
34 import com.liferay.portlet.expando.model.ExpandoValue;
35 import com.liferay.portlet.expando.model.impl.ExpandoValueImpl;
36 import com.liferay.portlet.expando.service.base.ExpandoValueLocalServiceBaseImpl;
37
38 import java.io.Serializable;
39
40 import java.util.Date;
41 import java.util.List;
42
43
51 public class ExpandoValueLocalServiceImpl
52 extends ExpandoValueLocalServiceBaseImpl {
53
54 public ExpandoValue addValue(
55 String className, String tableName, String columnName, long classPK,
56 boolean data)
57 throws PortalException, SystemException {
58
59 ExpandoTable table = expandoTableLocalService.getTable(
60 className, tableName);
61
62 ExpandoColumn column = expandoColumnLocalService.getColumn(
63 table.getTableId(), columnName);
64
65 ExpandoValue value = new ExpandoValueImpl();
66
67 value.setCompanyId(table.getCompanyId());
68 value.setColumnId(column.getColumnId());
69 value.setBoolean(data);
70
71 return addValue(
72 table.getClassNameId(), table.getTableId(), column.getColumnId(),
73 classPK, value.getData());
74 }
75
76 public ExpandoValue addValue(
77 String className, String tableName, String columnName, long classPK,
78 boolean[] data)
79 throws PortalException, SystemException {
80
81 ExpandoTable table = expandoTableLocalService.getTable(
82 className, tableName);
83
84 ExpandoColumn column = expandoColumnLocalService.getColumn(
85 table.getTableId(), columnName);
86
87 ExpandoValue value = new ExpandoValueImpl();
88
89 value.setCompanyId(table.getCompanyId());
90 value.setColumnId(column.getColumnId());
91 value.setBooleanArray(data);
92
93 return addValue(
94 table.getClassNameId(), table.getTableId(), column.getColumnId(),
95 classPK, value.getData());
96 }
97
98 public ExpandoValue addValue(
99 String className, String tableName, String columnName, long classPK,
100 Date data)
101 throws PortalException, SystemException {
102
103 ExpandoTable table = expandoTableLocalService.getTable(
104 className, tableName);
105
106 ExpandoColumn column = expandoColumnLocalService.getColumn(
107 table.getTableId(), columnName);
108
109 ExpandoValue value = new ExpandoValueImpl();
110
111 value.setCompanyId(table.getCompanyId());
112 value.setColumnId(column.getColumnId());
113 value.setDate(data);
114
115 return addValue(
116 table.getClassNameId(), table.getTableId(), column.getColumnId(),
117 classPK, value.getData());
118 }
119
120 public ExpandoValue addValue(
121 String className, String tableName, String columnName, long classPK,
122 Date[] data)
123 throws PortalException, SystemException {
124
125 ExpandoTable table = expandoTableLocalService.getTable(
126 className, tableName);
127
128 ExpandoColumn column = expandoColumnLocalService.getColumn(
129 table.getTableId(), columnName);
130
131 ExpandoValue value = new ExpandoValueImpl();
132
133 value.setCompanyId(table.getCompanyId());
134 value.setColumnId(column.getColumnId());
135 value.setDateArray(data);
136
137 return addValue(
138 table.getClassNameId(), table.getTableId(), column.getColumnId(),
139 classPK, value.getData());
140 }
141
142 public ExpandoValue addValue(
143 String className, String tableName, String columnName, long classPK,
144 double data)
145 throws PortalException, SystemException {
146
147 ExpandoTable table = expandoTableLocalService.getTable(
148 className, tableName);
149
150 ExpandoColumn column = expandoColumnLocalService.getColumn(
151 table.getTableId(), columnName);
152
153 ExpandoValue value = new ExpandoValueImpl();
154
155 value.setCompanyId(table.getCompanyId());
156 value.setColumnId(column.getColumnId());
157 value.setDouble(data);
158
159 return addValue(
160 table.getClassNameId(), table.getTableId(), column.getColumnId(),
161 classPK, value.getData());
162 }
163
164 public ExpandoValue addValue(
165 String className, String tableName, String columnName, long classPK,
166 double[] data)
167 throws PortalException, SystemException {
168
169 ExpandoTable table = expandoTableLocalService.getTable(
170 className, tableName);
171
172 ExpandoColumn column = expandoColumnLocalService.getColumn(
173 table.getTableId(), columnName);
174
175 ExpandoValue value = new ExpandoValueImpl();
176
177 value.setCompanyId(table.getCompanyId());
178 value.setColumnId(column.getColumnId());
179 value.setDoubleArray(data);
180
181 return addValue(
182 table.getClassNameId(), table.getTableId(), column.getColumnId(),
183 classPK, value.getData());
184 }
185
186 public ExpandoValue addValue(
187 String className, String tableName, String columnName, long classPK,
188 float data)
189 throws PortalException, SystemException {
190
191 ExpandoTable table = expandoTableLocalService.getTable(
192 className, tableName);
193
194 ExpandoColumn column = expandoColumnLocalService.getColumn(
195 table.getTableId(), columnName);
196
197 ExpandoValue value = new ExpandoValueImpl();
198
199 value.setCompanyId(table.getCompanyId());
200 value.setColumnId(column.getColumnId());
201 value.setFloat(data);
202
203 return addValue(
204 table.getClassNameId(), table.getTableId(), column.getColumnId(),
205 classPK, value.getData());
206 }
207
208 public ExpandoValue addValue(
209 String className, String tableName, String columnName, long classPK,
210 float[] data)
211 throws PortalException, SystemException {
212
213 ExpandoTable table = expandoTableLocalService.getTable(
214 className, tableName);
215
216 ExpandoColumn column = expandoColumnLocalService.getColumn(
217 table.getTableId(), columnName);
218
219 ExpandoValue value = new ExpandoValueImpl();
220
221 value.setCompanyId(table.getCompanyId());
222 value.setColumnId(column.getColumnId());
223 value.setFloatArray(data);
224
225 return addValue(
226 table.getClassNameId(), table.getTableId(), column.getColumnId(),
227 classPK, value.getData());
228 }
229
230 public ExpandoValue addValue(
231 String className, String tableName, String columnName, long classPK,
232 int data)
233 throws PortalException, SystemException {
234
235 ExpandoTable table = expandoTableLocalService.getTable(
236 className, tableName);
237
238 ExpandoColumn column = expandoColumnLocalService.getColumn(
239 table.getTableId(), columnName);
240
241 ExpandoValue value = new ExpandoValueImpl();
242
243 value.setCompanyId(table.getCompanyId());
244 value.setColumnId(column.getColumnId());
245 value.setInteger(data);
246
247 return addValue(
248 table.getClassNameId(), table.getTableId(), column.getColumnId(),
249 classPK, value.getData());
250 }
251
252 public ExpandoValue addValue(
253 String className, String tableName, String columnName, long classPK,
254 int[] data)
255 throws PortalException, SystemException {
256
257 ExpandoTable table = expandoTableLocalService.getTable(
258 className, tableName);
259
260 ExpandoColumn column = expandoColumnLocalService.getColumn(
261 table.getTableId(), columnName);
262
263 ExpandoValue value = new ExpandoValueImpl();
264
265 value.setCompanyId(table.getCompanyId());
266 value.setColumnId(column.getColumnId());
267 value.setIntegerArray(data);
268
269 return addValue(
270 table.getClassNameId(), table.getTableId(), column.getColumnId(),
271 classPK, value.getData());
272 }
273
274 public ExpandoValue addValue(
275 String className, String tableName, String columnName, long classPK,
276 long data)
277 throws PortalException, SystemException {
278
279 ExpandoTable table = expandoTableLocalService.getTable(
280 className, tableName);
281
282 ExpandoColumn column = expandoColumnLocalService.getColumn(
283 table.getTableId(), columnName);
284
285 ExpandoValue value = new ExpandoValueImpl();
286
287 value.setCompanyId(table.getCompanyId());
288 value.setColumnId(column.getColumnId());
289 value.setLong(data);
290
291 return addValue(
292 table.getClassNameId(), table.getTableId(), column.getColumnId(),
293 classPK, value.getData());
294 }
295
296 public ExpandoValue addValue(
297 String className, String tableName, String columnName, long classPK,
298 long[] data)
299 throws PortalException, SystemException {
300
301 ExpandoTable table = expandoTableLocalService.getTable(
302 className, tableName);
303
304 ExpandoColumn column = expandoColumnLocalService.getColumn(
305 table.getTableId(), columnName);
306
307 ExpandoValue value = new ExpandoValueImpl();
308
309 value.setCompanyId(table.getCompanyId());
310 value.setColumnId(column.getColumnId());
311 value.setLongArray(data);
312
313 return addValue(
314 table.getClassNameId(), table.getTableId(), column.getColumnId(),
315 classPK, value.getData());
316 }
317
318 public ExpandoValue addValue(
319 String className, String tableName, String columnName, long classPK,
320 short data)
321 throws PortalException, SystemException {
322
323 ExpandoTable table = expandoTableLocalService.getTable(
324 className, tableName);
325
326 ExpandoColumn column = expandoColumnLocalService.getColumn(
327 table.getTableId(), columnName);
328
329 ExpandoValue value = new ExpandoValueImpl();
330
331 value.setCompanyId(table.getCompanyId());
332 value.setColumnId(column.getColumnId());
333 value.setShort(data);
334
335 return addValue(
336 table.getClassNameId(), table.getTableId(), column.getColumnId(),
337 classPK, value.getData());
338 }
339
340 public ExpandoValue addValue(
341 String className, String tableName, String columnName, long classPK,
342 short[] data)
343 throws PortalException, SystemException {
344
345 ExpandoTable table = expandoTableLocalService.getTable(
346 className, tableName);
347
348 ExpandoColumn column = expandoColumnLocalService.getColumn(
349 table.getTableId(), columnName);
350
351 ExpandoValue value = new ExpandoValueImpl();
352
353 value.setCompanyId(table.getCompanyId());
354 value.setColumnId(column.getColumnId());
355 value.setShortArray(data);
356
357 return addValue(
358 table.getClassNameId(), table.getTableId(), column.getColumnId(),
359 classPK, value.getData());
360 }
361
362 public ExpandoValue addValue(
363 String className, String tableName, String columnName, long classPK,
364 String data)
365 throws PortalException, SystemException {
366
367 ExpandoTable table = expandoTableLocalService.getTable(
368 className, tableName);
369
370 ExpandoColumn column = expandoColumnLocalService.getColumn(
371 table.getTableId(), columnName);
372
373 ExpandoValue value = new ExpandoValueImpl();
374
375 value.setCompanyId(table.getCompanyId());
376 value.setColumnId(column.getColumnId());
377 value.setString(data);
378
379 return addValue(
380 table.getClassNameId(), table.getTableId(), column.getColumnId(),
381 classPK, value.getData());
382 }
383
384 public ExpandoValue addValue(
385 String className, String tableName, String columnName, long classPK,
386 String[] data)
387 throws PortalException, SystemException {
388
389 ExpandoTable table = expandoTableLocalService.getTable(
390 className, tableName);
391
392 ExpandoColumn column = expandoColumnLocalService.getColumn(
393 table.getTableId(), columnName);
394
395 ExpandoValue value = new ExpandoValueImpl();
396
397 value.setCompanyId(table.getCompanyId());
398 value.setColumnId(column.getColumnId());
399 value.setStringArray(data);
400
401 return addValue(
402 table.getClassNameId(), table.getTableId(), column.getColumnId(),
403 classPK, value.getData());
404 }
405
406 public ExpandoValue addValue(
407 String className, String tableName, String columnName, long classPK,
408 Object data)
409 throws PortalException, SystemException {
410
411 ExpandoColumn column = expandoColumnLocalService.getColumn(
412 className, tableName, columnName);
413
414 int type = column.getType();
415
416 if (type == ExpandoColumnConstants.BOOLEAN) {
417 return addValue(
418 className, tableName, columnName, classPK,
419 ((Boolean)data).booleanValue());
420 }
421 else if (type == ExpandoColumnConstants.BOOLEAN_ARRAY) {
422 return addValue(
423 className, tableName, columnName, classPK, (boolean[])data);
424 }
425 else if (type == ExpandoColumnConstants.DATE) {
426 return addValue(
427 className, tableName, columnName, classPK, (Date)data);
428 }
429 else if (type == ExpandoColumnConstants.DATE_ARRAY) {
430 return addValue(
431 className, tableName, columnName, classPK, (Date[])data);
432 }
433 else if (type == ExpandoColumnConstants.DOUBLE) {
434 return addValue(
435 className, tableName, columnName, classPK,
436 ((Double)data).doubleValue());
437 }
438 else if (type == ExpandoColumnConstants.DOUBLE_ARRAY) {
439 return addValue(
440 className, tableName, columnName, classPK, (double[])data);
441 }
442 else if (type == ExpandoColumnConstants.FLOAT) {
443 return addValue(
444 className, tableName, columnName, classPK,
445 ((Float)data).floatValue());
446 }
447 else if (type == ExpandoColumnConstants.FLOAT_ARRAY) {
448 return addValue(
449 className, tableName, columnName, classPK, (float[])data);
450 }
451 else if (type == ExpandoColumnConstants.INTEGER) {
452 return addValue(
453 className, tableName, columnName, classPK,
454 ((Integer)data).intValue());
455 }
456 else if (type == ExpandoColumnConstants.INTEGER_ARRAY) {
457 return addValue(
458 className, tableName, columnName, classPK, (int[])data);
459 }
460 else if (type == ExpandoColumnConstants.LONG) {
461 return addValue(
462 className, tableName, columnName, classPK,
463 ((Long)data).longValue());
464 }
465 else if (type == ExpandoColumnConstants.LONG_ARRAY) {
466 return addValue(
467 className, tableName, columnName, classPK, (long[])data);
468 }
469 else if (type == ExpandoColumnConstants.SHORT) {
470 return addValue(
471 className, tableName, columnName, classPK,
472 ((Short)data).shortValue());
473 }
474 else if (type == ExpandoColumnConstants.SHORT_ARRAY) {
475 return addValue(
476 className, tableName, columnName, classPK, (short[])data);
477 }
478 else if (type == ExpandoColumnConstants.STRING_ARRAY) {
479 return addValue(
480 className, tableName, columnName, classPK, (String[])data);
481 }
482 else {
483 return addValue(
484 className, tableName, columnName, classPK, (String)data);
485 }
486 }
487
488 public ExpandoValue addValue(
489 long classNameId, long tableId, long columnId, long classPK,
490 String data)
491 throws SystemException {
492
493 long companyId = CompanyThreadLocal.getCompanyId();
494
495 ExpandoRow row = expandoRowPersistence.fetchByT_C(tableId, classPK);
496
497 if (row == null) {
498 long rowId = counterLocalService.increment();
499
500 row = expandoRowPersistence.create(rowId);
501
502 row.setCompanyId(companyId);
503 row.setTableId(tableId);
504 row.setClassPK(classPK);
505
506 expandoRowPersistence.update(row, false);
507 }
508
509 ExpandoValue value = expandoValuePersistence.fetchByT_C_R(
510 tableId, columnId, row.getRowId());
511
512 if (value == null) {
513 long valueId = counterLocalService.increment();
514
515 value = expandoValuePersistence.create(valueId);
516
517 value.setCompanyId(companyId);
518 value.setTableId(tableId);
519 value.setColumnId(columnId);
520 value.setRowId(row.getRowId());
521 value.setClassNameId(classNameId);
522 value.setClassPK(classPK);
523 }
524
525 value.setData(data);
526
527 expandoValuePersistence.update(value, false);
528
529 return value;
530 }
531
532 public void deleteColumnValues(long columnId) throws SystemException {
533 expandoValuePersistence.removeByColumnId(columnId);
534 }
535
536 public void deleteRowValues(long rowId) throws SystemException {
537 expandoValuePersistence.removeByRowId(rowId);
538 }
539
540 public void deleteTableValues(long tableId) throws SystemException {
541 expandoValuePersistence.removeByTableId(tableId);
542 }
543
544 public void deleteValue(long valueId)
545 throws PortalException, SystemException {
546
547 expandoValuePersistence.remove(valueId);
548 }
549
550 public void deleteValue(long columnId, long rowId)
551 throws PortalException, SystemException {
552
553 expandoValuePersistence.removeByC_R(columnId, rowId);
554 }
555
556 public void deleteValue(
557 String className, String tableName, String columnName, long classPK)
558 throws PortalException, SystemException {
559
560 long classNameId = PortalUtil.getClassNameId(className);
561
562 deleteValue(classNameId, tableName, columnName, classPK);
563 }
564
565 public void deleteValue(
566 long classNameId, String tableName, String columnName, long classPK)
567 throws PortalException, SystemException {
568
569 long companyId = CompanyThreadLocal.getCompanyId();
570
571 ExpandoValue value = expandoValueFinder.fetchByTC_TC_TN_CN_C(
572 companyId, classNameId, tableName, columnName, classPK);
573
574 if (value != null) {
575 deleteValue(value.getValueId());
576 }
577 }
578
579 public void deleteValues(String className, long classPK)
580 throws SystemException {
581
582 long classNameId = PortalUtil.getClassNameId(className);
583
584 deleteValues(classNameId, classPK);
585 }
586
587 public void deleteValues(long classNameId, long classPK)
588 throws SystemException {
589
590 expandoValuePersistence.removeByC_C(classNameId, classPK);
591 }
592
593 public List<ExpandoValue> getColumnValues(long columnId, int start, int end)
594 throws SystemException {
595
596 return expandoValuePersistence.findByColumnId(columnId, start, end);
597 }
598
599 public List<ExpandoValue> getColumnValues(
600 String className, String tableName, String columnName, int start,
601 int end)
602 throws SystemException {
603
604 long classNameId = PortalUtil.getClassNameId(className);
605
606 return getColumnValues(classNameId, tableName, columnName, start, end);
607 }
608
609 public List<ExpandoValue> getColumnValues(
610 long classNameId, String tableName, String columnName, int start,
611 int end)
612 throws SystemException {
613
614 long companyId = CompanyThreadLocal.getCompanyId();
615
616 return expandoValueFinder.findByTC_TC_TN_CN(
617 companyId, classNameId, tableName, columnName, start, end);
618 }
619
620 public List<ExpandoValue> getColumnValues(
621 String className, String tableName, String columnName, String data,
622 int start, int end)
623 throws SystemException {
624
625 long classNameId = PortalUtil.getClassNameId(className);
626
627 return getColumnValues(
628 classNameId, tableName, columnName, data, start, end);
629 }
630
631 public List<ExpandoValue> getColumnValues(
632 long classNameId, String tableName, String columnName, String data,
633 int start, int end)
634 throws SystemException {
635
636 long companyId = CompanyThreadLocal.getCompanyId();
637
638 return expandoValueFinder.findByTC_TC_TN_CN_D(
639 companyId, classNameId, tableName, columnName, data, start, end);
640 }
641
642 public int getColumnValuesCount(long columnId) throws SystemException {
643 return expandoValuePersistence.countByColumnId(columnId);
644 }
645
646 public int getColumnValuesCount(
647 String className, String tableName, String columnName)
648 throws SystemException {
649
650 long classNameId = PortalUtil.getClassNameId(className);
651
652 return getColumnValuesCount(classNameId, tableName, columnName);
653 }
654
655 public int getColumnValuesCount(
656 long classNameId, String tableName, String columnName)
657 throws SystemException {
658
659 long companyId = CompanyThreadLocal.getCompanyId();
660
661 return expandoValueFinder.countByTC_TC_TN_CN(
662 companyId, classNameId, tableName, columnName);
663 }
664
665 public int getColumnValuesCount(
666 String className, String tableName, String columnName, String data)
667 throws SystemException {
668
669 long classNameId = PortalUtil.getClassNameId(className);
670
671 return getColumnValuesCount(classNameId, tableName, columnName, data);
672 }
673
674 public int getColumnValuesCount(
675 long classNameId, String tableName, String columnName, String data)
676 throws SystemException {
677
678 long companyId = CompanyThreadLocal.getCompanyId();
679
680 return expandoValueFinder.countByTC_TC_TN_CN_D(
681 companyId, classNameId, tableName, columnName, data);
682 }
683
684 public boolean getData(
685 String className, String tableName, String columnName, long classPK,
686 boolean defaultData)
687 throws PortalException, SystemException {
688
689 ExpandoValue value = getValue(
690 className, tableName, columnName, classPK);
691
692 if (value == null) {
693 return defaultData;
694 }
695 else {
696 return value.getBoolean();
697 }
698 }
699
700 public boolean[] getData(
701 String className, String tableName, String columnName, long classPK,
702 boolean[] defaultData)
703 throws PortalException, SystemException {
704
705 ExpandoValue value = getValue(
706 className, tableName, columnName, classPK);
707
708 if (value == null) {
709 return defaultData;
710 }
711 else {
712 return value.getBooleanArray();
713 }
714 }
715
716 public Date getData(
717 String className, String tableName, String columnName, long classPK,
718 Date defaultData)
719 throws PortalException, SystemException {
720
721 ExpandoValue value = getValue(
722 className, tableName, columnName, classPK);
723
724 if (value == null) {
725 return defaultData;
726 }
727 else {
728 return value.getDate();
729 }
730 }
731
732 public Date[] getData(
733 String className, String tableName, String columnName, long classPK,
734 Date[] defaultData)
735 throws PortalException, SystemException {
736
737 ExpandoValue value = getValue(
738 className, tableName, columnName, classPK);
739
740 if (value == null) {
741 return defaultData;
742 }
743 else {
744 return value.getDateArray();
745 }
746 }
747
748 public double getData(
749 String className, String tableName, String columnName, long classPK,
750 double defaultData)
751 throws PortalException, SystemException {
752
753 ExpandoValue value = getValue(
754 className, tableName, columnName, classPK);
755
756 if (value == null) {
757 return defaultData;
758 }
759 else {
760 return value.getDouble();
761 }
762 }
763
764 public double[] getData(
765 String className, String tableName, String columnName, long classPK,
766 double[] defaultData)
767 throws PortalException, SystemException {
768
769 ExpandoValue value = getValue(
770 className, tableName, columnName, classPK);
771
772 if (value == null) {
773 return defaultData;
774 }
775 else {
776 return value.getDoubleArray();
777 }
778 }
779
780 public float getData(
781 String className, String tableName, String columnName, long classPK,
782 float defaultData)
783 throws PortalException, SystemException {
784
785 ExpandoValue value = getValue(
786 className, tableName, columnName, classPK);
787
788 if (value == null) {
789 return defaultData;
790 }
791 else {
792 return value.getFloat();
793 }
794 }
795
796 public float[] getData(
797 String className, String tableName, String columnName, long classPK,
798 float[] defaultData)
799 throws PortalException, SystemException {
800
801 ExpandoValue value = getValue(
802 className, tableName, columnName, classPK);
803
804 if (value == null) {
805 return defaultData;
806 }
807 else {
808 return value.getFloatArray();
809 }
810 }
811
812 public int getData(
813 String className, String tableName, String columnName, long classPK,
814 int defaultData)
815 throws PortalException, SystemException {
816
817 ExpandoValue value = getValue(
818 className, tableName, columnName, classPK);
819
820 if (value == null) {
821 return defaultData;
822 }
823 else {
824 return value.getInteger();
825 }
826 }
827
828 public int[] getData(
829 String className, String tableName, String columnName, long classPK,
830 int[] defaultData)
831 throws PortalException, SystemException {
832
833 ExpandoValue value = getValue(
834 className, tableName, columnName, classPK);
835
836 if (value == null) {
837 return defaultData;
838 }
839 else {
840 return value.getIntegerArray();
841 }
842 }
843
844 public long getData(
845 String className, String tableName, String columnName, long classPK,
846 long defaultData)
847 throws PortalException, SystemException {
848
849 ExpandoValue value = getValue(
850 className, tableName, columnName, classPK);
851
852 if (value == null) {
853 return defaultData;
854 }
855 else {
856 return value.getLong();
857 }
858 }
859
860 public long[] getData(
861 String className, String tableName, String columnName, long classPK,
862 long[] defaultData)
863 throws PortalException, SystemException {
864
865 ExpandoValue value = getValue(
866 className, tableName, columnName, classPK);
867
868 if (value == null) {
869 return defaultData;
870 }
871 else {
872 return value.getLongArray();
873 }
874 }
875
876 public short getData(
877 String className, String tableName, String columnName, long classPK,
878 short defaultData)
879 throws PortalException, SystemException {
880
881 ExpandoValue value = getValue(
882 className, tableName, columnName, classPK);
883
884 if (value == null) {
885 return defaultData;
886 }
887 else {
888 return value.getShort();
889 }
890 }
891
892 public short[] getData(
893 String className, String tableName, String columnName, long classPK,
894 short[] defaultData)
895 throws PortalException, SystemException {
896
897 ExpandoValue value = getValue(
898 className, tableName, columnName, classPK);
899
900 if (value == null) {
901 return defaultData;
902 }
903 else {
904 return value.getShortArray();
905 }
906 }
907
908 public String getData(
909 String className, String tableName, String columnName, long classPK,
910 String defaultData)
911 throws PortalException, SystemException {
912
913 ExpandoValue value = getValue(
914 className, tableName, columnName, classPK);
915
916 if (value == null) {
917 return defaultData;
918 }
919 else {
920 return value.getString();
921 }
922 }
923
924 public String[] getData(
925 String className, String tableName, String columnName, long classPK,
926 String[] defaultData)
927 throws PortalException, SystemException {
928
929 ExpandoValue value = getValue(
930 className, tableName, columnName, classPK);
931
932 if (value == null) {
933 return defaultData;
934 }
935 else {
936 return value.getStringArray();
937 }
938 }
939
940 public Serializable getData(
941 String className, String tableName, String columnName, long classPK)
942 throws PortalException, SystemException {
943
944 ExpandoColumn column = expandoColumnLocalService.getColumn(
945 className, tableName, columnName);
946
947 ExpandoValue value = new ExpandoValueImpl();
948
949 value.setColumnId(column.getColumnId());
950
951 int type = column.getType();
952
953 if (type == ExpandoColumnConstants.BOOLEAN) {
954 return getData(
955 className, tableName, columnName, classPK, value.getBoolean());
956 }
957 else if (type == ExpandoColumnConstants.BOOLEAN_ARRAY) {
958 return getData(
959 className, tableName, columnName, classPK,
960 value.getBooleanArray());
961 }
962 else if (type == ExpandoColumnConstants.DATE) {
963 return getData(
964 className, tableName, columnName, classPK, value.getDate());
965 }
966 else if (type == ExpandoColumnConstants.DATE_ARRAY) {
967 return getData(
968 className, tableName, columnName, classPK,
969 value.getDateArray());
970 }
971 else if (type == ExpandoColumnConstants.DOUBLE) {
972 return getData(
973 className, tableName, columnName, classPK, value.getDouble());
974 }
975 else if (type == ExpandoColumnConstants.DOUBLE_ARRAY) {
976 return getData(
977 className, tableName, columnName, classPK,
978 value.getDoubleArray());
979 }
980 else if (type == ExpandoColumnConstants.FLOAT) {
981 return getData(
982 className, tableName, columnName, classPK, value.getFloat());
983 }
984 else if (type == ExpandoColumnConstants.FLOAT_ARRAY) {
985 return getData(
986 className, tableName, columnName, classPK,
987 value.getFloatArray());
988 }
989 else if (type == ExpandoColumnConstants.INTEGER) {
990 return getData(
991 className, tableName, columnName, classPK, value.getInteger());
992 }
993 else if (type == ExpandoColumnConstants.INTEGER_ARRAY) {
994 return getData(
995 className, tableName, columnName, classPK,
996 value.getIntegerArray());
997 }
998 else if (type == ExpandoColumnConstants.LONG) {
999 return getData(
1000 className, tableName, columnName, classPK, value.getLong());
1001 }
1002 else if (type == ExpandoColumnConstants.LONG_ARRAY) {
1003 return getData(
1004 className, tableName, columnName, classPK,
1005 value.getLongArray());
1006 }
1007 else if (type == ExpandoColumnConstants.SHORT) {
1008 return getData(
1009 className, tableName, columnName, classPK, value.getShort());
1010 }
1011 else if (type == ExpandoColumnConstants.SHORT_ARRAY) {
1012 return getData(
1013 className, tableName, columnName, classPK,
1014 value.getShortArray());
1015 }
1016 else if (type == ExpandoColumnConstants.STRING_ARRAY) {
1017 return getData(
1018 className, tableName, columnName, classPK,
1019 value.getStringArray());
1020 }
1021 else {
1022 return getData(
1023 className, tableName, columnName, classPK, value.getString());
1024 }
1025 }
1026
1027 public List<ExpandoValue> getDefaultTableColumnValues(
1028 String className, String columnName, int start, int end)
1029 throws SystemException {
1030
1031 long classNameId = PortalUtil.getClassNameId(className);
1032
1033 return getDefaultTableColumnValues(classNameId, columnName, start, end);
1034 }
1035
1036 public List<ExpandoValue> getDefaultTableColumnValues(
1037 long classNameId, String columnName, int start, int end)
1038 throws SystemException {
1039
1040 return getColumnValues(
1041 classNameId, ExpandoTableConstants.DEFAULT_TABLE_NAME, columnName,
1042 start, end);
1043 }
1044
1045 public int getDefaultTableColumnValuesCount(
1046 String className, String columnName)
1047 throws SystemException {
1048
1049 long classNameId = PortalUtil.getClassNameId(className);
1050
1051 return getDefaultTableColumnValuesCount(classNameId, columnName);
1052 }
1053
1054 public int getDefaultTableColumnValuesCount(
1055 long classNameId, String columnName)
1056 throws SystemException {
1057
1058 return getColumnValuesCount(
1059 classNameId, ExpandoTableConstants.DEFAULT_TABLE_NAME, columnName);
1060 }
1061
1062 public List<ExpandoValue> getRowValues(long rowId) throws SystemException {
1063 return expandoValuePersistence.findByRowId(rowId);
1064 }
1065
1066 public List<ExpandoValue> getRowValues(long rowId, int start, int end)
1067 throws SystemException {
1068
1069 return expandoValuePersistence.findByRowId(rowId, start, end);
1070 }
1071
1072 public List<ExpandoValue> getRowValues(
1073 String className, String tableName, long classPK, int start,
1074 int end)
1075 throws SystemException {
1076
1077 long classNameId = PortalUtil.getClassNameId(className);
1078
1079 return getRowValues(classNameId, tableName, classPK, start, end);
1080 }
1081
1082 public List<ExpandoValue> getRowValues(
1083 long classNameId, String tableName, long classPK, int start,
1084 int end)
1085 throws SystemException {
1086
1087 long companyId = CompanyThreadLocal.getCompanyId();
1088
1089 return expandoValueFinder.findByTC_TC_TN_C(
1090 companyId, classNameId, tableName, classPK, start, end);
1091 }
1092
1093 public int getRowValuesCount(long rowId) throws SystemException {
1094 return expandoValuePersistence.countByRowId(rowId);
1095 }
1096
1097 public int getRowValuesCount(
1098 String className, String tableName, long classPK)
1099 throws SystemException {
1100
1101 long classNameId = PortalUtil.getClassNameId(className);
1102
1103 return getRowValuesCount(classNameId, tableName, classPK);
1104 }
1105
1106 public int getRowValuesCount(
1107 long classNameId, String tableName, long classPK)
1108 throws SystemException {
1109
1110 long companyId = CompanyThreadLocal.getCompanyId();
1111
1112 return expandoValueFinder.countByTC_TC_TN_C(
1113 companyId, classNameId, tableName, classPK);
1114 }
1115
1116 public ExpandoValue getValue(long valueId)
1117 throws PortalException, SystemException {
1118
1119 return expandoValuePersistence.findByPrimaryKey(valueId);
1120 }
1121
1122 public ExpandoValue getValue(long columnId, long rowId)
1123 throws PortalException, SystemException {
1124
1125 return expandoValuePersistence.findByC_R(columnId, rowId);
1126 }
1127
1128 public ExpandoValue getValue(
1129 String className, String tableName, String columnName, long classPK)
1130 throws SystemException {
1131
1132 long classNameId = PortalUtil.getClassNameId(className);
1133
1134 return getValue(classNameId, tableName, columnName, classPK);
1135 }
1136
1137 public ExpandoValue getValue(
1138 long classNameId, String tableName, String columnName, long classPK)
1139 throws SystemException {
1140
1141 long companyId = CompanyThreadLocal.getCompanyId();
1142
1143 return expandoValueFinder.fetchByTC_TC_TN_CN_C(
1144 companyId, classNameId, tableName, columnName, classPK);
1145 }
1146
1147}