001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.messageboards.service.base;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.asset.kernel.service.persistence.AssetEntryFinder;
020    import com.liferay.asset.kernel.service.persistence.AssetEntryPersistence;
021    import com.liferay.asset.kernel.service.persistence.AssetTagFinder;
022    import com.liferay.asset.kernel.service.persistence.AssetTagPersistence;
023    
024    import com.liferay.expando.kernel.service.persistence.ExpandoRowPersistence;
025    
026    import com.liferay.exportimport.kernel.lar.ExportImportHelperUtil;
027    import com.liferay.exportimport.kernel.lar.ManifestSummary;
028    import com.liferay.exportimport.kernel.lar.PortletDataContext;
029    import com.liferay.exportimport.kernel.lar.StagedModelDataHandler;
030    import com.liferay.exportimport.kernel.lar.StagedModelDataHandlerRegistryUtil;
031    import com.liferay.exportimport.kernel.lar.StagedModelDataHandlerUtil;
032    import com.liferay.exportimport.kernel.lar.StagedModelType;
033    
034    import com.liferay.message.boards.kernel.model.MBCategory;
035    import com.liferay.message.boards.kernel.service.MBCategoryLocalService;
036    import com.liferay.message.boards.kernel.service.persistence.MBCategoryFinder;
037    import com.liferay.message.boards.kernel.service.persistence.MBCategoryPersistence;
038    import com.liferay.message.boards.kernel.service.persistence.MBMailingListPersistence;
039    import com.liferay.message.boards.kernel.service.persistence.MBMessageFinder;
040    import com.liferay.message.boards.kernel.service.persistence.MBMessagePersistence;
041    import com.liferay.message.boards.kernel.service.persistence.MBThreadFinder;
042    import com.liferay.message.boards.kernel.service.persistence.MBThreadPersistence;
043    
044    import com.liferay.portal.kernel.bean.BeanReference;
045    import com.liferay.portal.kernel.dao.db.DB;
046    import com.liferay.portal.kernel.dao.db.DBManagerUtil;
047    import com.liferay.portal.kernel.dao.jdbc.SqlUpdate;
048    import com.liferay.portal.kernel.dao.jdbc.SqlUpdateFactoryUtil;
049    import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
050    import com.liferay.portal.kernel.dao.orm.Criterion;
051    import com.liferay.portal.kernel.dao.orm.DefaultActionableDynamicQuery;
052    import com.liferay.portal.kernel.dao.orm.Disjunction;
053    import com.liferay.portal.kernel.dao.orm.DynamicQuery;
054    import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil;
055    import com.liferay.portal.kernel.dao.orm.ExportActionableDynamicQuery;
056    import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery;
057    import com.liferay.portal.kernel.dao.orm.Projection;
058    import com.liferay.portal.kernel.dao.orm.Property;
059    import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil;
060    import com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil;
061    import com.liferay.portal.kernel.exception.PortalException;
062    import com.liferay.portal.kernel.exception.SystemException;
063    import com.liferay.portal.kernel.model.PersistedModel;
064    import com.liferay.portal.kernel.module.framework.service.IdentifiableOSGiService;
065    import com.liferay.portal.kernel.search.Indexable;
066    import com.liferay.portal.kernel.search.IndexableType;
067    import com.liferay.portal.kernel.service.BaseLocalServiceImpl;
068    import com.liferay.portal.kernel.service.PersistedModelLocalServiceRegistry;
069    import com.liferay.portal.kernel.service.persistence.GroupFinder;
070    import com.liferay.portal.kernel.service.persistence.GroupPersistence;
071    import com.liferay.portal.kernel.service.persistence.SubscriptionPersistence;
072    import com.liferay.portal.kernel.service.persistence.SystemEventPersistence;
073    import com.liferay.portal.kernel.service.persistence.UserFinder;
074    import com.liferay.portal.kernel.service.persistence.UserPersistence;
075    import com.liferay.portal.kernel.util.OrderByComparator;
076    import com.liferay.portal.kernel.util.PortalUtil;
077    import com.liferay.portal.kernel.workflow.WorkflowConstants;
078    
079    import com.liferay.ratings.kernel.service.persistence.RatingsStatsFinder;
080    import com.liferay.ratings.kernel.service.persistence.RatingsStatsPersistence;
081    
082    import com.liferay.trash.kernel.service.persistence.TrashEntryPersistence;
083    import com.liferay.trash.kernel.service.persistence.TrashVersionPersistence;
084    
085    import java.io.Serializable;
086    
087    import java.util.List;
088    
089    import javax.sql.DataSource;
090    
091    /**
092     * Provides the base implementation for the message boards category local service.
093     *
094     * <p>
095     * This implementation exists only as a container for the default service methods generated by ServiceBuilder. All custom service methods should be put in {@link com.liferay.portlet.messageboards.service.impl.MBCategoryLocalServiceImpl}.
096     * </p>
097     *
098     * @author Brian Wing Shun Chan
099     * @see com.liferay.portlet.messageboards.service.impl.MBCategoryLocalServiceImpl
100     * @see com.liferay.message.boards.kernel.service.MBCategoryLocalServiceUtil
101     * @generated
102     */
103    @ProviderType
104    public abstract class MBCategoryLocalServiceBaseImpl
105            extends BaseLocalServiceImpl implements MBCategoryLocalService,
106                    IdentifiableOSGiService {
107            /*
108             * NOTE FOR DEVELOPERS:
109             *
110             * Never modify or reference this class directly. Always use {@link com.liferay.message.boards.kernel.service.MBCategoryLocalServiceUtil} to access the message boards category local service.
111             */
112    
113            /**
114             * Adds the message boards category to the database. Also notifies the appropriate model listeners.
115             *
116             * @param mbCategory the message boards category
117             * @return the message boards category that was added
118             */
119            @Indexable(type = IndexableType.REINDEX)
120            @Override
121            public MBCategory addMBCategory(MBCategory mbCategory) {
122                    mbCategory.setNew(true);
123    
124                    return mbCategoryPersistence.update(mbCategory);
125            }
126    
127            /**
128             * Creates a new message boards category with the primary key. Does not add the message boards category to the database.
129             *
130             * @param categoryId the primary key for the new message boards category
131             * @return the new message boards category
132             */
133            @Override
134            public MBCategory createMBCategory(long categoryId) {
135                    return mbCategoryPersistence.create(categoryId);
136            }
137    
138            /**
139             * Deletes the message boards category with the primary key from the database. Also notifies the appropriate model listeners.
140             *
141             * @param categoryId the primary key of the message boards category
142             * @return the message boards category that was removed
143             * @throws PortalException if a message boards category with the primary key could not be found
144             */
145            @Indexable(type = IndexableType.DELETE)
146            @Override
147            public MBCategory deleteMBCategory(long categoryId)
148                    throws PortalException {
149                    return mbCategoryPersistence.remove(categoryId);
150            }
151    
152            /**
153             * Deletes the message boards category from the database. Also notifies the appropriate model listeners.
154             *
155             * @param mbCategory the message boards category
156             * @return the message boards category that was removed
157             */
158            @Indexable(type = IndexableType.DELETE)
159            @Override
160            public MBCategory deleteMBCategory(MBCategory mbCategory) {
161                    return mbCategoryPersistence.remove(mbCategory);
162            }
163    
164            @Override
165            public DynamicQuery dynamicQuery() {
166                    Class<?> clazz = getClass();
167    
168                    return DynamicQueryFactoryUtil.forClass(MBCategory.class,
169                            clazz.getClassLoader());
170            }
171    
172            /**
173             * Performs a dynamic query on the database and returns the matching rows.
174             *
175             * @param dynamicQuery the dynamic query
176             * @return the matching rows
177             */
178            @Override
179            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery) {
180                    return mbCategoryPersistence.findWithDynamicQuery(dynamicQuery);
181            }
182    
183            /**
184             * Performs a dynamic query on the database and returns a range of the matching rows.
185             *
186             * <p>
187             * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.messageboards.model.impl.MBCategoryModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
188             * </p>
189             *
190             * @param dynamicQuery the dynamic query
191             * @param start the lower bound of the range of model instances
192             * @param end the upper bound of the range of model instances (not inclusive)
193             * @return the range of matching rows
194             */
195            @Override
196            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
197                    int end) {
198                    return mbCategoryPersistence.findWithDynamicQuery(dynamicQuery, start,
199                            end);
200            }
201    
202            /**
203             * Performs a dynamic query on the database and returns an ordered range of the matching rows.
204             *
205             * <p>
206             * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.messageboards.model.impl.MBCategoryModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
207             * </p>
208             *
209             * @param dynamicQuery the dynamic query
210             * @param start the lower bound of the range of model instances
211             * @param end the upper bound of the range of model instances (not inclusive)
212             * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
213             * @return the ordered range of matching rows
214             */
215            @Override
216            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
217                    int end, OrderByComparator<T> orderByComparator) {
218                    return mbCategoryPersistence.findWithDynamicQuery(dynamicQuery, start,
219                            end, orderByComparator);
220            }
221    
222            /**
223             * Returns the number of rows matching the dynamic query.
224             *
225             * @param dynamicQuery the dynamic query
226             * @return the number of rows matching the dynamic query
227             */
228            @Override
229            public long dynamicQueryCount(DynamicQuery dynamicQuery) {
230                    return mbCategoryPersistence.countWithDynamicQuery(dynamicQuery);
231            }
232    
233            /**
234             * Returns the number of rows matching the dynamic query.
235             *
236             * @param dynamicQuery the dynamic query
237             * @param projection the projection to apply to the query
238             * @return the number of rows matching the dynamic query
239             */
240            @Override
241            public long dynamicQueryCount(DynamicQuery dynamicQuery,
242                    Projection projection) {
243                    return mbCategoryPersistence.countWithDynamicQuery(dynamicQuery,
244                            projection);
245            }
246    
247            @Override
248            public MBCategory fetchMBCategory(long categoryId) {
249                    return mbCategoryPersistence.fetchByPrimaryKey(categoryId);
250            }
251    
252            /**
253             * Returns the message boards category matching the UUID and group.
254             *
255             * @param uuid the message boards category's UUID
256             * @param groupId the primary key of the group
257             * @return the matching message boards category, or <code>null</code> if a matching message boards category could not be found
258             */
259            @Override
260            public MBCategory fetchMBCategoryByUuidAndGroupId(String uuid, long groupId) {
261                    return mbCategoryPersistence.fetchByUUID_G(uuid, groupId);
262            }
263    
264            /**
265             * Returns the message boards category with the primary key.
266             *
267             * @param categoryId the primary key of the message boards category
268             * @return the message boards category
269             * @throws PortalException if a message boards category with the primary key could not be found
270             */
271            @Override
272            public MBCategory getMBCategory(long categoryId) throws PortalException {
273                    return mbCategoryPersistence.findByPrimaryKey(categoryId);
274            }
275    
276            @Override
277            public ActionableDynamicQuery getActionableDynamicQuery() {
278                    ActionableDynamicQuery actionableDynamicQuery = new DefaultActionableDynamicQuery();
279    
280                    actionableDynamicQuery.setBaseLocalService(com.liferay.message.boards.kernel.service.MBCategoryLocalServiceUtil.getService());
281                    actionableDynamicQuery.setClassLoader(getClassLoader());
282                    actionableDynamicQuery.setModelClass(MBCategory.class);
283    
284                    actionableDynamicQuery.setPrimaryKeyPropertyName("categoryId");
285    
286                    return actionableDynamicQuery;
287            }
288    
289            @Override
290            public IndexableActionableDynamicQuery getIndexableActionableDynamicQuery() {
291                    IndexableActionableDynamicQuery indexableActionableDynamicQuery = new IndexableActionableDynamicQuery();
292    
293                    indexableActionableDynamicQuery.setBaseLocalService(com.liferay.message.boards.kernel.service.MBCategoryLocalServiceUtil.getService());
294                    indexableActionableDynamicQuery.setClassLoader(getClassLoader());
295                    indexableActionableDynamicQuery.setModelClass(MBCategory.class);
296    
297                    indexableActionableDynamicQuery.setPrimaryKeyPropertyName("categoryId");
298    
299                    return indexableActionableDynamicQuery;
300            }
301    
302            protected void initActionableDynamicQuery(
303                    ActionableDynamicQuery actionableDynamicQuery) {
304                    actionableDynamicQuery.setBaseLocalService(com.liferay.message.boards.kernel.service.MBCategoryLocalServiceUtil.getService());
305                    actionableDynamicQuery.setClassLoader(getClassLoader());
306                    actionableDynamicQuery.setModelClass(MBCategory.class);
307    
308                    actionableDynamicQuery.setPrimaryKeyPropertyName("categoryId");
309            }
310    
311            @Override
312            public ExportActionableDynamicQuery getExportActionableDynamicQuery(
313                    final PortletDataContext portletDataContext) {
314                    final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() {
315                                    @Override
316                                    public long performCount() throws PortalException {
317                                            ManifestSummary manifestSummary = portletDataContext.getManifestSummary();
318    
319                                            StagedModelType stagedModelType = getStagedModelType();
320    
321                                            long modelAdditionCount = super.performCount();
322    
323                                            manifestSummary.addModelAdditionCount(stagedModelType,
324                                                    modelAdditionCount);
325    
326                                            long modelDeletionCount = ExportImportHelperUtil.getModelDeletionCount(portletDataContext,
327                                                            stagedModelType);
328    
329                                            manifestSummary.addModelDeletionCount(stagedModelType,
330                                                    modelDeletionCount);
331    
332                                            return modelAdditionCount;
333                                    }
334                            };
335    
336                    initActionableDynamicQuery(exportActionableDynamicQuery);
337    
338                    exportActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {
339                                    @Override
340                                    public void addCriteria(DynamicQuery dynamicQuery) {
341                                            Criterion modifiedDateCriterion = portletDataContext.getDateRangeCriteria(
342                                                            "modifiedDate");
343                                            Criterion statusDateCriterion = portletDataContext.getDateRangeCriteria(
344                                                            "statusDate");
345    
346                                            if ((modifiedDateCriterion != null) &&
347                                                            (statusDateCriterion != null)) {
348                                                    Disjunction disjunction = RestrictionsFactoryUtil.disjunction();
349    
350                                                    disjunction.add(modifiedDateCriterion);
351                                                    disjunction.add(statusDateCriterion);
352    
353                                                    dynamicQuery.add(disjunction);
354                                            }
355    
356                                            Property workflowStatusProperty = PropertyFactoryUtil.forName(
357                                                            "status");
358    
359                                            if (portletDataContext.isInitialPublication()) {
360                                                    dynamicQuery.add(workflowStatusProperty.ne(
361                                                                    WorkflowConstants.STATUS_IN_TRASH));
362                                            }
363                                            else {
364                                                    StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil.getStagedModelDataHandler(MBCategory.class.getName());
365    
366                                                    dynamicQuery.add(workflowStatusProperty.in(
367                                                                    stagedModelDataHandler.getExportableStatuses()));
368                                            }
369                                    }
370                            });
371    
372                    exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId());
373    
374                    exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId());
375    
376                    exportActionableDynamicQuery.setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<MBCategory>() {
377                                    @Override
378                                    public void performAction(MBCategory mbCategory)
379                                            throws PortalException {
380                                            StagedModelDataHandlerUtil.exportStagedModel(portletDataContext,
381                                                    mbCategory);
382                                    }
383                            });
384                    exportActionableDynamicQuery.setStagedModelType(new StagedModelType(
385                                    PortalUtil.getClassNameId(MBCategory.class.getName())));
386    
387                    return exportActionableDynamicQuery;
388            }
389    
390            /**
391             * @throws PortalException
392             */
393            @Override
394            public PersistedModel deletePersistedModel(PersistedModel persistedModel)
395                    throws PortalException {
396                    return mbCategoryLocalService.deleteMBCategory((MBCategory)persistedModel);
397            }
398    
399            @Override
400            public PersistedModel getPersistedModel(Serializable primaryKeyObj)
401                    throws PortalException {
402                    return mbCategoryPersistence.findByPrimaryKey(primaryKeyObj);
403            }
404    
405            /**
406             * Returns all the message boards categories matching the UUID and company.
407             *
408             * @param uuid the UUID of the message boards categories
409             * @param companyId the primary key of the company
410             * @return the matching message boards categories, or an empty list if no matches were found
411             */
412            @Override
413            public List<MBCategory> getMBCategoriesByUuidAndCompanyId(String uuid,
414                    long companyId) {
415                    return mbCategoryPersistence.findByUuid_C(uuid, companyId);
416            }
417    
418            /**
419             * Returns a range of message boards categories matching the UUID and company.
420             *
421             * @param uuid the UUID of the message boards categories
422             * @param companyId the primary key of the company
423             * @param start the lower bound of the range of message boards categories
424             * @param end the upper bound of the range of message boards categories (not inclusive)
425             * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
426             * @return the range of matching message boards categories, or an empty list if no matches were found
427             */
428            @Override
429            public List<MBCategory> getMBCategoriesByUuidAndCompanyId(String uuid,
430                    long companyId, int start, int end,
431                    OrderByComparator<MBCategory> orderByComparator) {
432                    return mbCategoryPersistence.findByUuid_C(uuid, companyId, start, end,
433                            orderByComparator);
434            }
435    
436            /**
437             * Returns the message boards category matching the UUID and group.
438             *
439             * @param uuid the message boards category's UUID
440             * @param groupId the primary key of the group
441             * @return the matching message boards category
442             * @throws PortalException if a matching message boards category could not be found
443             */
444            @Override
445            public MBCategory getMBCategoryByUuidAndGroupId(String uuid, long groupId)
446                    throws PortalException {
447                    return mbCategoryPersistence.findByUUID_G(uuid, groupId);
448            }
449    
450            /**
451             * Returns a range of all the message boards categories.
452             *
453             * <p>
454             * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portlet.messageboards.model.impl.MBCategoryModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
455             * </p>
456             *
457             * @param start the lower bound of the range of message boards categories
458             * @param end the upper bound of the range of message boards categories (not inclusive)
459             * @return the range of message boards categories
460             */
461            @Override
462            public List<MBCategory> getMBCategories(int start, int end) {
463                    return mbCategoryPersistence.findAll(start, end);
464            }
465    
466            /**
467             * Returns the number of message boards categories.
468             *
469             * @return the number of message boards categories
470             */
471            @Override
472            public int getMBCategoriesCount() {
473                    return mbCategoryPersistence.countAll();
474            }
475    
476            /**
477             * Updates the message boards category in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
478             *
479             * @param mbCategory the message boards category
480             * @return the message boards category that was updated
481             */
482            @Indexable(type = IndexableType.REINDEX)
483            @Override
484            public MBCategory updateMBCategory(MBCategory mbCategory) {
485                    return mbCategoryPersistence.update(mbCategory);
486            }
487    
488            /**
489             * Returns the message boards category local service.
490             *
491             * @return the message boards category local service
492             */
493            public MBCategoryLocalService getMBCategoryLocalService() {
494                    return mbCategoryLocalService;
495            }
496    
497            /**
498             * Sets the message boards category local service.
499             *
500             * @param mbCategoryLocalService the message boards category local service
501             */
502            public void setMBCategoryLocalService(
503                    MBCategoryLocalService mbCategoryLocalService) {
504                    this.mbCategoryLocalService = mbCategoryLocalService;
505            }
506    
507            /**
508             * Returns the message boards category persistence.
509             *
510             * @return the message boards category persistence
511             */
512            public MBCategoryPersistence getMBCategoryPersistence() {
513                    return mbCategoryPersistence;
514            }
515    
516            /**
517             * Sets the message boards category persistence.
518             *
519             * @param mbCategoryPersistence the message boards category persistence
520             */
521            public void setMBCategoryPersistence(
522                    MBCategoryPersistence mbCategoryPersistence) {
523                    this.mbCategoryPersistence = mbCategoryPersistence;
524            }
525    
526            /**
527             * Returns the message boards category finder.
528             *
529             * @return the message boards category finder
530             */
531            public MBCategoryFinder getMBCategoryFinder() {
532                    return mbCategoryFinder;
533            }
534    
535            /**
536             * Sets the message boards category finder.
537             *
538             * @param mbCategoryFinder the message boards category finder
539             */
540            public void setMBCategoryFinder(MBCategoryFinder mbCategoryFinder) {
541                    this.mbCategoryFinder = mbCategoryFinder;
542            }
543    
544            /**
545             * Returns the counter local service.
546             *
547             * @return the counter local service
548             */
549            public com.liferay.counter.kernel.service.CounterLocalService getCounterLocalService() {
550                    return counterLocalService;
551            }
552    
553            /**
554             * Sets the counter local service.
555             *
556             * @param counterLocalService the counter local service
557             */
558            public void setCounterLocalService(
559                    com.liferay.counter.kernel.service.CounterLocalService counterLocalService) {
560                    this.counterLocalService = counterLocalService;
561            }
562    
563            /**
564             * Returns the group local service.
565             *
566             * @return the group local service
567             */
568            public com.liferay.portal.kernel.service.GroupLocalService getGroupLocalService() {
569                    return groupLocalService;
570            }
571    
572            /**
573             * Sets the group local service.
574             *
575             * @param groupLocalService the group local service
576             */
577            public void setGroupLocalService(
578                    com.liferay.portal.kernel.service.GroupLocalService groupLocalService) {
579                    this.groupLocalService = groupLocalService;
580            }
581    
582            /**
583             * Returns the group persistence.
584             *
585             * @return the group persistence
586             */
587            public GroupPersistence getGroupPersistence() {
588                    return groupPersistence;
589            }
590    
591            /**
592             * Sets the group persistence.
593             *
594             * @param groupPersistence the group persistence
595             */
596            public void setGroupPersistence(GroupPersistence groupPersistence) {
597                    this.groupPersistence = groupPersistence;
598            }
599    
600            /**
601             * Returns the group finder.
602             *
603             * @return the group finder
604             */
605            public GroupFinder getGroupFinder() {
606                    return groupFinder;
607            }
608    
609            /**
610             * Sets the group finder.
611             *
612             * @param groupFinder the group finder
613             */
614            public void setGroupFinder(GroupFinder groupFinder) {
615                    this.groupFinder = groupFinder;
616            }
617    
618            /**
619             * Returns the resource local service.
620             *
621             * @return the resource local service
622             */
623            public com.liferay.portal.kernel.service.ResourceLocalService getResourceLocalService() {
624                    return resourceLocalService;
625            }
626    
627            /**
628             * Sets the resource local service.
629             *
630             * @param resourceLocalService the resource local service
631             */
632            public void setResourceLocalService(
633                    com.liferay.portal.kernel.service.ResourceLocalService resourceLocalService) {
634                    this.resourceLocalService = resourceLocalService;
635            }
636    
637            /**
638             * Returns the subscription local service.
639             *
640             * @return the subscription local service
641             */
642            public com.liferay.portal.kernel.service.SubscriptionLocalService getSubscriptionLocalService() {
643                    return subscriptionLocalService;
644            }
645    
646            /**
647             * Sets the subscription local service.
648             *
649             * @param subscriptionLocalService the subscription local service
650             */
651            public void setSubscriptionLocalService(
652                    com.liferay.portal.kernel.service.SubscriptionLocalService subscriptionLocalService) {
653                    this.subscriptionLocalService = subscriptionLocalService;
654            }
655    
656            /**
657             * Returns the subscription persistence.
658             *
659             * @return the subscription persistence
660             */
661            public SubscriptionPersistence getSubscriptionPersistence() {
662                    return subscriptionPersistence;
663            }
664    
665            /**
666             * Sets the subscription persistence.
667             *
668             * @param subscriptionPersistence the subscription persistence
669             */
670            public void setSubscriptionPersistence(
671                    SubscriptionPersistence subscriptionPersistence) {
672                    this.subscriptionPersistence = subscriptionPersistence;
673            }
674    
675            /**
676             * Returns the system event local service.
677             *
678             * @return the system event local service
679             */
680            public com.liferay.portal.kernel.service.SystemEventLocalService getSystemEventLocalService() {
681                    return systemEventLocalService;
682            }
683    
684            /**
685             * Sets the system event local service.
686             *
687             * @param systemEventLocalService the system event local service
688             */
689            public void setSystemEventLocalService(
690                    com.liferay.portal.kernel.service.SystemEventLocalService systemEventLocalService) {
691                    this.systemEventLocalService = systemEventLocalService;
692            }
693    
694            /**
695             * Returns the system event persistence.
696             *
697             * @return the system event persistence
698             */
699            public SystemEventPersistence getSystemEventPersistence() {
700                    return systemEventPersistence;
701            }
702    
703            /**
704             * Sets the system event persistence.
705             *
706             * @param systemEventPersistence the system event persistence
707             */
708            public void setSystemEventPersistence(
709                    SystemEventPersistence systemEventPersistence) {
710                    this.systemEventPersistence = systemEventPersistence;
711            }
712    
713            /**
714             * Returns the user local service.
715             *
716             * @return the user local service
717             */
718            public com.liferay.portal.kernel.service.UserLocalService getUserLocalService() {
719                    return userLocalService;
720            }
721    
722            /**
723             * Sets the user local service.
724             *
725             * @param userLocalService the user local service
726             */
727            public void setUserLocalService(
728                    com.liferay.portal.kernel.service.UserLocalService userLocalService) {
729                    this.userLocalService = userLocalService;
730            }
731    
732            /**
733             * Returns the user persistence.
734             *
735             * @return the user persistence
736             */
737            public UserPersistence getUserPersistence() {
738                    return userPersistence;
739            }
740    
741            /**
742             * Sets the user persistence.
743             *
744             * @param userPersistence the user persistence
745             */
746            public void setUserPersistence(UserPersistence userPersistence) {
747                    this.userPersistence = userPersistence;
748            }
749    
750            /**
751             * Returns the user finder.
752             *
753             * @return the user finder
754             */
755            public UserFinder getUserFinder() {
756                    return userFinder;
757            }
758    
759            /**
760             * Sets the user finder.
761             *
762             * @param userFinder the user finder
763             */
764            public void setUserFinder(UserFinder userFinder) {
765                    this.userFinder = userFinder;
766            }
767    
768            /**
769             * Returns the asset entry local service.
770             *
771             * @return the asset entry local service
772             */
773            public com.liferay.asset.kernel.service.AssetEntryLocalService getAssetEntryLocalService() {
774                    return assetEntryLocalService;
775            }
776    
777            /**
778             * Sets the asset entry local service.
779             *
780             * @param assetEntryLocalService the asset entry local service
781             */
782            public void setAssetEntryLocalService(
783                    com.liferay.asset.kernel.service.AssetEntryLocalService assetEntryLocalService) {
784                    this.assetEntryLocalService = assetEntryLocalService;
785            }
786    
787            /**
788             * Returns the asset entry persistence.
789             *
790             * @return the asset entry persistence
791             */
792            public AssetEntryPersistence getAssetEntryPersistence() {
793                    return assetEntryPersistence;
794            }
795    
796            /**
797             * Sets the asset entry persistence.
798             *
799             * @param assetEntryPersistence the asset entry persistence
800             */
801            public void setAssetEntryPersistence(
802                    AssetEntryPersistence assetEntryPersistence) {
803                    this.assetEntryPersistence = assetEntryPersistence;
804            }
805    
806            /**
807             * Returns the asset entry finder.
808             *
809             * @return the asset entry finder
810             */
811            public AssetEntryFinder getAssetEntryFinder() {
812                    return assetEntryFinder;
813            }
814    
815            /**
816             * Sets the asset entry finder.
817             *
818             * @param assetEntryFinder the asset entry finder
819             */
820            public void setAssetEntryFinder(AssetEntryFinder assetEntryFinder) {
821                    this.assetEntryFinder = assetEntryFinder;
822            }
823    
824            /**
825             * Returns the asset tag local service.
826             *
827             * @return the asset tag local service
828             */
829            public com.liferay.asset.kernel.service.AssetTagLocalService getAssetTagLocalService() {
830                    return assetTagLocalService;
831            }
832    
833            /**
834             * Sets the asset tag local service.
835             *
836             * @param assetTagLocalService the asset tag local service
837             */
838            public void setAssetTagLocalService(
839                    com.liferay.asset.kernel.service.AssetTagLocalService assetTagLocalService) {
840                    this.assetTagLocalService = assetTagLocalService;
841            }
842    
843            /**
844             * Returns the asset tag persistence.
845             *
846             * @return the asset tag persistence
847             */
848            public AssetTagPersistence getAssetTagPersistence() {
849                    return assetTagPersistence;
850            }
851    
852            /**
853             * Sets the asset tag persistence.
854             *
855             * @param assetTagPersistence the asset tag persistence
856             */
857            public void setAssetTagPersistence(AssetTagPersistence assetTagPersistence) {
858                    this.assetTagPersistence = assetTagPersistence;
859            }
860    
861            /**
862             * Returns the asset tag finder.
863             *
864             * @return the asset tag finder
865             */
866            public AssetTagFinder getAssetTagFinder() {
867                    return assetTagFinder;
868            }
869    
870            /**
871             * Sets the asset tag finder.
872             *
873             * @param assetTagFinder the asset tag finder
874             */
875            public void setAssetTagFinder(AssetTagFinder assetTagFinder) {
876                    this.assetTagFinder = assetTagFinder;
877            }
878    
879            /**
880             * Returns the expando row local service.
881             *
882             * @return the expando row local service
883             */
884            public com.liferay.expando.kernel.service.ExpandoRowLocalService getExpandoRowLocalService() {
885                    return expandoRowLocalService;
886            }
887    
888            /**
889             * Sets the expando row local service.
890             *
891             * @param expandoRowLocalService the expando row local service
892             */
893            public void setExpandoRowLocalService(
894                    com.liferay.expando.kernel.service.ExpandoRowLocalService expandoRowLocalService) {
895                    this.expandoRowLocalService = expandoRowLocalService;
896            }
897    
898            /**
899             * Returns the expando row persistence.
900             *
901             * @return the expando row persistence
902             */
903            public ExpandoRowPersistence getExpandoRowPersistence() {
904                    return expandoRowPersistence;
905            }
906    
907            /**
908             * Sets the expando row persistence.
909             *
910             * @param expandoRowPersistence the expando row persistence
911             */
912            public void setExpandoRowPersistence(
913                    ExpandoRowPersistence expandoRowPersistence) {
914                    this.expandoRowPersistence = expandoRowPersistence;
915            }
916    
917            /**
918             * Returns the ratings stats local service.
919             *
920             * @return the ratings stats local service
921             */
922            public com.liferay.ratings.kernel.service.RatingsStatsLocalService getRatingsStatsLocalService() {
923                    return ratingsStatsLocalService;
924            }
925    
926            /**
927             * Sets the ratings stats local service.
928             *
929             * @param ratingsStatsLocalService the ratings stats local service
930             */
931            public void setRatingsStatsLocalService(
932                    com.liferay.ratings.kernel.service.RatingsStatsLocalService ratingsStatsLocalService) {
933                    this.ratingsStatsLocalService = ratingsStatsLocalService;
934            }
935    
936            /**
937             * Returns the ratings stats persistence.
938             *
939             * @return the ratings stats persistence
940             */
941            public RatingsStatsPersistence getRatingsStatsPersistence() {
942                    return ratingsStatsPersistence;
943            }
944    
945            /**
946             * Sets the ratings stats persistence.
947             *
948             * @param ratingsStatsPersistence the ratings stats persistence
949             */
950            public void setRatingsStatsPersistence(
951                    RatingsStatsPersistence ratingsStatsPersistence) {
952                    this.ratingsStatsPersistence = ratingsStatsPersistence;
953            }
954    
955            /**
956             * Returns the ratings stats finder.
957             *
958             * @return the ratings stats finder
959             */
960            public RatingsStatsFinder getRatingsStatsFinder() {
961                    return ratingsStatsFinder;
962            }
963    
964            /**
965             * Sets the ratings stats finder.
966             *
967             * @param ratingsStatsFinder the ratings stats finder
968             */
969            public void setRatingsStatsFinder(RatingsStatsFinder ratingsStatsFinder) {
970                    this.ratingsStatsFinder = ratingsStatsFinder;
971            }
972    
973            /**
974             * Returns the trash entry local service.
975             *
976             * @return the trash entry local service
977             */
978            public com.liferay.trash.kernel.service.TrashEntryLocalService getTrashEntryLocalService() {
979                    return trashEntryLocalService;
980            }
981    
982            /**
983             * Sets the trash entry local service.
984             *
985             * @param trashEntryLocalService the trash entry local service
986             */
987            public void setTrashEntryLocalService(
988                    com.liferay.trash.kernel.service.TrashEntryLocalService trashEntryLocalService) {
989                    this.trashEntryLocalService = trashEntryLocalService;
990            }
991    
992            /**
993             * Returns the trash entry persistence.
994             *
995             * @return the trash entry persistence
996             */
997            public TrashEntryPersistence getTrashEntryPersistence() {
998                    return trashEntryPersistence;
999            }
1000    
1001            /**
1002             * Sets the trash entry persistence.
1003             *
1004             * @param trashEntryPersistence the trash entry persistence
1005             */
1006            public void setTrashEntryPersistence(
1007                    TrashEntryPersistence trashEntryPersistence) {
1008                    this.trashEntryPersistence = trashEntryPersistence;
1009            }
1010    
1011            /**
1012             * Returns the trash version local service.
1013             *
1014             * @return the trash version local service
1015             */
1016            public com.liferay.trash.kernel.service.TrashVersionLocalService getTrashVersionLocalService() {
1017                    return trashVersionLocalService;
1018            }
1019    
1020            /**
1021             * Sets the trash version local service.
1022             *
1023             * @param trashVersionLocalService the trash version local service
1024             */
1025            public void setTrashVersionLocalService(
1026                    com.liferay.trash.kernel.service.TrashVersionLocalService trashVersionLocalService) {
1027                    this.trashVersionLocalService = trashVersionLocalService;
1028            }
1029    
1030            /**
1031             * Returns the trash version persistence.
1032             *
1033             * @return the trash version persistence
1034             */
1035            public TrashVersionPersistence getTrashVersionPersistence() {
1036                    return trashVersionPersistence;
1037            }
1038    
1039            /**
1040             * Sets the trash version persistence.
1041             *
1042             * @param trashVersionPersistence the trash version persistence
1043             */
1044            public void setTrashVersionPersistence(
1045                    TrashVersionPersistence trashVersionPersistence) {
1046                    this.trashVersionPersistence = trashVersionPersistence;
1047            }
1048    
1049            /**
1050             * Returns the message boards mailing list local service.
1051             *
1052             * @return the message boards mailing list local service
1053             */
1054            public com.liferay.message.boards.kernel.service.MBMailingListLocalService getMBMailingListLocalService() {
1055                    return mbMailingListLocalService;
1056            }
1057    
1058            /**
1059             * Sets the message boards mailing list local service.
1060             *
1061             * @param mbMailingListLocalService the message boards mailing list local service
1062             */
1063            public void setMBMailingListLocalService(
1064                    com.liferay.message.boards.kernel.service.MBMailingListLocalService mbMailingListLocalService) {
1065                    this.mbMailingListLocalService = mbMailingListLocalService;
1066            }
1067    
1068            /**
1069             * Returns the message boards mailing list persistence.
1070             *
1071             * @return the message boards mailing list persistence
1072             */
1073            public MBMailingListPersistence getMBMailingListPersistence() {
1074                    return mbMailingListPersistence;
1075            }
1076    
1077            /**
1078             * Sets the message boards mailing list persistence.
1079             *
1080             * @param mbMailingListPersistence the message boards mailing list persistence
1081             */
1082            public void setMBMailingListPersistence(
1083                    MBMailingListPersistence mbMailingListPersistence) {
1084                    this.mbMailingListPersistence = mbMailingListPersistence;
1085            }
1086    
1087            /**
1088             * Returns the message-boards message local service.
1089             *
1090             * @return the message-boards message local service
1091             */
1092            public com.liferay.message.boards.kernel.service.MBMessageLocalService getMBMessageLocalService() {
1093                    return mbMessageLocalService;
1094            }
1095    
1096            /**
1097             * Sets the message-boards message local service.
1098             *
1099             * @param mbMessageLocalService the message-boards message local service
1100             */
1101            public void setMBMessageLocalService(
1102                    com.liferay.message.boards.kernel.service.MBMessageLocalService mbMessageLocalService) {
1103                    this.mbMessageLocalService = mbMessageLocalService;
1104            }
1105    
1106            /**
1107             * Returns the message-boards message persistence.
1108             *
1109             * @return the message-boards message persistence
1110             */
1111            public MBMessagePersistence getMBMessagePersistence() {
1112                    return mbMessagePersistence;
1113            }
1114    
1115            /**
1116             * Sets the message-boards message persistence.
1117             *
1118             * @param mbMessagePersistence the message-boards message persistence
1119             */
1120            public void setMBMessagePersistence(
1121                    MBMessagePersistence mbMessagePersistence) {
1122                    this.mbMessagePersistence = mbMessagePersistence;
1123            }
1124    
1125            /**
1126             * Returns the message-boards message finder.
1127             *
1128             * @return the message-boards message finder
1129             */
1130            public MBMessageFinder getMBMessageFinder() {
1131                    return mbMessageFinder;
1132            }
1133    
1134            /**
1135             * Sets the message-boards message finder.
1136             *
1137             * @param mbMessageFinder the message-boards message finder
1138             */
1139            public void setMBMessageFinder(MBMessageFinder mbMessageFinder) {
1140                    this.mbMessageFinder = mbMessageFinder;
1141            }
1142    
1143            /**
1144             * Returns the message boards thread local service.
1145             *
1146             * @return the message boards thread local service
1147             */
1148            public com.liferay.message.boards.kernel.service.MBThreadLocalService getMBThreadLocalService() {
1149                    return mbThreadLocalService;
1150            }
1151    
1152            /**
1153             * Sets the message boards thread local service.
1154             *
1155             * @param mbThreadLocalService the message boards thread local service
1156             */
1157            public void setMBThreadLocalService(
1158                    com.liferay.message.boards.kernel.service.MBThreadLocalService mbThreadLocalService) {
1159                    this.mbThreadLocalService = mbThreadLocalService;
1160            }
1161    
1162            /**
1163             * Returns the message boards thread persistence.
1164             *
1165             * @return the message boards thread persistence
1166             */
1167            public MBThreadPersistence getMBThreadPersistence() {
1168                    return mbThreadPersistence;
1169            }
1170    
1171            /**
1172             * Sets the message boards thread persistence.
1173             *
1174             * @param mbThreadPersistence the message boards thread persistence
1175             */
1176            public void setMBThreadPersistence(MBThreadPersistence mbThreadPersistence) {
1177                    this.mbThreadPersistence = mbThreadPersistence;
1178            }
1179    
1180            /**
1181             * Returns the message boards thread finder.
1182             *
1183             * @return the message boards thread finder
1184             */
1185            public MBThreadFinder getMBThreadFinder() {
1186                    return mbThreadFinder;
1187            }
1188    
1189            /**
1190             * Sets the message boards thread finder.
1191             *
1192             * @param mbThreadFinder the message boards thread finder
1193             */
1194            public void setMBThreadFinder(MBThreadFinder mbThreadFinder) {
1195                    this.mbThreadFinder = mbThreadFinder;
1196            }
1197    
1198            public void afterPropertiesSet() {
1199                    persistedModelLocalServiceRegistry.register("com.liferay.message.boards.kernel.model.MBCategory",
1200                            mbCategoryLocalService);
1201            }
1202    
1203            public void destroy() {
1204                    persistedModelLocalServiceRegistry.unregister(
1205                            "com.liferay.message.boards.kernel.model.MBCategory");
1206            }
1207    
1208            /**
1209             * Returns the OSGi service identifier.
1210             *
1211             * @return the OSGi service identifier
1212             */
1213            @Override
1214            public String getOSGiServiceIdentifier() {
1215                    return MBCategoryLocalService.class.getName();
1216            }
1217    
1218            protected Class<?> getModelClass() {
1219                    return MBCategory.class;
1220            }
1221    
1222            protected String getModelClassName() {
1223                    return MBCategory.class.getName();
1224            }
1225    
1226            /**
1227             * Performs a SQL query.
1228             *
1229             * @param sql the sql query
1230             */
1231            protected void runSQL(String sql) {
1232                    try {
1233                            DataSource dataSource = mbCategoryPersistence.getDataSource();
1234    
1235                            DB db = DBManagerUtil.getDB();
1236    
1237                            sql = db.buildSQL(sql);
1238                            sql = PortalUtil.transformSQL(sql);
1239    
1240                            SqlUpdate sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(dataSource,
1241                                            sql, new int[0]);
1242    
1243                            sqlUpdate.update();
1244                    }
1245                    catch (Exception e) {
1246                            throw new SystemException(e);
1247                    }
1248            }
1249    
1250            @BeanReference(type = com.liferay.message.boards.kernel.service.MBCategoryLocalService.class)
1251            protected MBCategoryLocalService mbCategoryLocalService;
1252            @BeanReference(type = MBCategoryPersistence.class)
1253            protected MBCategoryPersistence mbCategoryPersistence;
1254            @BeanReference(type = MBCategoryFinder.class)
1255            protected MBCategoryFinder mbCategoryFinder;
1256            @BeanReference(type = com.liferay.counter.kernel.service.CounterLocalService.class)
1257            protected com.liferay.counter.kernel.service.CounterLocalService counterLocalService;
1258            @BeanReference(type = com.liferay.portal.kernel.service.GroupLocalService.class)
1259            protected com.liferay.portal.kernel.service.GroupLocalService groupLocalService;
1260            @BeanReference(type = GroupPersistence.class)
1261            protected GroupPersistence groupPersistence;
1262            @BeanReference(type = GroupFinder.class)
1263            protected GroupFinder groupFinder;
1264            @BeanReference(type = com.liferay.portal.kernel.service.ResourceLocalService.class)
1265            protected com.liferay.portal.kernel.service.ResourceLocalService resourceLocalService;
1266            @BeanReference(type = com.liferay.portal.kernel.service.SubscriptionLocalService.class)
1267            protected com.liferay.portal.kernel.service.SubscriptionLocalService subscriptionLocalService;
1268            @BeanReference(type = SubscriptionPersistence.class)
1269            protected SubscriptionPersistence subscriptionPersistence;
1270            @BeanReference(type = com.liferay.portal.kernel.service.SystemEventLocalService.class)
1271            protected com.liferay.portal.kernel.service.SystemEventLocalService systemEventLocalService;
1272            @BeanReference(type = SystemEventPersistence.class)
1273            protected SystemEventPersistence systemEventPersistence;
1274            @BeanReference(type = com.liferay.portal.kernel.service.UserLocalService.class)
1275            protected com.liferay.portal.kernel.service.UserLocalService userLocalService;
1276            @BeanReference(type = UserPersistence.class)
1277            protected UserPersistence userPersistence;
1278            @BeanReference(type = UserFinder.class)
1279            protected UserFinder userFinder;
1280            @BeanReference(type = com.liferay.asset.kernel.service.AssetEntryLocalService.class)
1281            protected com.liferay.asset.kernel.service.AssetEntryLocalService assetEntryLocalService;
1282            @BeanReference(type = AssetEntryPersistence.class)
1283            protected AssetEntryPersistence assetEntryPersistence;
1284            @BeanReference(type = AssetEntryFinder.class)
1285            protected AssetEntryFinder assetEntryFinder;
1286            @BeanReference(type = com.liferay.asset.kernel.service.AssetTagLocalService.class)
1287            protected com.liferay.asset.kernel.service.AssetTagLocalService assetTagLocalService;
1288            @BeanReference(type = AssetTagPersistence.class)
1289            protected AssetTagPersistence assetTagPersistence;
1290            @BeanReference(type = AssetTagFinder.class)
1291            protected AssetTagFinder assetTagFinder;
1292            @BeanReference(type = com.liferay.expando.kernel.service.ExpandoRowLocalService.class)
1293            protected com.liferay.expando.kernel.service.ExpandoRowLocalService expandoRowLocalService;
1294            @BeanReference(type = ExpandoRowPersistence.class)
1295            protected ExpandoRowPersistence expandoRowPersistence;
1296            @BeanReference(type = com.liferay.ratings.kernel.service.RatingsStatsLocalService.class)
1297            protected com.liferay.ratings.kernel.service.RatingsStatsLocalService ratingsStatsLocalService;
1298            @BeanReference(type = RatingsStatsPersistence.class)
1299            protected RatingsStatsPersistence ratingsStatsPersistence;
1300            @BeanReference(type = RatingsStatsFinder.class)
1301            protected RatingsStatsFinder ratingsStatsFinder;
1302            @BeanReference(type = com.liferay.trash.kernel.service.TrashEntryLocalService.class)
1303            protected com.liferay.trash.kernel.service.TrashEntryLocalService trashEntryLocalService;
1304            @BeanReference(type = TrashEntryPersistence.class)
1305            protected TrashEntryPersistence trashEntryPersistence;
1306            @BeanReference(type = com.liferay.trash.kernel.service.TrashVersionLocalService.class)
1307            protected com.liferay.trash.kernel.service.TrashVersionLocalService trashVersionLocalService;
1308            @BeanReference(type = TrashVersionPersistence.class)
1309            protected TrashVersionPersistence trashVersionPersistence;
1310            @BeanReference(type = com.liferay.message.boards.kernel.service.MBMailingListLocalService.class)
1311            protected com.liferay.message.boards.kernel.service.MBMailingListLocalService mbMailingListLocalService;
1312            @BeanReference(type = MBMailingListPersistence.class)
1313            protected MBMailingListPersistence mbMailingListPersistence;
1314            @BeanReference(type = com.liferay.message.boards.kernel.service.MBMessageLocalService.class)
1315            protected com.liferay.message.boards.kernel.service.MBMessageLocalService mbMessageLocalService;
1316            @BeanReference(type = MBMessagePersistence.class)
1317            protected MBMessagePersistence mbMessagePersistence;
1318            @BeanReference(type = MBMessageFinder.class)
1319            protected MBMessageFinder mbMessageFinder;
1320            @BeanReference(type = com.liferay.message.boards.kernel.service.MBThreadLocalService.class)
1321            protected com.liferay.message.boards.kernel.service.MBThreadLocalService mbThreadLocalService;
1322            @BeanReference(type = MBThreadPersistence.class)
1323            protected MBThreadPersistence mbThreadPersistence;
1324            @BeanReference(type = MBThreadFinder.class)
1325            protected MBThreadFinder mbThreadFinder;
1326            @BeanReference(type = PersistedModelLocalServiceRegistry.class)
1327            protected PersistedModelLocalServiceRegistry persistedModelLocalServiceRegistry;
1328    }