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