1
19
20 package com.liferay.portal.service.persistence;
21
22 import com.liferay.portal.NoSuchServiceComponentException;
23 import com.liferay.portal.SystemException;
24 import com.liferay.portal.kernel.dao.orm.DynamicQuery;
25 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
26 import com.liferay.portal.kernel.dao.orm.Query;
27 import com.liferay.portal.kernel.dao.orm.QueryPos;
28 import com.liferay.portal.kernel.dao.orm.QueryUtil;
29 import com.liferay.portal.kernel.dao.orm.Session;
30 import com.liferay.portal.kernel.log.Log;
31 import com.liferay.portal.kernel.log.LogFactoryUtil;
32 import com.liferay.portal.kernel.util.GetterUtil;
33 import com.liferay.portal.kernel.util.OrderByComparator;
34 import com.liferay.portal.kernel.util.StringPool;
35 import com.liferay.portal.kernel.util.StringUtil;
36 import com.liferay.portal.model.ModelListener;
37 import com.liferay.portal.model.ServiceComponent;
38 import com.liferay.portal.model.impl.ServiceComponentImpl;
39 import com.liferay.portal.model.impl.ServiceComponentModelImpl;
40 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
41
42 import java.util.ArrayList;
43 import java.util.Collections;
44 import java.util.Iterator;
45 import java.util.List;
46
47
53 public class ServiceComponentPersistenceImpl extends BasePersistenceImpl
54 implements ServiceComponentPersistence {
55 public ServiceComponent create(long serviceComponentId) {
56 ServiceComponent serviceComponent = new ServiceComponentImpl();
57
58 serviceComponent.setNew(true);
59 serviceComponent.setPrimaryKey(serviceComponentId);
60
61 return serviceComponent;
62 }
63
64 public ServiceComponent remove(long serviceComponentId)
65 throws NoSuchServiceComponentException, SystemException {
66 Session session = null;
67
68 try {
69 session = openSession();
70
71 ServiceComponent serviceComponent = (ServiceComponent)session.get(ServiceComponentImpl.class,
72 new Long(serviceComponentId));
73
74 if (serviceComponent == null) {
75 if (_log.isWarnEnabled()) {
76 _log.warn(
77 "No ServiceComponent exists with the primary key " +
78 serviceComponentId);
79 }
80
81 throw new NoSuchServiceComponentException(
82 "No ServiceComponent exists with the primary key " +
83 serviceComponentId);
84 }
85
86 return remove(serviceComponent);
87 }
88 catch (NoSuchServiceComponentException nsee) {
89 throw nsee;
90 }
91 catch (Exception e) {
92 throw processException(e);
93 }
94 finally {
95 closeSession(session);
96 }
97 }
98
99 public ServiceComponent remove(ServiceComponent serviceComponent)
100 throws SystemException {
101 for (ModelListener listener : listeners) {
102 listener.onBeforeRemove(serviceComponent);
103 }
104
105 serviceComponent = removeImpl(serviceComponent);
106
107 for (ModelListener listener : listeners) {
108 listener.onAfterRemove(serviceComponent);
109 }
110
111 return serviceComponent;
112 }
113
114 protected ServiceComponent removeImpl(ServiceComponent serviceComponent)
115 throws SystemException {
116 Session session = null;
117
118 try {
119 session = openSession();
120
121 if (BatchSessionUtil.isEnabled()) {
122 Object staleObject = session.get(ServiceComponentImpl.class,
123 serviceComponent.getPrimaryKeyObj());
124
125 if (staleObject != null) {
126 session.evict(staleObject);
127 }
128 }
129
130 session.delete(serviceComponent);
131
132 session.flush();
133
134 return serviceComponent;
135 }
136 catch (Exception e) {
137 throw processException(e);
138 }
139 finally {
140 closeSession(session);
141
142 FinderCacheUtil.clearCache(ServiceComponent.class.getName());
143 }
144 }
145
146
149 public ServiceComponent update(ServiceComponent serviceComponent)
150 throws SystemException {
151 if (_log.isWarnEnabled()) {
152 _log.warn(
153 "Using the deprecated update(ServiceComponent serviceComponent) method. Use update(ServiceComponent serviceComponent, boolean merge) instead.");
154 }
155
156 return update(serviceComponent, false);
157 }
158
159
172 public ServiceComponent update(ServiceComponent serviceComponent,
173 boolean merge) throws SystemException {
174 boolean isNew = serviceComponent.isNew();
175
176 for (ModelListener listener : listeners) {
177 if (isNew) {
178 listener.onBeforeCreate(serviceComponent);
179 }
180 else {
181 listener.onBeforeUpdate(serviceComponent);
182 }
183 }
184
185 serviceComponent = updateImpl(serviceComponent, merge);
186
187 for (ModelListener listener : listeners) {
188 if (isNew) {
189 listener.onAfterCreate(serviceComponent);
190 }
191 else {
192 listener.onAfterUpdate(serviceComponent);
193 }
194 }
195
196 return serviceComponent;
197 }
198
199 public ServiceComponent updateImpl(
200 com.liferay.portal.model.ServiceComponent serviceComponent,
201 boolean merge) throws SystemException {
202 Session session = null;
203
204 try {
205 session = openSession();
206
207 BatchSessionUtil.update(session, serviceComponent, merge);
208
209 serviceComponent.setNew(false);
210
211 return serviceComponent;
212 }
213 catch (Exception e) {
214 throw processException(e);
215 }
216 finally {
217 closeSession(session);
218
219 FinderCacheUtil.clearCache(ServiceComponent.class.getName());
220 }
221 }
222
223 public ServiceComponent findByPrimaryKey(long serviceComponentId)
224 throws NoSuchServiceComponentException, SystemException {
225 ServiceComponent serviceComponent = fetchByPrimaryKey(serviceComponentId);
226
227 if (serviceComponent == null) {
228 if (_log.isWarnEnabled()) {
229 _log.warn("No ServiceComponent exists with the primary key " +
230 serviceComponentId);
231 }
232
233 throw new NoSuchServiceComponentException(
234 "No ServiceComponent exists with the primary key " +
235 serviceComponentId);
236 }
237
238 return serviceComponent;
239 }
240
241 public ServiceComponent fetchByPrimaryKey(long serviceComponentId)
242 throws SystemException {
243 Session session = null;
244
245 try {
246 session = openSession();
247
248 return (ServiceComponent)session.get(ServiceComponentImpl.class,
249 new Long(serviceComponentId));
250 }
251 catch (Exception e) {
252 throw processException(e);
253 }
254 finally {
255 closeSession(session);
256 }
257 }
258
259 public List<ServiceComponent> findByBuildNamespace(String buildNamespace)
260 throws SystemException {
261 boolean finderClassNameCacheEnabled = ServiceComponentModelImpl.CACHE_ENABLED;
262 String finderClassName = ServiceComponent.class.getName();
263 String finderMethodName = "findByBuildNamespace";
264 String[] finderParams = new String[] { String.class.getName() };
265 Object[] finderArgs = new Object[] { buildNamespace };
266
267 Object result = null;
268
269 if (finderClassNameCacheEnabled) {
270 result = FinderCacheUtil.getResult(finderClassName,
271 finderMethodName, finderParams, finderArgs, this);
272 }
273
274 if (result == null) {
275 Session session = null;
276
277 try {
278 session = openSession();
279
280 StringBuilder query = new StringBuilder();
281
282 query.append(
283 "FROM com.liferay.portal.model.ServiceComponent WHERE ");
284
285 if (buildNamespace == null) {
286 query.append("buildNamespace IS NULL");
287 }
288 else {
289 query.append("buildNamespace = ?");
290 }
291
292 query.append(" ");
293
294 query.append("ORDER BY ");
295
296 query.append("buildNamespace DESC, ");
297 query.append("buildNumber DESC");
298
299 Query q = session.createQuery(query.toString());
300
301 QueryPos qPos = QueryPos.getInstance(q);
302
303 if (buildNamespace != null) {
304 qPos.add(buildNamespace);
305 }
306
307 List<ServiceComponent> list = q.list();
308
309 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
310 finderClassName, finderMethodName, finderParams,
311 finderArgs, list);
312
313 return list;
314 }
315 catch (Exception e) {
316 throw processException(e);
317 }
318 finally {
319 closeSession(session);
320 }
321 }
322 else {
323 return (List<ServiceComponent>)result;
324 }
325 }
326
327 public List<ServiceComponent> findByBuildNamespace(String buildNamespace,
328 int start, int end) throws SystemException {
329 return findByBuildNamespace(buildNamespace, start, end, null);
330 }
331
332 public List<ServiceComponent> findByBuildNamespace(String buildNamespace,
333 int start, int end, OrderByComparator obc) throws SystemException {
334 boolean finderClassNameCacheEnabled = ServiceComponentModelImpl.CACHE_ENABLED;
335 String finderClassName = ServiceComponent.class.getName();
336 String finderMethodName = "findByBuildNamespace";
337 String[] finderParams = new String[] {
338 String.class.getName(),
339
340 "java.lang.Integer", "java.lang.Integer",
341 "com.liferay.portal.kernel.util.OrderByComparator"
342 };
343 Object[] finderArgs = new Object[] {
344 buildNamespace,
345
346 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
347 };
348
349 Object result = null;
350
351 if (finderClassNameCacheEnabled) {
352 result = FinderCacheUtil.getResult(finderClassName,
353 finderMethodName, finderParams, finderArgs, this);
354 }
355
356 if (result == null) {
357 Session session = null;
358
359 try {
360 session = openSession();
361
362 StringBuilder query = new StringBuilder();
363
364 query.append(
365 "FROM com.liferay.portal.model.ServiceComponent WHERE ");
366
367 if (buildNamespace == null) {
368 query.append("buildNamespace IS NULL");
369 }
370 else {
371 query.append("buildNamespace = ?");
372 }
373
374 query.append(" ");
375
376 if (obc != null) {
377 query.append("ORDER BY ");
378 query.append(obc.getOrderBy());
379 }
380
381 else {
382 query.append("ORDER BY ");
383
384 query.append("buildNamespace DESC, ");
385 query.append("buildNumber DESC");
386 }
387
388 Query q = session.createQuery(query.toString());
389
390 QueryPos qPos = QueryPos.getInstance(q);
391
392 if (buildNamespace != null) {
393 qPos.add(buildNamespace);
394 }
395
396 List<ServiceComponent> list = (List<ServiceComponent>)QueryUtil.list(q,
397 getDialect(), start, end);
398
399 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
400 finderClassName, finderMethodName, finderParams,
401 finderArgs, list);
402
403 return list;
404 }
405 catch (Exception e) {
406 throw processException(e);
407 }
408 finally {
409 closeSession(session);
410 }
411 }
412 else {
413 return (List<ServiceComponent>)result;
414 }
415 }
416
417 public ServiceComponent findByBuildNamespace_First(String buildNamespace,
418 OrderByComparator obc)
419 throws NoSuchServiceComponentException, SystemException {
420 List<ServiceComponent> list = findByBuildNamespace(buildNamespace, 0,
421 1, obc);
422
423 if (list.size() == 0) {
424 StringBuilder msg = new StringBuilder();
425
426 msg.append("No ServiceComponent exists with the key {");
427
428 msg.append("buildNamespace=" + buildNamespace);
429
430 msg.append(StringPool.CLOSE_CURLY_BRACE);
431
432 throw new NoSuchServiceComponentException(msg.toString());
433 }
434 else {
435 return list.get(0);
436 }
437 }
438
439 public ServiceComponent findByBuildNamespace_Last(String buildNamespace,
440 OrderByComparator obc)
441 throws NoSuchServiceComponentException, SystemException {
442 int count = countByBuildNamespace(buildNamespace);
443
444 List<ServiceComponent> list = findByBuildNamespace(buildNamespace,
445 count - 1, count, obc);
446
447 if (list.size() == 0) {
448 StringBuilder msg = new StringBuilder();
449
450 msg.append("No ServiceComponent exists with the key {");
451
452 msg.append("buildNamespace=" + buildNamespace);
453
454 msg.append(StringPool.CLOSE_CURLY_BRACE);
455
456 throw new NoSuchServiceComponentException(msg.toString());
457 }
458 else {
459 return list.get(0);
460 }
461 }
462
463 public ServiceComponent[] findByBuildNamespace_PrevAndNext(
464 long serviceComponentId, String buildNamespace, OrderByComparator obc)
465 throws NoSuchServiceComponentException, SystemException {
466 ServiceComponent serviceComponent = findByPrimaryKey(serviceComponentId);
467
468 int count = countByBuildNamespace(buildNamespace);
469
470 Session session = null;
471
472 try {
473 session = openSession();
474
475 StringBuilder query = new StringBuilder();
476
477 query.append(
478 "FROM com.liferay.portal.model.ServiceComponent WHERE ");
479
480 if (buildNamespace == null) {
481 query.append("buildNamespace IS NULL");
482 }
483 else {
484 query.append("buildNamespace = ?");
485 }
486
487 query.append(" ");
488
489 if (obc != null) {
490 query.append("ORDER BY ");
491 query.append(obc.getOrderBy());
492 }
493
494 else {
495 query.append("ORDER BY ");
496
497 query.append("buildNamespace DESC, ");
498 query.append("buildNumber DESC");
499 }
500
501 Query q = session.createQuery(query.toString());
502
503 QueryPos qPos = QueryPos.getInstance(q);
504
505 if (buildNamespace != null) {
506 qPos.add(buildNamespace);
507 }
508
509 Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
510 serviceComponent);
511
512 ServiceComponent[] array = new ServiceComponentImpl[3];
513
514 array[0] = (ServiceComponent)objArray[0];
515 array[1] = (ServiceComponent)objArray[1];
516 array[2] = (ServiceComponent)objArray[2];
517
518 return array;
519 }
520 catch (Exception e) {
521 throw processException(e);
522 }
523 finally {
524 closeSession(session);
525 }
526 }
527
528 public ServiceComponent findByBNS_BNU(String buildNamespace,
529 long buildNumber)
530 throws NoSuchServiceComponentException, SystemException {
531 ServiceComponent serviceComponent = fetchByBNS_BNU(buildNamespace,
532 buildNumber);
533
534 if (serviceComponent == null) {
535 StringBuilder msg = new StringBuilder();
536
537 msg.append("No ServiceComponent exists with the key {");
538
539 msg.append("buildNamespace=" + buildNamespace);
540
541 msg.append(", ");
542 msg.append("buildNumber=" + buildNumber);
543
544 msg.append(StringPool.CLOSE_CURLY_BRACE);
545
546 if (_log.isWarnEnabled()) {
547 _log.warn(msg.toString());
548 }
549
550 throw new NoSuchServiceComponentException(msg.toString());
551 }
552
553 return serviceComponent;
554 }
555
556 public ServiceComponent fetchByBNS_BNU(String buildNamespace,
557 long buildNumber) throws SystemException {
558 boolean finderClassNameCacheEnabled = ServiceComponentModelImpl.CACHE_ENABLED;
559 String finderClassName = ServiceComponent.class.getName();
560 String finderMethodName = "fetchByBNS_BNU";
561 String[] finderParams = new String[] {
562 String.class.getName(), Long.class.getName()
563 };
564 Object[] finderArgs = new Object[] { buildNamespace, new Long(buildNumber) };
565
566 Object result = null;
567
568 if (finderClassNameCacheEnabled) {
569 result = FinderCacheUtil.getResult(finderClassName,
570 finderMethodName, finderParams, finderArgs, this);
571 }
572
573 if (result == null) {
574 Session session = null;
575
576 try {
577 session = openSession();
578
579 StringBuilder query = new StringBuilder();
580
581 query.append(
582 "FROM com.liferay.portal.model.ServiceComponent WHERE ");
583
584 if (buildNamespace == null) {
585 query.append("buildNamespace IS NULL");
586 }
587 else {
588 query.append("buildNamespace = ?");
589 }
590
591 query.append(" AND ");
592
593 query.append("buildNumber = ?");
594
595 query.append(" ");
596
597 query.append("ORDER BY ");
598
599 query.append("buildNamespace DESC, ");
600 query.append("buildNumber DESC");
601
602 Query q = session.createQuery(query.toString());
603
604 QueryPos qPos = QueryPos.getInstance(q);
605
606 if (buildNamespace != null) {
607 qPos.add(buildNamespace);
608 }
609
610 qPos.add(buildNumber);
611
612 List<ServiceComponent> list = q.list();
613
614 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
615 finderClassName, finderMethodName, finderParams,
616 finderArgs, list);
617
618 if (list.size() == 0) {
619 return null;
620 }
621 else {
622 return list.get(0);
623 }
624 }
625 catch (Exception e) {
626 throw processException(e);
627 }
628 finally {
629 closeSession(session);
630 }
631 }
632 else {
633 List<ServiceComponent> list = (List<ServiceComponent>)result;
634
635 if (list.size() == 0) {
636 return null;
637 }
638 else {
639 return list.get(0);
640 }
641 }
642 }
643
644 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
645 throws SystemException {
646 Session session = null;
647
648 try {
649 session = openSession();
650
651 dynamicQuery.compile(session);
652
653 return dynamicQuery.list();
654 }
655 catch (Exception e) {
656 throw processException(e);
657 }
658 finally {
659 closeSession(session);
660 }
661 }
662
663 public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
664 int start, int end) throws SystemException {
665 Session session = null;
666
667 try {
668 session = openSession();
669
670 dynamicQuery.setLimit(start, end);
671
672 dynamicQuery.compile(session);
673
674 return dynamicQuery.list();
675 }
676 catch (Exception e) {
677 throw processException(e);
678 }
679 finally {
680 closeSession(session);
681 }
682 }
683
684 public List<ServiceComponent> findAll() throws SystemException {
685 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
686 }
687
688 public List<ServiceComponent> findAll(int start, int end)
689 throws SystemException {
690 return findAll(start, end, null);
691 }
692
693 public List<ServiceComponent> findAll(int start, int end,
694 OrderByComparator obc) throws SystemException {
695 boolean finderClassNameCacheEnabled = ServiceComponentModelImpl.CACHE_ENABLED;
696 String finderClassName = ServiceComponent.class.getName();
697 String finderMethodName = "findAll";
698 String[] finderParams = new String[] {
699 "java.lang.Integer", "java.lang.Integer",
700 "com.liferay.portal.kernel.util.OrderByComparator"
701 };
702 Object[] finderArgs = new Object[] {
703 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
704 };
705
706 Object result = null;
707
708 if (finderClassNameCacheEnabled) {
709 result = FinderCacheUtil.getResult(finderClassName,
710 finderMethodName, finderParams, finderArgs, this);
711 }
712
713 if (result == null) {
714 Session session = null;
715
716 try {
717 session = openSession();
718
719 StringBuilder query = new StringBuilder();
720
721 query.append("FROM com.liferay.portal.model.ServiceComponent ");
722
723 if (obc != null) {
724 query.append("ORDER BY ");
725 query.append(obc.getOrderBy());
726 }
727
728 else {
729 query.append("ORDER BY ");
730
731 query.append("buildNamespace DESC, ");
732 query.append("buildNumber DESC");
733 }
734
735 Query q = session.createQuery(query.toString());
736
737 List<ServiceComponent> list = null;
738
739 if (obc == null) {
740 list = (List<ServiceComponent>)QueryUtil.list(q,
741 getDialect(), start, end, false);
742
743 Collections.sort(list);
744 }
745 else {
746 list = (List<ServiceComponent>)QueryUtil.list(q,
747 getDialect(), start, end);
748 }
749
750 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
751 finderClassName, finderMethodName, finderParams,
752 finderArgs, list);
753
754 return list;
755 }
756 catch (Exception e) {
757 throw processException(e);
758 }
759 finally {
760 closeSession(session);
761 }
762 }
763 else {
764 return (List<ServiceComponent>)result;
765 }
766 }
767
768 public void removeByBuildNamespace(String buildNamespace)
769 throws SystemException {
770 for (ServiceComponent serviceComponent : findByBuildNamespace(
771 buildNamespace)) {
772 remove(serviceComponent);
773 }
774 }
775
776 public void removeByBNS_BNU(String buildNamespace, long buildNumber)
777 throws NoSuchServiceComponentException, SystemException {
778 ServiceComponent serviceComponent = findByBNS_BNU(buildNamespace,
779 buildNumber);
780
781 remove(serviceComponent);
782 }
783
784 public void removeAll() throws SystemException {
785 for (ServiceComponent serviceComponent : findAll()) {
786 remove(serviceComponent);
787 }
788 }
789
790 public int countByBuildNamespace(String buildNamespace)
791 throws SystemException {
792 boolean finderClassNameCacheEnabled = ServiceComponentModelImpl.CACHE_ENABLED;
793 String finderClassName = ServiceComponent.class.getName();
794 String finderMethodName = "countByBuildNamespace";
795 String[] finderParams = new String[] { String.class.getName() };
796 Object[] finderArgs = new Object[] { buildNamespace };
797
798 Object result = null;
799
800 if (finderClassNameCacheEnabled) {
801 result = FinderCacheUtil.getResult(finderClassName,
802 finderMethodName, finderParams, finderArgs, this);
803 }
804
805 if (result == null) {
806 Session session = null;
807
808 try {
809 session = openSession();
810
811 StringBuilder query = new StringBuilder();
812
813 query.append("SELECT COUNT(*) ");
814 query.append(
815 "FROM com.liferay.portal.model.ServiceComponent WHERE ");
816
817 if (buildNamespace == null) {
818 query.append("buildNamespace IS NULL");
819 }
820 else {
821 query.append("buildNamespace = ?");
822 }
823
824 query.append(" ");
825
826 Query q = session.createQuery(query.toString());
827
828 QueryPos qPos = QueryPos.getInstance(q);
829
830 if (buildNamespace != null) {
831 qPos.add(buildNamespace);
832 }
833
834 Long count = null;
835
836 Iterator<Long> itr = q.list().iterator();
837
838 if (itr.hasNext()) {
839 count = itr.next();
840 }
841
842 if (count == null) {
843 count = new Long(0);
844 }
845
846 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
847 finderClassName, finderMethodName, finderParams,
848 finderArgs, count);
849
850 return count.intValue();
851 }
852 catch (Exception e) {
853 throw processException(e);
854 }
855 finally {
856 closeSession(session);
857 }
858 }
859 else {
860 return ((Long)result).intValue();
861 }
862 }
863
864 public int countByBNS_BNU(String buildNamespace, long buildNumber)
865 throws SystemException {
866 boolean finderClassNameCacheEnabled = ServiceComponentModelImpl.CACHE_ENABLED;
867 String finderClassName = ServiceComponent.class.getName();
868 String finderMethodName = "countByBNS_BNU";
869 String[] finderParams = new String[] {
870 String.class.getName(), Long.class.getName()
871 };
872 Object[] finderArgs = new Object[] { buildNamespace, new Long(buildNumber) };
873
874 Object result = null;
875
876 if (finderClassNameCacheEnabled) {
877 result = FinderCacheUtil.getResult(finderClassName,
878 finderMethodName, finderParams, finderArgs, this);
879 }
880
881 if (result == null) {
882 Session session = null;
883
884 try {
885 session = openSession();
886
887 StringBuilder query = new StringBuilder();
888
889 query.append("SELECT COUNT(*) ");
890 query.append(
891 "FROM com.liferay.portal.model.ServiceComponent WHERE ");
892
893 if (buildNamespace == null) {
894 query.append("buildNamespace IS NULL");
895 }
896 else {
897 query.append("buildNamespace = ?");
898 }
899
900 query.append(" AND ");
901
902 query.append("buildNumber = ?");
903
904 query.append(" ");
905
906 Query q = session.createQuery(query.toString());
907
908 QueryPos qPos = QueryPos.getInstance(q);
909
910 if (buildNamespace != null) {
911 qPos.add(buildNamespace);
912 }
913
914 qPos.add(buildNumber);
915
916 Long count = null;
917
918 Iterator<Long> itr = q.list().iterator();
919
920 if (itr.hasNext()) {
921 count = itr.next();
922 }
923
924 if (count == null) {
925 count = new Long(0);
926 }
927
928 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
929 finderClassName, finderMethodName, finderParams,
930 finderArgs, count);
931
932 return count.intValue();
933 }
934 catch (Exception e) {
935 throw processException(e);
936 }
937 finally {
938 closeSession(session);
939 }
940 }
941 else {
942 return ((Long)result).intValue();
943 }
944 }
945
946 public int countAll() throws SystemException {
947 boolean finderClassNameCacheEnabled = ServiceComponentModelImpl.CACHE_ENABLED;
948 String finderClassName = ServiceComponent.class.getName();
949 String finderMethodName = "countAll";
950 String[] finderParams = new String[] { };
951 Object[] finderArgs = new Object[] { };
952
953 Object result = null;
954
955 if (finderClassNameCacheEnabled) {
956 result = FinderCacheUtil.getResult(finderClassName,
957 finderMethodName, finderParams, finderArgs, this);
958 }
959
960 if (result == null) {
961 Session session = null;
962
963 try {
964 session = openSession();
965
966 Query q = session.createQuery(
967 "SELECT COUNT(*) FROM com.liferay.portal.model.ServiceComponent");
968
969 Long count = null;
970
971 Iterator<Long> itr = q.list().iterator();
972
973 if (itr.hasNext()) {
974 count = itr.next();
975 }
976
977 if (count == null) {
978 count = new Long(0);
979 }
980
981 FinderCacheUtil.putResult(finderClassNameCacheEnabled,
982 finderClassName, finderMethodName, finderParams,
983 finderArgs, count);
984
985 return count.intValue();
986 }
987 catch (Exception e) {
988 throw processException(e);
989 }
990 finally {
991 closeSession(session);
992 }
993 }
994 else {
995 return ((Long)result).intValue();
996 }
997 }
998
999 public void afterPropertiesSet() {
1000 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1001 com.liferay.portal.util.PropsUtil.get(
1002 "value.object.listener.com.liferay.portal.model.ServiceComponent")));
1003
1004 if (listenerClassNames.length > 0) {
1005 try {
1006 List<ModelListener> listenersList = new ArrayList<ModelListener>();
1007
1008 for (String listenerClassName : listenerClassNames) {
1009 listenersList.add((ModelListener)Class.forName(
1010 listenerClassName).newInstance());
1011 }
1012
1013 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
1014 }
1015 catch (Exception e) {
1016 _log.error(e);
1017 }
1018 }
1019 }
1020
1021 private static Log _log = LogFactoryUtil.getLog(ServiceComponentPersistenceImpl.class);
1022}