1
14
15 package com.liferay.portal.service.persistence;
16
17 import com.liferay.portal.NoSuchModelException;
18 import com.liferay.portal.NoSuchWorkflowDefinitionLinkException;
19 import com.liferay.portal.kernel.annotation.BeanReference;
20 import com.liferay.portal.kernel.cache.CacheRegistry;
21 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
22 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
23 import com.liferay.portal.kernel.dao.orm.FinderPath;
24 import com.liferay.portal.kernel.dao.orm.Query;
25 import com.liferay.portal.kernel.dao.orm.QueryPos;
26 import com.liferay.portal.kernel.dao.orm.QueryUtil;
27 import com.liferay.portal.kernel.dao.orm.Session;
28 import com.liferay.portal.kernel.exception.SystemException;
29 import com.liferay.portal.kernel.log.Log;
30 import com.liferay.portal.kernel.log.LogFactoryUtil;
31 import com.liferay.portal.kernel.util.GetterUtil;
32 import com.liferay.portal.kernel.util.InstanceFactory;
33 import com.liferay.portal.kernel.util.OrderByComparator;
34 import com.liferay.portal.kernel.util.StringBundler;
35 import com.liferay.portal.kernel.util.StringPool;
36 import com.liferay.portal.kernel.util.StringUtil;
37 import com.liferay.portal.model.ModelListener;
38 import com.liferay.portal.model.WorkflowDefinitionLink;
39 import com.liferay.portal.model.impl.WorkflowDefinitionLinkImpl;
40 import com.liferay.portal.model.impl.WorkflowDefinitionLinkModelImpl;
41 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
42
43 import java.io.Serializable;
44
45 import java.util.ArrayList;
46 import java.util.Collections;
47 import java.util.List;
48
49
62 public class WorkflowDefinitionLinkPersistenceImpl extends BasePersistenceImpl<WorkflowDefinitionLink>
63 implements WorkflowDefinitionLinkPersistence {
64 public static final String FINDER_CLASS_NAME_ENTITY = WorkflowDefinitionLinkImpl.class.getName();
65 public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
66 ".List";
67 public static final FinderPath FINDER_PATH_FIND_BY_COMPANYID = new FinderPath(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
68 WorkflowDefinitionLinkModelImpl.FINDER_CACHE_ENABLED,
69 FINDER_CLASS_NAME_LIST, "findByCompanyId",
70 new String[] {
71 Long.class.getName(),
72
73 "java.lang.Integer", "java.lang.Integer",
74 "com.liferay.portal.kernel.util.OrderByComparator"
75 });
76 public static final FinderPath FINDER_PATH_COUNT_BY_COMPANYID = new FinderPath(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
77 WorkflowDefinitionLinkModelImpl.FINDER_CACHE_ENABLED,
78 FINDER_CLASS_NAME_LIST, "countByCompanyId",
79 new String[] { Long.class.getName() });
80 public static final FinderPath FINDER_PATH_FETCH_BY_G_C_C = new FinderPath(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
81 WorkflowDefinitionLinkModelImpl.FINDER_CACHE_ENABLED,
82 FINDER_CLASS_NAME_ENTITY, "fetchByG_C_C",
83 new String[] {
84 Long.class.getName(), Long.class.getName(), Long.class.getName()
85 });
86 public static final FinderPath FINDER_PATH_COUNT_BY_G_C_C = new FinderPath(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
87 WorkflowDefinitionLinkModelImpl.FINDER_CACHE_ENABLED,
88 FINDER_CLASS_NAME_LIST, "countByG_C_C",
89 new String[] {
90 Long.class.getName(), Long.class.getName(), Long.class.getName()
91 });
92 public static final FinderPath FINDER_PATH_FIND_BY_C_W_W = new FinderPath(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
93 WorkflowDefinitionLinkModelImpl.FINDER_CACHE_ENABLED,
94 FINDER_CLASS_NAME_LIST, "findByC_W_W",
95 new String[] {
96 Long.class.getName(), String.class.getName(),
97 Integer.class.getName(),
98
99 "java.lang.Integer", "java.lang.Integer",
100 "com.liferay.portal.kernel.util.OrderByComparator"
101 });
102 public static final FinderPath FINDER_PATH_COUNT_BY_C_W_W = new FinderPath(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
103 WorkflowDefinitionLinkModelImpl.FINDER_CACHE_ENABLED,
104 FINDER_CLASS_NAME_LIST, "countByC_W_W",
105 new String[] {
106 Long.class.getName(), String.class.getName(),
107 Integer.class.getName()
108 });
109 public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
110 WorkflowDefinitionLinkModelImpl.FINDER_CACHE_ENABLED,
111 FINDER_CLASS_NAME_LIST, "findAll", new String[0]);
112 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
113 WorkflowDefinitionLinkModelImpl.FINDER_CACHE_ENABLED,
114 FINDER_CLASS_NAME_LIST, "countAll", new String[0]);
115
116 public void cacheResult(WorkflowDefinitionLink workflowDefinitionLink) {
117 EntityCacheUtil.putResult(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
118 WorkflowDefinitionLinkImpl.class,
119 workflowDefinitionLink.getPrimaryKey(), workflowDefinitionLink);
120
121 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_C_C,
122 new Object[] {
123 new Long(workflowDefinitionLink.getGroupId()),
124 new Long(workflowDefinitionLink.getCompanyId()),
125 new Long(workflowDefinitionLink.getClassNameId())
126 }, workflowDefinitionLink);
127 }
128
129 public void cacheResult(
130 List<WorkflowDefinitionLink> workflowDefinitionLinks) {
131 for (WorkflowDefinitionLink workflowDefinitionLink : workflowDefinitionLinks) {
132 if (EntityCacheUtil.getResult(
133 WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
134 WorkflowDefinitionLinkImpl.class,
135 workflowDefinitionLink.getPrimaryKey(), this) == null) {
136 cacheResult(workflowDefinitionLink);
137 }
138 }
139 }
140
141 public void clearCache() {
142 CacheRegistry.clear(WorkflowDefinitionLinkImpl.class.getName());
143 EntityCacheUtil.clearCache(WorkflowDefinitionLinkImpl.class.getName());
144 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
145 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
146 }
147
148 public void clearCache(WorkflowDefinitionLink workflowDefinitionLink) {
149 EntityCacheUtil.removeResult(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
150 WorkflowDefinitionLinkImpl.class,
151 workflowDefinitionLink.getPrimaryKey());
152
153 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_C_C,
154 new Object[] {
155 new Long(workflowDefinitionLink.getGroupId()),
156 new Long(workflowDefinitionLink.getCompanyId()),
157 new Long(workflowDefinitionLink.getClassNameId())
158 });
159 }
160
161 public WorkflowDefinitionLink create(long workflowDefinitionLinkId) {
162 WorkflowDefinitionLink workflowDefinitionLink = new WorkflowDefinitionLinkImpl();
163
164 workflowDefinitionLink.setNew(true);
165 workflowDefinitionLink.setPrimaryKey(workflowDefinitionLinkId);
166
167 return workflowDefinitionLink;
168 }
169
170 public WorkflowDefinitionLink remove(Serializable primaryKey)
171 throws NoSuchModelException, SystemException {
172 return remove(((Long)primaryKey).longValue());
173 }
174
175 public WorkflowDefinitionLink remove(long workflowDefinitionLinkId)
176 throws NoSuchWorkflowDefinitionLinkException, SystemException {
177 Session session = null;
178
179 try {
180 session = openSession();
181
182 WorkflowDefinitionLink workflowDefinitionLink = (WorkflowDefinitionLink)session.get(WorkflowDefinitionLinkImpl.class,
183 new Long(workflowDefinitionLinkId));
184
185 if (workflowDefinitionLink == null) {
186 if (_log.isWarnEnabled()) {
187 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
188 workflowDefinitionLinkId);
189 }
190
191 throw new NoSuchWorkflowDefinitionLinkException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
192 workflowDefinitionLinkId);
193 }
194
195 return remove(workflowDefinitionLink);
196 }
197 catch (NoSuchWorkflowDefinitionLinkException nsee) {
198 throw nsee;
199 }
200 catch (Exception e) {
201 throw processException(e);
202 }
203 finally {
204 closeSession(session);
205 }
206 }
207
208 public WorkflowDefinitionLink remove(
209 WorkflowDefinitionLink workflowDefinitionLink)
210 throws SystemException {
211 for (ModelListener<WorkflowDefinitionLink> listener : listeners) {
212 listener.onBeforeRemove(workflowDefinitionLink);
213 }
214
215 workflowDefinitionLink = removeImpl(workflowDefinitionLink);
216
217 for (ModelListener<WorkflowDefinitionLink> listener : listeners) {
218 listener.onAfterRemove(workflowDefinitionLink);
219 }
220
221 return workflowDefinitionLink;
222 }
223
224 protected WorkflowDefinitionLink removeImpl(
225 WorkflowDefinitionLink workflowDefinitionLink)
226 throws SystemException {
227 workflowDefinitionLink = toUnwrappedModel(workflowDefinitionLink);
228
229 Session session = null;
230
231 try {
232 session = openSession();
233
234 if (workflowDefinitionLink.isCachedModel() ||
235 BatchSessionUtil.isEnabled()) {
236 Object staleObject = session.get(WorkflowDefinitionLinkImpl.class,
237 workflowDefinitionLink.getPrimaryKeyObj());
238
239 if (staleObject != null) {
240 session.evict(staleObject);
241 }
242 }
243
244 session.delete(workflowDefinitionLink);
245
246 session.flush();
247 }
248 catch (Exception e) {
249 throw processException(e);
250 }
251 finally {
252 closeSession(session);
253 }
254
255 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
256
257 WorkflowDefinitionLinkModelImpl workflowDefinitionLinkModelImpl = (WorkflowDefinitionLinkModelImpl)workflowDefinitionLink;
258
259 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_C_C,
260 new Object[] {
261 new Long(workflowDefinitionLinkModelImpl.getOriginalGroupId()),
262 new Long(workflowDefinitionLinkModelImpl.getOriginalCompanyId()),
263 new Long(workflowDefinitionLinkModelImpl.getOriginalClassNameId())
264 });
265
266 EntityCacheUtil.removeResult(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
267 WorkflowDefinitionLinkImpl.class,
268 workflowDefinitionLink.getPrimaryKey());
269
270 return workflowDefinitionLink;
271 }
272
273 public WorkflowDefinitionLink updateImpl(
274 com.liferay.portal.model.WorkflowDefinitionLink workflowDefinitionLink,
275 boolean merge) throws SystemException {
276 workflowDefinitionLink = toUnwrappedModel(workflowDefinitionLink);
277
278 boolean isNew = workflowDefinitionLink.isNew();
279
280 WorkflowDefinitionLinkModelImpl workflowDefinitionLinkModelImpl = (WorkflowDefinitionLinkModelImpl)workflowDefinitionLink;
281
282 Session session = null;
283
284 try {
285 session = openSession();
286
287 BatchSessionUtil.update(session, workflowDefinitionLink, merge);
288
289 workflowDefinitionLink.setNew(false);
290 }
291 catch (Exception e) {
292 throw processException(e);
293 }
294 finally {
295 closeSession(session);
296 }
297
298 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
299
300 EntityCacheUtil.putResult(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
301 WorkflowDefinitionLinkImpl.class,
302 workflowDefinitionLink.getPrimaryKey(), workflowDefinitionLink);
303
304 if (!isNew &&
305 ((workflowDefinitionLink.getGroupId() != workflowDefinitionLinkModelImpl.getOriginalGroupId()) ||
306 (workflowDefinitionLink.getCompanyId() != workflowDefinitionLinkModelImpl.getOriginalCompanyId()) ||
307 (workflowDefinitionLink.getClassNameId() != workflowDefinitionLinkModelImpl.getOriginalClassNameId()))) {
308 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_C_C,
309 new Object[] {
310 new Long(workflowDefinitionLinkModelImpl.getOriginalGroupId()),
311 new Long(workflowDefinitionLinkModelImpl.getOriginalCompanyId()),
312 new Long(workflowDefinitionLinkModelImpl.getOriginalClassNameId())
313 });
314 }
315
316 if (isNew ||
317 ((workflowDefinitionLink.getGroupId() != workflowDefinitionLinkModelImpl.getOriginalGroupId()) ||
318 (workflowDefinitionLink.getCompanyId() != workflowDefinitionLinkModelImpl.getOriginalCompanyId()) ||
319 (workflowDefinitionLink.getClassNameId() != workflowDefinitionLinkModelImpl.getOriginalClassNameId()))) {
320 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_C_C,
321 new Object[] {
322 new Long(workflowDefinitionLink.getGroupId()),
323 new Long(workflowDefinitionLink.getCompanyId()),
324 new Long(workflowDefinitionLink.getClassNameId())
325 }, workflowDefinitionLink);
326 }
327
328 return workflowDefinitionLink;
329 }
330
331 protected WorkflowDefinitionLink toUnwrappedModel(
332 WorkflowDefinitionLink workflowDefinitionLink) {
333 if (workflowDefinitionLink instanceof WorkflowDefinitionLinkImpl) {
334 return workflowDefinitionLink;
335 }
336
337 WorkflowDefinitionLinkImpl workflowDefinitionLinkImpl = new WorkflowDefinitionLinkImpl();
338
339 workflowDefinitionLinkImpl.setNew(workflowDefinitionLink.isNew());
340 workflowDefinitionLinkImpl.setPrimaryKey(workflowDefinitionLink.getPrimaryKey());
341
342 workflowDefinitionLinkImpl.setWorkflowDefinitionLinkId(workflowDefinitionLink.getWorkflowDefinitionLinkId());
343 workflowDefinitionLinkImpl.setGroupId(workflowDefinitionLink.getGroupId());
344 workflowDefinitionLinkImpl.setCompanyId(workflowDefinitionLink.getCompanyId());
345 workflowDefinitionLinkImpl.setUserId(workflowDefinitionLink.getUserId());
346 workflowDefinitionLinkImpl.setUserName(workflowDefinitionLink.getUserName());
347 workflowDefinitionLinkImpl.setCreateDate(workflowDefinitionLink.getCreateDate());
348 workflowDefinitionLinkImpl.setModifiedDate(workflowDefinitionLink.getModifiedDate());
349 workflowDefinitionLinkImpl.setClassNameId(workflowDefinitionLink.getClassNameId());
350 workflowDefinitionLinkImpl.setWorkflowDefinitionName(workflowDefinitionLink.getWorkflowDefinitionName());
351 workflowDefinitionLinkImpl.setWorkflowDefinitionVersion(workflowDefinitionLink.getWorkflowDefinitionVersion());
352
353 return workflowDefinitionLinkImpl;
354 }
355
356 public WorkflowDefinitionLink findByPrimaryKey(Serializable primaryKey)
357 throws NoSuchModelException, SystemException {
358 return findByPrimaryKey(((Long)primaryKey).longValue());
359 }
360
361 public WorkflowDefinitionLink findByPrimaryKey(
362 long workflowDefinitionLinkId)
363 throws NoSuchWorkflowDefinitionLinkException, SystemException {
364 WorkflowDefinitionLink workflowDefinitionLink = fetchByPrimaryKey(workflowDefinitionLinkId);
365
366 if (workflowDefinitionLink == null) {
367 if (_log.isWarnEnabled()) {
368 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
369 workflowDefinitionLinkId);
370 }
371
372 throw new NoSuchWorkflowDefinitionLinkException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
373 workflowDefinitionLinkId);
374 }
375
376 return workflowDefinitionLink;
377 }
378
379 public WorkflowDefinitionLink fetchByPrimaryKey(Serializable primaryKey)
380 throws SystemException {
381 return fetchByPrimaryKey(((Long)primaryKey).longValue());
382 }
383
384 public WorkflowDefinitionLink fetchByPrimaryKey(
385 long workflowDefinitionLinkId) throws SystemException {
386 WorkflowDefinitionLink workflowDefinitionLink = (WorkflowDefinitionLink)EntityCacheUtil.getResult(WorkflowDefinitionLinkModelImpl.ENTITY_CACHE_ENABLED,
387 WorkflowDefinitionLinkImpl.class, workflowDefinitionLinkId, this);
388
389 if (workflowDefinitionLink == null) {
390 Session session = null;
391
392 try {
393 session = openSession();
394
395 workflowDefinitionLink = (WorkflowDefinitionLink)session.get(WorkflowDefinitionLinkImpl.class,
396 new Long(workflowDefinitionLinkId));
397 }
398 catch (Exception e) {
399 throw processException(e);
400 }
401 finally {
402 if (workflowDefinitionLink != null) {
403 cacheResult(workflowDefinitionLink);
404 }
405
406 closeSession(session);
407 }
408 }
409
410 return workflowDefinitionLink;
411 }
412
413 public List<WorkflowDefinitionLink> findByCompanyId(long companyId)
414 throws SystemException {
415 return findByCompanyId(companyId, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
416 null);
417 }
418
419 public List<WorkflowDefinitionLink> findByCompanyId(long companyId,
420 int start, int end) throws SystemException {
421 return findByCompanyId(companyId, start, end, null);
422 }
423
424 public List<WorkflowDefinitionLink> findByCompanyId(long companyId,
425 int start, int end, OrderByComparator orderByComparator)
426 throws SystemException {
427 Object[] finderArgs = new Object[] {
428 new Long(companyId),
429
430 String.valueOf(start), String.valueOf(end),
431 String.valueOf(orderByComparator)
432 };
433
434 List<WorkflowDefinitionLink> list = (List<WorkflowDefinitionLink>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_COMPANYID,
435 finderArgs, this);
436
437 if (list == null) {
438 Session session = null;
439
440 try {
441 session = openSession();
442
443 StringBundler query = null;
444
445 if (orderByComparator != null) {
446 query = new StringBundler(3 +
447 (orderByComparator.getOrderByFields().length * 3));
448 }
449 else {
450 query = new StringBundler(3);
451 }
452
453 query.append(_SQL_SELECT_WORKFLOWDEFINITIONLINK_WHERE);
454
455 query.append(_FINDER_COLUMN_COMPANYID_COMPANYID_2);
456
457 if (orderByComparator != null) {
458 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
459 orderByComparator);
460 }
461
462 else {
463 query.append(WorkflowDefinitionLinkModelImpl.ORDER_BY_JPQL);
464 }
465
466 String sql = query.toString();
467
468 Query q = session.createQuery(sql);
469
470 QueryPos qPos = QueryPos.getInstance(q);
471
472 qPos.add(companyId);
473
474 list = (List<WorkflowDefinitionLink>)QueryUtil.list(q,
475 getDialect(), start, end);
476 }
477 catch (Exception e) {
478 throw processException(e);
479 }
480 finally {
481 if (list == null) {
482 list = new ArrayList<WorkflowDefinitionLink>();
483 }
484
485 cacheResult(list);
486
487 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_COMPANYID,
488 finderArgs, list);
489
490 closeSession(session);
491 }
492 }
493
494 return list;
495 }
496
497 public WorkflowDefinitionLink findByCompanyId_First(long companyId,
498 OrderByComparator orderByComparator)
499 throws NoSuchWorkflowDefinitionLinkException, SystemException {
500 List<WorkflowDefinitionLink> list = findByCompanyId(companyId, 0, 1,
501 orderByComparator);
502
503 if (list.isEmpty()) {
504 StringBundler msg = new StringBundler(4);
505
506 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
507
508 msg.append("companyId=");
509 msg.append(companyId);
510
511 msg.append(StringPool.CLOSE_CURLY_BRACE);
512
513 throw new NoSuchWorkflowDefinitionLinkException(msg.toString());
514 }
515 else {
516 return list.get(0);
517 }
518 }
519
520 public WorkflowDefinitionLink findByCompanyId_Last(long companyId,
521 OrderByComparator orderByComparator)
522 throws NoSuchWorkflowDefinitionLinkException, SystemException {
523 int count = countByCompanyId(companyId);
524
525 List<WorkflowDefinitionLink> list = findByCompanyId(companyId,
526 count - 1, count, orderByComparator);
527
528 if (list.isEmpty()) {
529 StringBundler msg = new StringBundler(4);
530
531 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
532
533 msg.append("companyId=");
534 msg.append(companyId);
535
536 msg.append(StringPool.CLOSE_CURLY_BRACE);
537
538 throw new NoSuchWorkflowDefinitionLinkException(msg.toString());
539 }
540 else {
541 return list.get(0);
542 }
543 }
544
545 public WorkflowDefinitionLink[] findByCompanyId_PrevAndNext(
546 long workflowDefinitionLinkId, long companyId,
547 OrderByComparator orderByComparator)
548 throws NoSuchWorkflowDefinitionLinkException, SystemException {
549 WorkflowDefinitionLink workflowDefinitionLink = findByPrimaryKey(workflowDefinitionLinkId);
550
551 Session session = null;
552
553 try {
554 session = openSession();
555
556 WorkflowDefinitionLink[] array = new WorkflowDefinitionLinkImpl[3];
557
558 array[0] = getByCompanyId_PrevAndNext(session,
559 workflowDefinitionLink, companyId, orderByComparator, true);
560
561 array[1] = workflowDefinitionLink;
562
563 array[2] = getByCompanyId_PrevAndNext(session,
564 workflowDefinitionLink, companyId, orderByComparator, false);
565
566 return array;
567 }
568 catch (Exception e) {
569 throw processException(e);
570 }
571 finally {
572 closeSession(session);
573 }
574 }
575
576 protected WorkflowDefinitionLink getByCompanyId_PrevAndNext(
577 Session session, WorkflowDefinitionLink workflowDefinitionLink,
578 long companyId, OrderByComparator orderByComparator, boolean previous) {
579 StringBundler query = null;
580
581 if (orderByComparator != null) {
582 query = new StringBundler(6 +
583 (orderByComparator.getOrderByFields().length * 6));
584 }
585 else {
586 query = new StringBundler(3);
587 }
588
589 query.append(_SQL_SELECT_WORKFLOWDEFINITIONLINK_WHERE);
590
591 query.append(_FINDER_COLUMN_COMPANYID_COMPANYID_2);
592
593 if (orderByComparator != null) {
594 String[] orderByFields = orderByComparator.getOrderByFields();
595
596 if (orderByFields.length > 0) {
597 query.append(WHERE_AND);
598 }
599
600 for (int i = 0; i < orderByFields.length; i++) {
601 query.append(_ORDER_BY_ENTITY_ALIAS);
602 query.append(orderByFields[i]);
603
604 if ((i + 1) < orderByFields.length) {
605 if (orderByComparator.isAscending() ^ previous) {
606 query.append(WHERE_GREATER_THAN_HAS_NEXT);
607 }
608 else {
609 query.append(WHERE_LESSER_THAN_HAS_NEXT);
610 }
611 }
612 else {
613 if (orderByComparator.isAscending() ^ previous) {
614 query.append(WHERE_GREATER_THAN);
615 }
616 else {
617 query.append(WHERE_LESSER_THAN);
618 }
619 }
620 }
621
622 query.append(ORDER_BY_CLAUSE);
623
624 for (int i = 0; i < orderByFields.length; i++) {
625 query.append(_ORDER_BY_ENTITY_ALIAS);
626 query.append(orderByFields[i]);
627
628 if ((i + 1) < orderByFields.length) {
629 if (orderByComparator.isAscending() ^ previous) {
630 query.append(ORDER_BY_ASC_HAS_NEXT);
631 }
632 else {
633 query.append(ORDER_BY_DESC_HAS_NEXT);
634 }
635 }
636 else {
637 if (orderByComparator.isAscending() ^ previous) {
638 query.append(ORDER_BY_ASC);
639 }
640 else {
641 query.append(ORDER_BY_DESC);
642 }
643 }
644 }
645 }
646
647 else {
648 query.append(WorkflowDefinitionLinkModelImpl.ORDER_BY_JPQL);
649 }
650
651 String sql = query.toString();
652
653 Query q = session.createQuery(sql);
654
655 q.setFirstResult(0);
656 q.setMaxResults(2);
657
658 QueryPos qPos = QueryPos.getInstance(q);
659
660 qPos.add(companyId);
661
662 if (orderByComparator != null) {
663 Object[] values = orderByComparator.getOrderByValues(workflowDefinitionLink);
664
665 for (Object value : values) {
666 qPos.add(value);
667 }
668 }
669
670 List<WorkflowDefinitionLink> list = q.list();
671
672 if (list.size() == 2) {
673 return list.get(1);
674 }
675 else {
676 return null;
677 }
678 }
679
680 public WorkflowDefinitionLink findByG_C_C(long groupId, long companyId,
681 long classNameId)
682 throws NoSuchWorkflowDefinitionLinkException, SystemException {
683 WorkflowDefinitionLink workflowDefinitionLink = fetchByG_C_C(groupId,
684 companyId, classNameId);
685
686 if (workflowDefinitionLink == null) {
687 StringBundler msg = new StringBundler(8);
688
689 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
690
691 msg.append("groupId=");
692 msg.append(groupId);
693
694 msg.append(", companyId=");
695 msg.append(companyId);
696
697 msg.append(", classNameId=");
698 msg.append(classNameId);
699
700 msg.append(StringPool.CLOSE_CURLY_BRACE);
701
702 if (_log.isWarnEnabled()) {
703 _log.warn(msg.toString());
704 }
705
706 throw new NoSuchWorkflowDefinitionLinkException(msg.toString());
707 }
708
709 return workflowDefinitionLink;
710 }
711
712 public WorkflowDefinitionLink fetchByG_C_C(long groupId, long companyId,
713 long classNameId) throws SystemException {
714 return fetchByG_C_C(groupId, companyId, classNameId, true);
715 }
716
717 public WorkflowDefinitionLink fetchByG_C_C(long groupId, long companyId,
718 long classNameId, boolean retrieveFromCache) throws SystemException {
719 Object[] finderArgs = new Object[] {
720 new Long(groupId), new Long(companyId), new Long(classNameId)
721 };
722
723 Object result = null;
724
725 if (retrieveFromCache) {
726 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_G_C_C,
727 finderArgs, this);
728 }
729
730 if (result == null) {
731 Session session = null;
732
733 try {
734 session = openSession();
735
736 StringBundler query = new StringBundler(5);
737
738 query.append(_SQL_SELECT_WORKFLOWDEFINITIONLINK_WHERE);
739
740 query.append(_FINDER_COLUMN_G_C_C_GROUPID_2);
741
742 query.append(_FINDER_COLUMN_G_C_C_COMPANYID_2);
743
744 query.append(_FINDER_COLUMN_G_C_C_CLASSNAMEID_2);
745
746 query.append(WorkflowDefinitionLinkModelImpl.ORDER_BY_JPQL);
747
748 String sql = query.toString();
749
750 Query q = session.createQuery(sql);
751
752 QueryPos qPos = QueryPos.getInstance(q);
753
754 qPos.add(groupId);
755
756 qPos.add(companyId);
757
758 qPos.add(classNameId);
759
760 List<WorkflowDefinitionLink> list = q.list();
761
762 result = list;
763
764 WorkflowDefinitionLink workflowDefinitionLink = null;
765
766 if (list.isEmpty()) {
767 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_C_C,
768 finderArgs, list);
769 }
770 else {
771 workflowDefinitionLink = list.get(0);
772
773 cacheResult(workflowDefinitionLink);
774
775 if ((workflowDefinitionLink.getGroupId() != groupId) ||
776 (workflowDefinitionLink.getCompanyId() != companyId) ||
777 (workflowDefinitionLink.getClassNameId() != classNameId)) {
778 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_C_C,
779 finderArgs, workflowDefinitionLink);
780 }
781 }
782
783 return workflowDefinitionLink;
784 }
785 catch (Exception e) {
786 throw processException(e);
787 }
788 finally {
789 if (result == null) {
790 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_C_C,
791 finderArgs, new ArrayList<WorkflowDefinitionLink>());
792 }
793
794 closeSession(session);
795 }
796 }
797 else {
798 if (result instanceof List<?>) {
799 return null;
800 }
801 else {
802 return (WorkflowDefinitionLink)result;
803 }
804 }
805 }
806
807 public List<WorkflowDefinitionLink> findByC_W_W(long companyId,
808 String workflowDefinitionName, int workflowDefinitionVersion)
809 throws SystemException {
810 return findByC_W_W(companyId, workflowDefinitionName,
811 workflowDefinitionVersion, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
812 null);
813 }
814
815 public List<WorkflowDefinitionLink> findByC_W_W(long companyId,
816 String workflowDefinitionName, int workflowDefinitionVersion,
817 int start, int end) throws SystemException {
818 return findByC_W_W(companyId, workflowDefinitionName,
819 workflowDefinitionVersion, start, end, null);
820 }
821
822 public List<WorkflowDefinitionLink> findByC_W_W(long companyId,
823 String workflowDefinitionName, int workflowDefinitionVersion,
824 int start, int end, OrderByComparator orderByComparator)
825 throws SystemException {
826 Object[] finderArgs = new Object[] {
827 new Long(companyId),
828
829 workflowDefinitionName, new Integer(workflowDefinitionVersion),
830
831 String.valueOf(start), String.valueOf(end),
832 String.valueOf(orderByComparator)
833 };
834
835 List<WorkflowDefinitionLink> list = (List<WorkflowDefinitionLink>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_W_W,
836 finderArgs, this);
837
838 if (list == null) {
839 Session session = null;
840
841 try {
842 session = openSession();
843
844 StringBundler query = null;
845
846 if (orderByComparator != null) {
847 query = new StringBundler(5 +
848 (orderByComparator.getOrderByFields().length * 3));
849 }
850 else {
851 query = new StringBundler(5);
852 }
853
854 query.append(_SQL_SELECT_WORKFLOWDEFINITIONLINK_WHERE);
855
856 query.append(_FINDER_COLUMN_C_W_W_COMPANYID_2);
857
858 if (workflowDefinitionName == null) {
859 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_1);
860 }
861 else {
862 if (workflowDefinitionName.equals(StringPool.BLANK)) {
863 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_3);
864 }
865 else {
866 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_2);
867 }
868 }
869
870 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONVERSION_2);
871
872 if (orderByComparator != null) {
873 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
874 orderByComparator);
875 }
876
877 else {
878 query.append(WorkflowDefinitionLinkModelImpl.ORDER_BY_JPQL);
879 }
880
881 String sql = query.toString();
882
883 Query q = session.createQuery(sql);
884
885 QueryPos qPos = QueryPos.getInstance(q);
886
887 qPos.add(companyId);
888
889 if (workflowDefinitionName != null) {
890 qPos.add(workflowDefinitionName);
891 }
892
893 qPos.add(workflowDefinitionVersion);
894
895 list = (List<WorkflowDefinitionLink>)QueryUtil.list(q,
896 getDialect(), start, end);
897 }
898 catch (Exception e) {
899 throw processException(e);
900 }
901 finally {
902 if (list == null) {
903 list = new ArrayList<WorkflowDefinitionLink>();
904 }
905
906 cacheResult(list);
907
908 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_W_W,
909 finderArgs, list);
910
911 closeSession(session);
912 }
913 }
914
915 return list;
916 }
917
918 public WorkflowDefinitionLink findByC_W_W_First(long companyId,
919 String workflowDefinitionName, int workflowDefinitionVersion,
920 OrderByComparator orderByComparator)
921 throws NoSuchWorkflowDefinitionLinkException, SystemException {
922 List<WorkflowDefinitionLink> list = findByC_W_W(companyId,
923 workflowDefinitionName, workflowDefinitionVersion, 0, 1,
924 orderByComparator);
925
926 if (list.isEmpty()) {
927 StringBundler msg = new StringBundler(8);
928
929 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
930
931 msg.append("companyId=");
932 msg.append(companyId);
933
934 msg.append(", workflowDefinitionName=");
935 msg.append(workflowDefinitionName);
936
937 msg.append(", workflowDefinitionVersion=");
938 msg.append(workflowDefinitionVersion);
939
940 msg.append(StringPool.CLOSE_CURLY_BRACE);
941
942 throw new NoSuchWorkflowDefinitionLinkException(msg.toString());
943 }
944 else {
945 return list.get(0);
946 }
947 }
948
949 public WorkflowDefinitionLink findByC_W_W_Last(long companyId,
950 String workflowDefinitionName, int workflowDefinitionVersion,
951 OrderByComparator orderByComparator)
952 throws NoSuchWorkflowDefinitionLinkException, SystemException {
953 int count = countByC_W_W(companyId, workflowDefinitionName,
954 workflowDefinitionVersion);
955
956 List<WorkflowDefinitionLink> list = findByC_W_W(companyId,
957 workflowDefinitionName, workflowDefinitionVersion, count - 1,
958 count, orderByComparator);
959
960 if (list.isEmpty()) {
961 StringBundler msg = new StringBundler(8);
962
963 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
964
965 msg.append("companyId=");
966 msg.append(companyId);
967
968 msg.append(", workflowDefinitionName=");
969 msg.append(workflowDefinitionName);
970
971 msg.append(", workflowDefinitionVersion=");
972 msg.append(workflowDefinitionVersion);
973
974 msg.append(StringPool.CLOSE_CURLY_BRACE);
975
976 throw new NoSuchWorkflowDefinitionLinkException(msg.toString());
977 }
978 else {
979 return list.get(0);
980 }
981 }
982
983 public WorkflowDefinitionLink[] findByC_W_W_PrevAndNext(
984 long workflowDefinitionLinkId, long companyId,
985 String workflowDefinitionName, int workflowDefinitionVersion,
986 OrderByComparator orderByComparator)
987 throws NoSuchWorkflowDefinitionLinkException, SystemException {
988 WorkflowDefinitionLink workflowDefinitionLink = findByPrimaryKey(workflowDefinitionLinkId);
989
990 Session session = null;
991
992 try {
993 session = openSession();
994
995 WorkflowDefinitionLink[] array = new WorkflowDefinitionLinkImpl[3];
996
997 array[0] = getByC_W_W_PrevAndNext(session, workflowDefinitionLink,
998 companyId, workflowDefinitionName,
999 workflowDefinitionVersion, orderByComparator, true);
1000
1001 array[1] = workflowDefinitionLink;
1002
1003 array[2] = getByC_W_W_PrevAndNext(session, workflowDefinitionLink,
1004 companyId, workflowDefinitionName,
1005 workflowDefinitionVersion, orderByComparator, false);
1006
1007 return array;
1008 }
1009 catch (Exception e) {
1010 throw processException(e);
1011 }
1012 finally {
1013 closeSession(session);
1014 }
1015 }
1016
1017 protected WorkflowDefinitionLink getByC_W_W_PrevAndNext(Session session,
1018 WorkflowDefinitionLink workflowDefinitionLink, long companyId,
1019 String workflowDefinitionName, int workflowDefinitionVersion,
1020 OrderByComparator orderByComparator, boolean previous) {
1021 StringBundler query = null;
1022
1023 if (orderByComparator != null) {
1024 query = new StringBundler(6 +
1025 (orderByComparator.getOrderByFields().length * 6));
1026 }
1027 else {
1028 query = new StringBundler(3);
1029 }
1030
1031 query.append(_SQL_SELECT_WORKFLOWDEFINITIONLINK_WHERE);
1032
1033 query.append(_FINDER_COLUMN_C_W_W_COMPANYID_2);
1034
1035 if (workflowDefinitionName == null) {
1036 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_1);
1037 }
1038 else {
1039 if (workflowDefinitionName.equals(StringPool.BLANK)) {
1040 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_3);
1041 }
1042 else {
1043 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_2);
1044 }
1045 }
1046
1047 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONVERSION_2);
1048
1049 if (orderByComparator != null) {
1050 String[] orderByFields = orderByComparator.getOrderByFields();
1051
1052 if (orderByFields.length > 0) {
1053 query.append(WHERE_AND);
1054 }
1055
1056 for (int i = 0; i < orderByFields.length; i++) {
1057 query.append(_ORDER_BY_ENTITY_ALIAS);
1058 query.append(orderByFields[i]);
1059
1060 if ((i + 1) < orderByFields.length) {
1061 if (orderByComparator.isAscending() ^ previous) {
1062 query.append(WHERE_GREATER_THAN_HAS_NEXT);
1063 }
1064 else {
1065 query.append(WHERE_LESSER_THAN_HAS_NEXT);
1066 }
1067 }
1068 else {
1069 if (orderByComparator.isAscending() ^ previous) {
1070 query.append(WHERE_GREATER_THAN);
1071 }
1072 else {
1073 query.append(WHERE_LESSER_THAN);
1074 }
1075 }
1076 }
1077
1078 query.append(ORDER_BY_CLAUSE);
1079
1080 for (int i = 0; i < orderByFields.length; i++) {
1081 query.append(_ORDER_BY_ENTITY_ALIAS);
1082 query.append(orderByFields[i]);
1083
1084 if ((i + 1) < orderByFields.length) {
1085 if (orderByComparator.isAscending() ^ previous) {
1086 query.append(ORDER_BY_ASC_HAS_NEXT);
1087 }
1088 else {
1089 query.append(ORDER_BY_DESC_HAS_NEXT);
1090 }
1091 }
1092 else {
1093 if (orderByComparator.isAscending() ^ previous) {
1094 query.append(ORDER_BY_ASC);
1095 }
1096 else {
1097 query.append(ORDER_BY_DESC);
1098 }
1099 }
1100 }
1101 }
1102
1103 else {
1104 query.append(WorkflowDefinitionLinkModelImpl.ORDER_BY_JPQL);
1105 }
1106
1107 String sql = query.toString();
1108
1109 Query q = session.createQuery(sql);
1110
1111 q.setFirstResult(0);
1112 q.setMaxResults(2);
1113
1114 QueryPos qPos = QueryPos.getInstance(q);
1115
1116 qPos.add(companyId);
1117
1118 if (workflowDefinitionName != null) {
1119 qPos.add(workflowDefinitionName);
1120 }
1121
1122 qPos.add(workflowDefinitionVersion);
1123
1124 if (orderByComparator != null) {
1125 Object[] values = orderByComparator.getOrderByValues(workflowDefinitionLink);
1126
1127 for (Object value : values) {
1128 qPos.add(value);
1129 }
1130 }
1131
1132 List<WorkflowDefinitionLink> list = q.list();
1133
1134 if (list.size() == 2) {
1135 return list.get(1);
1136 }
1137 else {
1138 return null;
1139 }
1140 }
1141
1142 public List<WorkflowDefinitionLink> findAll() throws SystemException {
1143 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1144 }
1145
1146 public List<WorkflowDefinitionLink> findAll(int start, int end)
1147 throws SystemException {
1148 return findAll(start, end, null);
1149 }
1150
1151 public List<WorkflowDefinitionLink> findAll(int start, int end,
1152 OrderByComparator orderByComparator) throws SystemException {
1153 Object[] finderArgs = new Object[] {
1154 String.valueOf(start), String.valueOf(end),
1155 String.valueOf(orderByComparator)
1156 };
1157
1158 List<WorkflowDefinitionLink> list = (List<WorkflowDefinitionLink>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
1159 finderArgs, this);
1160
1161 if (list == null) {
1162 Session session = null;
1163
1164 try {
1165 session = openSession();
1166
1167 StringBundler query = null;
1168 String sql = null;
1169
1170 if (orderByComparator != null) {
1171 query = new StringBundler(2 +
1172 (orderByComparator.getOrderByFields().length * 3));
1173
1174 query.append(_SQL_SELECT_WORKFLOWDEFINITIONLINK);
1175
1176 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
1177 orderByComparator);
1178
1179 sql = query.toString();
1180 }
1181
1182 else {
1183 sql = _SQL_SELECT_WORKFLOWDEFINITIONLINK.concat(WorkflowDefinitionLinkModelImpl.ORDER_BY_JPQL);
1184 }
1185
1186 Query q = session.createQuery(sql);
1187
1188 if (orderByComparator == null) {
1189 list = (List<WorkflowDefinitionLink>)QueryUtil.list(q,
1190 getDialect(), start, end, false);
1191
1192 Collections.sort(list);
1193 }
1194 else {
1195 list = (List<WorkflowDefinitionLink>)QueryUtil.list(q,
1196 getDialect(), start, end);
1197 }
1198 }
1199 catch (Exception e) {
1200 throw processException(e);
1201 }
1202 finally {
1203 if (list == null) {
1204 list = new ArrayList<WorkflowDefinitionLink>();
1205 }
1206
1207 cacheResult(list);
1208
1209 FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
1210
1211 closeSession(session);
1212 }
1213 }
1214
1215 return list;
1216 }
1217
1218 public void removeByCompanyId(long companyId) throws SystemException {
1219 for (WorkflowDefinitionLink workflowDefinitionLink : findByCompanyId(
1220 companyId)) {
1221 remove(workflowDefinitionLink);
1222 }
1223 }
1224
1225 public void removeByG_C_C(long groupId, long companyId, long classNameId)
1226 throws NoSuchWorkflowDefinitionLinkException, SystemException {
1227 WorkflowDefinitionLink workflowDefinitionLink = findByG_C_C(groupId,
1228 companyId, classNameId);
1229
1230 remove(workflowDefinitionLink);
1231 }
1232
1233 public void removeByC_W_W(long companyId, String workflowDefinitionName,
1234 int workflowDefinitionVersion) throws SystemException {
1235 for (WorkflowDefinitionLink workflowDefinitionLink : findByC_W_W(
1236 companyId, workflowDefinitionName, workflowDefinitionVersion)) {
1237 remove(workflowDefinitionLink);
1238 }
1239 }
1240
1241 public void removeAll() throws SystemException {
1242 for (WorkflowDefinitionLink workflowDefinitionLink : findAll()) {
1243 remove(workflowDefinitionLink);
1244 }
1245 }
1246
1247 public int countByCompanyId(long companyId) throws SystemException {
1248 Object[] finderArgs = new Object[] { new Long(companyId) };
1249
1250 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_COMPANYID,
1251 finderArgs, this);
1252
1253 if (count == null) {
1254 Session session = null;
1255
1256 try {
1257 session = openSession();
1258
1259 StringBundler query = new StringBundler(2);
1260
1261 query.append(_SQL_COUNT_WORKFLOWDEFINITIONLINK_WHERE);
1262
1263 query.append(_FINDER_COLUMN_COMPANYID_COMPANYID_2);
1264
1265 String sql = query.toString();
1266
1267 Query q = session.createQuery(sql);
1268
1269 QueryPos qPos = QueryPos.getInstance(q);
1270
1271 qPos.add(companyId);
1272
1273 count = (Long)q.uniqueResult();
1274 }
1275 catch (Exception e) {
1276 throw processException(e);
1277 }
1278 finally {
1279 if (count == null) {
1280 count = Long.valueOf(0);
1281 }
1282
1283 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_COMPANYID,
1284 finderArgs, count);
1285
1286 closeSession(session);
1287 }
1288 }
1289
1290 return count.intValue();
1291 }
1292
1293 public int countByG_C_C(long groupId, long companyId, long classNameId)
1294 throws SystemException {
1295 Object[] finderArgs = new Object[] {
1296 new Long(groupId), new Long(companyId), new Long(classNameId)
1297 };
1298
1299 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_G_C_C,
1300 finderArgs, this);
1301
1302 if (count == null) {
1303 Session session = null;
1304
1305 try {
1306 session = openSession();
1307
1308 StringBundler query = new StringBundler(4);
1309
1310 query.append(_SQL_COUNT_WORKFLOWDEFINITIONLINK_WHERE);
1311
1312 query.append(_FINDER_COLUMN_G_C_C_GROUPID_2);
1313
1314 query.append(_FINDER_COLUMN_G_C_C_COMPANYID_2);
1315
1316 query.append(_FINDER_COLUMN_G_C_C_CLASSNAMEID_2);
1317
1318 String sql = query.toString();
1319
1320 Query q = session.createQuery(sql);
1321
1322 QueryPos qPos = QueryPos.getInstance(q);
1323
1324 qPos.add(groupId);
1325
1326 qPos.add(companyId);
1327
1328 qPos.add(classNameId);
1329
1330 count = (Long)q.uniqueResult();
1331 }
1332 catch (Exception e) {
1333 throw processException(e);
1334 }
1335 finally {
1336 if (count == null) {
1337 count = Long.valueOf(0);
1338 }
1339
1340 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_C_C,
1341 finderArgs, count);
1342
1343 closeSession(session);
1344 }
1345 }
1346
1347 return count.intValue();
1348 }
1349
1350 public int countByC_W_W(long companyId, String workflowDefinitionName,
1351 int workflowDefinitionVersion) throws SystemException {
1352 Object[] finderArgs = new Object[] {
1353 new Long(companyId),
1354
1355 workflowDefinitionName, new Integer(workflowDefinitionVersion)
1356 };
1357
1358 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_W_W,
1359 finderArgs, this);
1360
1361 if (count == null) {
1362 Session session = null;
1363
1364 try {
1365 session = openSession();
1366
1367 StringBundler query = new StringBundler(4);
1368
1369 query.append(_SQL_COUNT_WORKFLOWDEFINITIONLINK_WHERE);
1370
1371 query.append(_FINDER_COLUMN_C_W_W_COMPANYID_2);
1372
1373 if (workflowDefinitionName == null) {
1374 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_1);
1375 }
1376 else {
1377 if (workflowDefinitionName.equals(StringPool.BLANK)) {
1378 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_3);
1379 }
1380 else {
1381 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_2);
1382 }
1383 }
1384
1385 query.append(_FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONVERSION_2);
1386
1387 String sql = query.toString();
1388
1389 Query q = session.createQuery(sql);
1390
1391 QueryPos qPos = QueryPos.getInstance(q);
1392
1393 qPos.add(companyId);
1394
1395 if (workflowDefinitionName != null) {
1396 qPos.add(workflowDefinitionName);
1397 }
1398
1399 qPos.add(workflowDefinitionVersion);
1400
1401 count = (Long)q.uniqueResult();
1402 }
1403 catch (Exception e) {
1404 throw processException(e);
1405 }
1406 finally {
1407 if (count == null) {
1408 count = Long.valueOf(0);
1409 }
1410
1411 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_W_W,
1412 finderArgs, count);
1413
1414 closeSession(session);
1415 }
1416 }
1417
1418 return count.intValue();
1419 }
1420
1421 public int countAll() throws SystemException {
1422 Object[] finderArgs = new Object[0];
1423
1424 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
1425 finderArgs, this);
1426
1427 if (count == null) {
1428 Session session = null;
1429
1430 try {
1431 session = openSession();
1432
1433 Query q = session.createQuery(_SQL_COUNT_WORKFLOWDEFINITIONLINK);
1434
1435 count = (Long)q.uniqueResult();
1436 }
1437 catch (Exception e) {
1438 throw processException(e);
1439 }
1440 finally {
1441 if (count == null) {
1442 count = Long.valueOf(0);
1443 }
1444
1445 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
1446 count);
1447
1448 closeSession(session);
1449 }
1450 }
1451
1452 return count.intValue();
1453 }
1454
1455 public void afterPropertiesSet() {
1456 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1457 com.liferay.portal.util.PropsUtil.get(
1458 "value.object.listener.com.liferay.portal.model.WorkflowDefinitionLink")));
1459
1460 if (listenerClassNames.length > 0) {
1461 try {
1462 List<ModelListener<WorkflowDefinitionLink>> listenersList = new ArrayList<ModelListener<WorkflowDefinitionLink>>();
1463
1464 for (String listenerClassName : listenerClassNames) {
1465 listenersList.add((ModelListener<WorkflowDefinitionLink>)InstanceFactory.newInstance(
1466 listenerClassName));
1467 }
1468
1469 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
1470 }
1471 catch (Exception e) {
1472 _log.error(e);
1473 }
1474 }
1475 }
1476
1477 @BeanReference(type = AccountPersistence.class)
1478 protected AccountPersistence accountPersistence;
1479 @BeanReference(type = AddressPersistence.class)
1480 protected AddressPersistence addressPersistence;
1481 @BeanReference(type = BrowserTrackerPersistence.class)
1482 protected BrowserTrackerPersistence browserTrackerPersistence;
1483 @BeanReference(type = ClassNamePersistence.class)
1484 protected ClassNamePersistence classNamePersistence;
1485 @BeanReference(type = CompanyPersistence.class)
1486 protected CompanyPersistence companyPersistence;
1487 @BeanReference(type = ContactPersistence.class)
1488 protected ContactPersistence contactPersistence;
1489 @BeanReference(type = CountryPersistence.class)
1490 protected CountryPersistence countryPersistence;
1491 @BeanReference(type = EmailAddressPersistence.class)
1492 protected EmailAddressPersistence emailAddressPersistence;
1493 @BeanReference(type = GroupPersistence.class)
1494 protected GroupPersistence groupPersistence;
1495 @BeanReference(type = ImagePersistence.class)
1496 protected ImagePersistence imagePersistence;
1497 @BeanReference(type = LayoutPersistence.class)
1498 protected LayoutPersistence layoutPersistence;
1499 @BeanReference(type = LayoutPrototypePersistence.class)
1500 protected LayoutPrototypePersistence layoutPrototypePersistence;
1501 @BeanReference(type = LayoutSetPersistence.class)
1502 protected LayoutSetPersistence layoutSetPersistence;
1503 @BeanReference(type = LayoutSetPrototypePersistence.class)
1504 protected LayoutSetPrototypePersistence layoutSetPrototypePersistence;
1505 @BeanReference(type = ListTypePersistence.class)
1506 protected ListTypePersistence listTypePersistence;
1507 @BeanReference(type = LockPersistence.class)
1508 protected LockPersistence lockPersistence;
1509 @BeanReference(type = MembershipRequestPersistence.class)
1510 protected MembershipRequestPersistence membershipRequestPersistence;
1511 @BeanReference(type = OrganizationPersistence.class)
1512 protected OrganizationPersistence organizationPersistence;
1513 @BeanReference(type = OrgGroupPermissionPersistence.class)
1514 protected OrgGroupPermissionPersistence orgGroupPermissionPersistence;
1515 @BeanReference(type = OrgGroupRolePersistence.class)
1516 protected OrgGroupRolePersistence orgGroupRolePersistence;
1517 @BeanReference(type = OrgLaborPersistence.class)
1518 protected OrgLaborPersistence orgLaborPersistence;
1519 @BeanReference(type = PasswordPolicyPersistence.class)
1520 protected PasswordPolicyPersistence passwordPolicyPersistence;
1521 @BeanReference(type = PasswordPolicyRelPersistence.class)
1522 protected PasswordPolicyRelPersistence passwordPolicyRelPersistence;
1523 @BeanReference(type = PasswordTrackerPersistence.class)
1524 protected PasswordTrackerPersistence passwordTrackerPersistence;
1525 @BeanReference(type = PermissionPersistence.class)
1526 protected PermissionPersistence permissionPersistence;
1527 @BeanReference(type = PhonePersistence.class)
1528 protected PhonePersistence phonePersistence;
1529 @BeanReference(type = PluginSettingPersistence.class)
1530 protected PluginSettingPersistence pluginSettingPersistence;
1531 @BeanReference(type = PortletPersistence.class)
1532 protected PortletPersistence portletPersistence;
1533 @BeanReference(type = PortletItemPersistence.class)
1534 protected PortletItemPersistence portletItemPersistence;
1535 @BeanReference(type = PortletPreferencesPersistence.class)
1536 protected PortletPreferencesPersistence portletPreferencesPersistence;
1537 @BeanReference(type = RegionPersistence.class)
1538 protected RegionPersistence regionPersistence;
1539 @BeanReference(type = ReleasePersistence.class)
1540 protected ReleasePersistence releasePersistence;
1541 @BeanReference(type = ResourcePersistence.class)
1542 protected ResourcePersistence resourcePersistence;
1543 @BeanReference(type = ResourceActionPersistence.class)
1544 protected ResourceActionPersistence resourceActionPersistence;
1545 @BeanReference(type = ResourceCodePersistence.class)
1546 protected ResourceCodePersistence resourceCodePersistence;
1547 @BeanReference(type = ResourcePermissionPersistence.class)
1548 protected ResourcePermissionPersistence resourcePermissionPersistence;
1549 @BeanReference(type = RolePersistence.class)
1550 protected RolePersistence rolePersistence;
1551 @BeanReference(type = ServiceComponentPersistence.class)
1552 protected ServiceComponentPersistence serviceComponentPersistence;
1553 @BeanReference(type = ShardPersistence.class)
1554 protected ShardPersistence shardPersistence;
1555 @BeanReference(type = SubscriptionPersistence.class)
1556 protected SubscriptionPersistence subscriptionPersistence;
1557 @BeanReference(type = TicketPersistence.class)
1558 protected TicketPersistence ticketPersistence;
1559 @BeanReference(type = TeamPersistence.class)
1560 protected TeamPersistence teamPersistence;
1561 @BeanReference(type = UserPersistence.class)
1562 protected UserPersistence userPersistence;
1563 @BeanReference(type = UserGroupPersistence.class)
1564 protected UserGroupPersistence userGroupPersistence;
1565 @BeanReference(type = UserGroupGroupRolePersistence.class)
1566 protected UserGroupGroupRolePersistence userGroupGroupRolePersistence;
1567 @BeanReference(type = UserGroupRolePersistence.class)
1568 protected UserGroupRolePersistence userGroupRolePersistence;
1569 @BeanReference(type = UserIdMapperPersistence.class)
1570 protected UserIdMapperPersistence userIdMapperPersistence;
1571 @BeanReference(type = UserTrackerPersistence.class)
1572 protected UserTrackerPersistence userTrackerPersistence;
1573 @BeanReference(type = UserTrackerPathPersistence.class)
1574 protected UserTrackerPathPersistence userTrackerPathPersistence;
1575 @BeanReference(type = WebDAVPropsPersistence.class)
1576 protected WebDAVPropsPersistence webDAVPropsPersistence;
1577 @BeanReference(type = WebsitePersistence.class)
1578 protected WebsitePersistence websitePersistence;
1579 @BeanReference(type = WorkflowDefinitionLinkPersistence.class)
1580 protected WorkflowDefinitionLinkPersistence workflowDefinitionLinkPersistence;
1581 @BeanReference(type = WorkflowInstanceLinkPersistence.class)
1582 protected WorkflowInstanceLinkPersistence workflowInstanceLinkPersistence;
1583 private static final String _SQL_SELECT_WORKFLOWDEFINITIONLINK = "SELECT workflowDefinitionLink FROM WorkflowDefinitionLink workflowDefinitionLink";
1584 private static final String _SQL_SELECT_WORKFLOWDEFINITIONLINK_WHERE = "SELECT workflowDefinitionLink FROM WorkflowDefinitionLink workflowDefinitionLink WHERE ";
1585 private static final String _SQL_COUNT_WORKFLOWDEFINITIONLINK = "SELECT COUNT(workflowDefinitionLink) FROM WorkflowDefinitionLink workflowDefinitionLink";
1586 private static final String _SQL_COUNT_WORKFLOWDEFINITIONLINK_WHERE = "SELECT COUNT(workflowDefinitionLink) FROM WorkflowDefinitionLink workflowDefinitionLink WHERE ";
1587 private static final String _FINDER_COLUMN_COMPANYID_COMPANYID_2 = "workflowDefinitionLink.companyId = ?";
1588 private static final String _FINDER_COLUMN_G_C_C_GROUPID_2 = "workflowDefinitionLink.groupId = ? AND ";
1589 private static final String _FINDER_COLUMN_G_C_C_COMPANYID_2 = "workflowDefinitionLink.companyId = ? AND ";
1590 private static final String _FINDER_COLUMN_G_C_C_CLASSNAMEID_2 = "workflowDefinitionLink.classNameId = ?";
1591 private static final String _FINDER_COLUMN_C_W_W_COMPANYID_2 = "workflowDefinitionLink.companyId = ? AND ";
1592 private static final String _FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_1 = "workflowDefinitionLink.workflowDefinitionName IS NULL AND ";
1593 private static final String _FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_2 = "workflowDefinitionLink.workflowDefinitionName = ? AND ";
1594 private static final String _FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONNAME_3 = "(workflowDefinitionLink.workflowDefinitionName IS NULL OR workflowDefinitionLink.workflowDefinitionName = ?) AND ";
1595 private static final String _FINDER_COLUMN_C_W_W_WORKFLOWDEFINITIONVERSION_2 =
1596 "workflowDefinitionLink.workflowDefinitionVersion = ?";
1597 private static final String _ORDER_BY_ENTITY_ALIAS = "workflowDefinitionLink.";
1598 private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No WorkflowDefinitionLink exists with the primary key ";
1599 private static final String _NO_SUCH_ENTITY_WITH_KEY = "No WorkflowDefinitionLink exists with the key {";
1600 private static Log _log = LogFactoryUtil.getLog(WorkflowDefinitionLinkPersistenceImpl.class);
1601}