1
14
15 package com.liferay.portlet.wiki.service.persistence;
16
17 import com.liferay.portal.NoSuchModelException;
18 import com.liferay.portal.kernel.annotation.BeanReference;
19 import com.liferay.portal.kernel.cache.CacheRegistry;
20 import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
21 import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
22 import com.liferay.portal.kernel.dao.orm.FinderPath;
23 import com.liferay.portal.kernel.dao.orm.Query;
24 import com.liferay.portal.kernel.dao.orm.QueryPos;
25 import com.liferay.portal.kernel.dao.orm.QueryUtil;
26 import com.liferay.portal.kernel.dao.orm.Session;
27 import com.liferay.portal.kernel.exception.SystemException;
28 import com.liferay.portal.kernel.log.Log;
29 import com.liferay.portal.kernel.log.LogFactoryUtil;
30 import com.liferay.portal.kernel.util.GetterUtil;
31 import com.liferay.portal.kernel.util.OrderByComparator;
32 import com.liferay.portal.kernel.util.StringBundler;
33 import com.liferay.portal.kernel.util.StringPool;
34 import com.liferay.portal.kernel.util.StringUtil;
35 import com.liferay.portal.kernel.util.Validator;
36 import com.liferay.portal.model.ModelListener;
37 import com.liferay.portal.service.persistence.BatchSessionUtil;
38 import com.liferay.portal.service.persistence.ResourcePersistence;
39 import com.liferay.portal.service.persistence.UserPersistence;
40 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
41
42 import com.liferay.portlet.wiki.NoSuchPageResourceException;
43 import com.liferay.portlet.wiki.model.WikiPageResource;
44 import com.liferay.portlet.wiki.model.impl.WikiPageResourceImpl;
45 import com.liferay.portlet.wiki.model.impl.WikiPageResourceModelImpl;
46
47 import java.io.Serializable;
48
49 import java.util.ArrayList;
50 import java.util.Collections;
51 import java.util.List;
52
53
66 public class WikiPageResourcePersistenceImpl extends BasePersistenceImpl<WikiPageResource>
67 implements WikiPageResourcePersistence {
68 public static final String FINDER_CLASS_NAME_ENTITY = WikiPageResourceImpl.class.getName();
69 public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
70 ".List";
71 public static final FinderPath FINDER_PATH_FETCH_BY_N_T = new FinderPath(WikiPageResourceModelImpl.ENTITY_CACHE_ENABLED,
72 WikiPageResourceModelImpl.FINDER_CACHE_ENABLED,
73 FINDER_CLASS_NAME_ENTITY, "fetchByN_T",
74 new String[] { Long.class.getName(), String.class.getName() });
75 public static final FinderPath FINDER_PATH_COUNT_BY_N_T = new FinderPath(WikiPageResourceModelImpl.ENTITY_CACHE_ENABLED,
76 WikiPageResourceModelImpl.FINDER_CACHE_ENABLED,
77 FINDER_CLASS_NAME_LIST, "countByN_T",
78 new String[] { Long.class.getName(), String.class.getName() });
79 public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(WikiPageResourceModelImpl.ENTITY_CACHE_ENABLED,
80 WikiPageResourceModelImpl.FINDER_CACHE_ENABLED,
81 FINDER_CLASS_NAME_LIST, "findAll", new String[0]);
82 public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(WikiPageResourceModelImpl.ENTITY_CACHE_ENABLED,
83 WikiPageResourceModelImpl.FINDER_CACHE_ENABLED,
84 FINDER_CLASS_NAME_LIST, "countAll", new String[0]);
85
86 public void cacheResult(WikiPageResource wikiPageResource) {
87 EntityCacheUtil.putResult(WikiPageResourceModelImpl.ENTITY_CACHE_ENABLED,
88 WikiPageResourceImpl.class, wikiPageResource.getPrimaryKey(),
89 wikiPageResource);
90
91 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_N_T,
92 new Object[] {
93 new Long(wikiPageResource.getNodeId()),
94
95 wikiPageResource.getTitle()
96 }, wikiPageResource);
97 }
98
99 public void cacheResult(List<WikiPageResource> wikiPageResources) {
100 for (WikiPageResource wikiPageResource : wikiPageResources) {
101 if (EntityCacheUtil.getResult(
102 WikiPageResourceModelImpl.ENTITY_CACHE_ENABLED,
103 WikiPageResourceImpl.class,
104 wikiPageResource.getPrimaryKey(), this) == null) {
105 cacheResult(wikiPageResource);
106 }
107 }
108 }
109
110 public void clearCache() {
111 CacheRegistry.clear(WikiPageResourceImpl.class.getName());
112 EntityCacheUtil.clearCache(WikiPageResourceImpl.class.getName());
113 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
114 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
115 }
116
117 public WikiPageResource create(long resourcePrimKey) {
118 WikiPageResource wikiPageResource = new WikiPageResourceImpl();
119
120 wikiPageResource.setNew(true);
121 wikiPageResource.setPrimaryKey(resourcePrimKey);
122
123 return wikiPageResource;
124 }
125
126 public WikiPageResource remove(Serializable primaryKey)
127 throws NoSuchModelException, SystemException {
128 return remove(((Long)primaryKey).longValue());
129 }
130
131 public WikiPageResource remove(long resourcePrimKey)
132 throws NoSuchPageResourceException, SystemException {
133 Session session = null;
134
135 try {
136 session = openSession();
137
138 WikiPageResource wikiPageResource = (WikiPageResource)session.get(WikiPageResourceImpl.class,
139 new Long(resourcePrimKey));
140
141 if (wikiPageResource == null) {
142 if (_log.isWarnEnabled()) {
143 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
144 resourcePrimKey);
145 }
146
147 throw new NoSuchPageResourceException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
148 resourcePrimKey);
149 }
150
151 return remove(wikiPageResource);
152 }
153 catch (NoSuchPageResourceException nsee) {
154 throw nsee;
155 }
156 catch (Exception e) {
157 throw processException(e);
158 }
159 finally {
160 closeSession(session);
161 }
162 }
163
164 public WikiPageResource remove(WikiPageResource wikiPageResource)
165 throws SystemException {
166 for (ModelListener<WikiPageResource> listener : listeners) {
167 listener.onBeforeRemove(wikiPageResource);
168 }
169
170 wikiPageResource = removeImpl(wikiPageResource);
171
172 for (ModelListener<WikiPageResource> listener : listeners) {
173 listener.onAfterRemove(wikiPageResource);
174 }
175
176 return wikiPageResource;
177 }
178
179 protected WikiPageResource removeImpl(WikiPageResource wikiPageResource)
180 throws SystemException {
181 wikiPageResource = toUnwrappedModel(wikiPageResource);
182
183 Session session = null;
184
185 try {
186 session = openSession();
187
188 if (wikiPageResource.isCachedModel() ||
189 BatchSessionUtil.isEnabled()) {
190 Object staleObject = session.get(WikiPageResourceImpl.class,
191 wikiPageResource.getPrimaryKeyObj());
192
193 if (staleObject != null) {
194 session.evict(staleObject);
195 }
196 }
197
198 session.delete(wikiPageResource);
199
200 session.flush();
201 }
202 catch (Exception e) {
203 throw processException(e);
204 }
205 finally {
206 closeSession(session);
207 }
208
209 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
210
211 WikiPageResourceModelImpl wikiPageResourceModelImpl = (WikiPageResourceModelImpl)wikiPageResource;
212
213 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_N_T,
214 new Object[] {
215 new Long(wikiPageResourceModelImpl.getOriginalNodeId()),
216
217 wikiPageResourceModelImpl.getOriginalTitle()
218 });
219
220 EntityCacheUtil.removeResult(WikiPageResourceModelImpl.ENTITY_CACHE_ENABLED,
221 WikiPageResourceImpl.class, wikiPageResource.getPrimaryKey());
222
223 return wikiPageResource;
224 }
225
226 public WikiPageResource updateImpl(
227 com.liferay.portlet.wiki.model.WikiPageResource wikiPageResource,
228 boolean merge) throws SystemException {
229 wikiPageResource = toUnwrappedModel(wikiPageResource);
230
231 boolean isNew = wikiPageResource.isNew();
232
233 WikiPageResourceModelImpl wikiPageResourceModelImpl = (WikiPageResourceModelImpl)wikiPageResource;
234
235 Session session = null;
236
237 try {
238 session = openSession();
239
240 BatchSessionUtil.update(session, wikiPageResource, merge);
241
242 wikiPageResource.setNew(false);
243 }
244 catch (Exception e) {
245 throw processException(e);
246 }
247 finally {
248 closeSession(session);
249 }
250
251 FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
252
253 EntityCacheUtil.putResult(WikiPageResourceModelImpl.ENTITY_CACHE_ENABLED,
254 WikiPageResourceImpl.class, wikiPageResource.getPrimaryKey(),
255 wikiPageResource);
256
257 if (!isNew &&
258 ((wikiPageResource.getNodeId() != wikiPageResourceModelImpl.getOriginalNodeId()) ||
259 !Validator.equals(wikiPageResource.getTitle(),
260 wikiPageResourceModelImpl.getOriginalTitle()))) {
261 FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_N_T,
262 new Object[] {
263 new Long(wikiPageResourceModelImpl.getOriginalNodeId()),
264
265 wikiPageResourceModelImpl.getOriginalTitle()
266 });
267 }
268
269 if (isNew ||
270 ((wikiPageResource.getNodeId() != wikiPageResourceModelImpl.getOriginalNodeId()) ||
271 !Validator.equals(wikiPageResource.getTitle(),
272 wikiPageResourceModelImpl.getOriginalTitle()))) {
273 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_N_T,
274 new Object[] {
275 new Long(wikiPageResource.getNodeId()),
276
277 wikiPageResource.getTitle()
278 }, wikiPageResource);
279 }
280
281 return wikiPageResource;
282 }
283
284 protected WikiPageResource toUnwrappedModel(
285 WikiPageResource wikiPageResource) {
286 if (wikiPageResource instanceof WikiPageResourceImpl) {
287 return wikiPageResource;
288 }
289
290 WikiPageResourceImpl wikiPageResourceImpl = new WikiPageResourceImpl();
291
292 wikiPageResourceImpl.setNew(wikiPageResource.isNew());
293 wikiPageResourceImpl.setPrimaryKey(wikiPageResource.getPrimaryKey());
294
295 wikiPageResourceImpl.setResourcePrimKey(wikiPageResource.getResourcePrimKey());
296 wikiPageResourceImpl.setNodeId(wikiPageResource.getNodeId());
297 wikiPageResourceImpl.setTitle(wikiPageResource.getTitle());
298
299 return wikiPageResourceImpl;
300 }
301
302 public WikiPageResource findByPrimaryKey(Serializable primaryKey)
303 throws NoSuchModelException, SystemException {
304 return findByPrimaryKey(((Long)primaryKey).longValue());
305 }
306
307 public WikiPageResource findByPrimaryKey(long resourcePrimKey)
308 throws NoSuchPageResourceException, SystemException {
309 WikiPageResource wikiPageResource = fetchByPrimaryKey(resourcePrimKey);
310
311 if (wikiPageResource == null) {
312 if (_log.isWarnEnabled()) {
313 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + resourcePrimKey);
314 }
315
316 throw new NoSuchPageResourceException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
317 resourcePrimKey);
318 }
319
320 return wikiPageResource;
321 }
322
323 public WikiPageResource fetchByPrimaryKey(Serializable primaryKey)
324 throws SystemException {
325 return fetchByPrimaryKey(((Long)primaryKey).longValue());
326 }
327
328 public WikiPageResource fetchByPrimaryKey(long resourcePrimKey)
329 throws SystemException {
330 WikiPageResource wikiPageResource = (WikiPageResource)EntityCacheUtil.getResult(WikiPageResourceModelImpl.ENTITY_CACHE_ENABLED,
331 WikiPageResourceImpl.class, resourcePrimKey, this);
332
333 if (wikiPageResource == null) {
334 Session session = null;
335
336 try {
337 session = openSession();
338
339 wikiPageResource = (WikiPageResource)session.get(WikiPageResourceImpl.class,
340 new Long(resourcePrimKey));
341 }
342 catch (Exception e) {
343 throw processException(e);
344 }
345 finally {
346 if (wikiPageResource != null) {
347 cacheResult(wikiPageResource);
348 }
349
350 closeSession(session);
351 }
352 }
353
354 return wikiPageResource;
355 }
356
357 public WikiPageResource findByN_T(long nodeId, String title)
358 throws NoSuchPageResourceException, SystemException {
359 WikiPageResource wikiPageResource = fetchByN_T(nodeId, title);
360
361 if (wikiPageResource == null) {
362 StringBundler msg = new StringBundler(6);
363
364 msg.append(_NO_SUCH_ENTITY_WITH_KEY);
365
366 msg.append("nodeId=");
367 msg.append(nodeId);
368
369 msg.append(", title=");
370 msg.append(title);
371
372 msg.append(StringPool.CLOSE_CURLY_BRACE);
373
374 if (_log.isWarnEnabled()) {
375 _log.warn(msg.toString());
376 }
377
378 throw new NoSuchPageResourceException(msg.toString());
379 }
380
381 return wikiPageResource;
382 }
383
384 public WikiPageResource fetchByN_T(long nodeId, String title)
385 throws SystemException {
386 return fetchByN_T(nodeId, title, true);
387 }
388
389 public WikiPageResource fetchByN_T(long nodeId, String title,
390 boolean retrieveFromCache) throws SystemException {
391 Object[] finderArgs = new Object[] { new Long(nodeId), title };
392
393 Object result = null;
394
395 if (retrieveFromCache) {
396 result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_N_T,
397 finderArgs, this);
398 }
399
400 if (result == null) {
401 Session session = null;
402
403 try {
404 session = openSession();
405
406 StringBundler query = new StringBundler(3);
407
408 query.append(_SQL_SELECT_WIKIPAGERESOURCE_WHERE);
409
410 query.append(_FINDER_COLUMN_N_T_NODEID_2);
411
412 if (title == null) {
413 query.append(_FINDER_COLUMN_N_T_TITLE_1);
414 }
415 else {
416 if (title.equals(StringPool.BLANK)) {
417 query.append(_FINDER_COLUMN_N_T_TITLE_3);
418 }
419 else {
420 query.append(_FINDER_COLUMN_N_T_TITLE_2);
421 }
422 }
423
424 String sql = query.toString();
425
426 Query q = session.createQuery(sql);
427
428 QueryPos qPos = QueryPos.getInstance(q);
429
430 qPos.add(nodeId);
431
432 if (title != null) {
433 qPos.add(title);
434 }
435
436 List<WikiPageResource> list = q.list();
437
438 result = list;
439
440 WikiPageResource wikiPageResource = null;
441
442 if (list.isEmpty()) {
443 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_N_T,
444 finderArgs, list);
445 }
446 else {
447 wikiPageResource = list.get(0);
448
449 cacheResult(wikiPageResource);
450
451 if ((wikiPageResource.getNodeId() != nodeId) ||
452 (wikiPageResource.getTitle() == null) ||
453 !wikiPageResource.getTitle().equals(title)) {
454 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_N_T,
455 finderArgs, wikiPageResource);
456 }
457 }
458
459 return wikiPageResource;
460 }
461 catch (Exception e) {
462 throw processException(e);
463 }
464 finally {
465 if (result == null) {
466 FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_N_T,
467 finderArgs, new ArrayList<WikiPageResource>());
468 }
469
470 closeSession(session);
471 }
472 }
473 else {
474 if (result instanceof List<?>) {
475 return null;
476 }
477 else {
478 return (WikiPageResource)result;
479 }
480 }
481 }
482
483 public List<WikiPageResource> findAll() throws SystemException {
484 return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
485 }
486
487 public List<WikiPageResource> findAll(int start, int end)
488 throws SystemException {
489 return findAll(start, end, null);
490 }
491
492 public List<WikiPageResource> findAll(int start, int end,
493 OrderByComparator orderByComparator) throws SystemException {
494 Object[] finderArgs = new Object[] {
495 String.valueOf(start), String.valueOf(end),
496 String.valueOf(orderByComparator)
497 };
498
499 List<WikiPageResource> list = (List<WikiPageResource>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
500 finderArgs, this);
501
502 if (list == null) {
503 Session session = null;
504
505 try {
506 session = openSession();
507
508 StringBundler query = null;
509 String sql = null;
510
511 if (orderByComparator != null) {
512 query = new StringBundler(2 +
513 (orderByComparator.getOrderByFields().length * 3));
514
515 query.append(_SQL_SELECT_WIKIPAGERESOURCE);
516
517 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS,
518 orderByComparator);
519
520 sql = query.toString();
521 }
522
523 sql = _SQL_SELECT_WIKIPAGERESOURCE;
524
525 Query q = session.createQuery(sql);
526
527 if (orderByComparator == null) {
528 list = (List<WikiPageResource>)QueryUtil.list(q,
529 getDialect(), start, end, false);
530
531 Collections.sort(list);
532 }
533 else {
534 list = (List<WikiPageResource>)QueryUtil.list(q,
535 getDialect(), start, end);
536 }
537 }
538 catch (Exception e) {
539 throw processException(e);
540 }
541 finally {
542 if (list == null) {
543 list = new ArrayList<WikiPageResource>();
544 }
545
546 cacheResult(list);
547
548 FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
549
550 closeSession(session);
551 }
552 }
553
554 return list;
555 }
556
557 public void removeByN_T(long nodeId, String title)
558 throws NoSuchPageResourceException, SystemException {
559 WikiPageResource wikiPageResource = findByN_T(nodeId, title);
560
561 remove(wikiPageResource);
562 }
563
564 public void removeAll() throws SystemException {
565 for (WikiPageResource wikiPageResource : findAll()) {
566 remove(wikiPageResource);
567 }
568 }
569
570 public int countByN_T(long nodeId, String title) throws SystemException {
571 Object[] finderArgs = new Object[] { new Long(nodeId), title };
572
573 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_N_T,
574 finderArgs, this);
575
576 if (count == null) {
577 Session session = null;
578
579 try {
580 session = openSession();
581
582 StringBundler query = new StringBundler(3);
583
584 query.append(_SQL_COUNT_WIKIPAGERESOURCE_WHERE);
585
586 query.append(_FINDER_COLUMN_N_T_NODEID_2);
587
588 if (title == null) {
589 query.append(_FINDER_COLUMN_N_T_TITLE_1);
590 }
591 else {
592 if (title.equals(StringPool.BLANK)) {
593 query.append(_FINDER_COLUMN_N_T_TITLE_3);
594 }
595 else {
596 query.append(_FINDER_COLUMN_N_T_TITLE_2);
597 }
598 }
599
600 String sql = query.toString();
601
602 Query q = session.createQuery(sql);
603
604 QueryPos qPos = QueryPos.getInstance(q);
605
606 qPos.add(nodeId);
607
608 if (title != null) {
609 qPos.add(title);
610 }
611
612 count = (Long)q.uniqueResult();
613 }
614 catch (Exception e) {
615 throw processException(e);
616 }
617 finally {
618 if (count == null) {
619 count = Long.valueOf(0);
620 }
621
622 FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_N_T, finderArgs,
623 count);
624
625 closeSession(session);
626 }
627 }
628
629 return count.intValue();
630 }
631
632 public int countAll() throws SystemException {
633 Object[] finderArgs = new Object[0];
634
635 Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
636 finderArgs, this);
637
638 if (count == null) {
639 Session session = null;
640
641 try {
642 session = openSession();
643
644 Query q = session.createQuery(_SQL_COUNT_WIKIPAGERESOURCE);
645
646 count = (Long)q.uniqueResult();
647 }
648 catch (Exception e) {
649 throw processException(e);
650 }
651 finally {
652 if (count == null) {
653 count = Long.valueOf(0);
654 }
655
656 FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
657 count);
658
659 closeSession(session);
660 }
661 }
662
663 return count.intValue();
664 }
665
666 public void afterPropertiesSet() {
667 String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
668 com.liferay.portal.util.PropsUtil.get(
669 "value.object.listener.com.liferay.portlet.wiki.model.WikiPageResource")));
670
671 if (listenerClassNames.length > 0) {
672 try {
673 List<ModelListener<WikiPageResource>> listenersList = new ArrayList<ModelListener<WikiPageResource>>();
674
675 for (String listenerClassName : listenerClassNames) {
676 listenersList.add((ModelListener<WikiPageResource>)Class.forName(
677 listenerClassName).newInstance());
678 }
679
680 listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
681 }
682 catch (Exception e) {
683 _log.error(e);
684 }
685 }
686 }
687
688 @BeanReference(type = WikiNodePersistence.class)
689 protected WikiNodePersistence wikiNodePersistence;
690 @BeanReference(type = WikiPagePersistence.class)
691 protected WikiPagePersistence wikiPagePersistence;
692 @BeanReference(type = WikiPageResourcePersistence.class)
693 protected WikiPageResourcePersistence wikiPageResourcePersistence;
694 @BeanReference(type = ResourcePersistence.class)
695 protected ResourcePersistence resourcePersistence;
696 @BeanReference(type = UserPersistence.class)
697 protected UserPersistence userPersistence;
698 private static final String _SQL_SELECT_WIKIPAGERESOURCE = "SELECT wikiPageResource FROM WikiPageResource wikiPageResource";
699 private static final String _SQL_SELECT_WIKIPAGERESOURCE_WHERE = "SELECT wikiPageResource FROM WikiPageResource wikiPageResource WHERE ";
700 private static final String _SQL_COUNT_WIKIPAGERESOURCE = "SELECT COUNT(wikiPageResource) FROM WikiPageResource wikiPageResource";
701 private static final String _SQL_COUNT_WIKIPAGERESOURCE_WHERE = "SELECT COUNT(wikiPageResource) FROM WikiPageResource wikiPageResource WHERE ";
702 private static final String _FINDER_COLUMN_N_T_NODEID_2 = "wikiPageResource.nodeId = ? AND ";
703 private static final String _FINDER_COLUMN_N_T_TITLE_1 = "wikiPageResource.title IS NULL";
704 private static final String _FINDER_COLUMN_N_T_TITLE_2 = "wikiPageResource.title = ?";
705 private static final String _FINDER_COLUMN_N_T_TITLE_3 = "(wikiPageResource.title IS NULL OR wikiPageResource.title = ?)";
706 private static final String _ORDER_BY_ENTITY_ALIAS = "wikiPageResource.";
707 private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No WikiPageResource exists with the primary key ";
708 private static final String _NO_SUCH_ENTITY_WITH_KEY = "No WikiPageResource exists with the key {";
709 private static Log _log = LogFactoryUtil.getLog(WikiPageResourcePersistenceImpl.class);
710 }