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.portal.service.test;
016    
017    import com.liferay.portal.kernel.search.IndexerRegistryUtil;
018    import com.liferay.portal.kernel.trash.TrashHandlerRegistryUtil;
019    import com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil;
020    import com.liferay.portlet.asset.AssetRendererFactoryRegistryUtil;
021    import com.liferay.portlet.asset.model.AssetRendererFactory;
022    import com.liferay.portlet.asset.util.AssetIndexer;
023    import com.liferay.portlet.blogs.asset.BlogsEntryAssetRendererFactory;
024    import com.liferay.portlet.blogs.trash.BlogsEntryTrashHandler;
025    import com.liferay.portlet.blogs.util.BlogsIndexer;
026    import com.liferay.portlet.blogs.workflow.BlogsEntryWorkflowHandler;
027    import com.liferay.portlet.directory.asset.UserAssetRendererFactory;
028    import com.liferay.portlet.directory.workflow.UserWorkflowHandler;
029    import com.liferay.portlet.documentlibrary.asset.DLFileEntryAssetRendererFactory;
030    import com.liferay.portlet.documentlibrary.asset.DLFolderAssetRendererFactory;
031    import com.liferay.portlet.documentlibrary.trash.DLFileEntryTrashHandler;
032    import com.liferay.portlet.documentlibrary.trash.DLFileShortcutTrashHandler;
033    import com.liferay.portlet.documentlibrary.trash.DLFolderTrashHandler;
034    import com.liferay.portlet.documentlibrary.util.DLFileEntryIndexer;
035    import com.liferay.portlet.documentlibrary.util.DLFolderIndexer;
036    import com.liferay.portlet.documentlibrary.workflow.DLFileEntryWorkflowHandler;
037    import com.liferay.portlet.messageboards.asset.MBCategoryAssetRendererFactory;
038    import com.liferay.portlet.messageboards.asset.MBDiscussionAssetRendererFactory;
039    import com.liferay.portlet.messageboards.asset.MBMessageAssetRendererFactory;
040    import com.liferay.portlet.messageboards.trash.MBCategoryTrashHandler;
041    import com.liferay.portlet.messageboards.trash.MBMessageTrashHandler;
042    import com.liferay.portlet.messageboards.trash.MBThreadTrashHandler;
043    import com.liferay.portlet.messageboards.util.MBMessageIndexer;
044    import com.liferay.portlet.messageboards.workflow.MBDiscussionWorkflowHandler;
045    import com.liferay.portlet.messageboards.workflow.MBMessageWorkflowHandler;
046    import com.liferay.portlet.trash.util.TrashIndexer;
047    import com.liferay.portlet.usersadmin.util.ContactIndexer;
048    import com.liferay.portlet.usersadmin.util.OrganizationIndexer;
049    import com.liferay.portlet.usersadmin.util.UserIndexer;
050    
051    /**
052     * @author Roberto D??az
053     */
054    public class PortalRegisterTestUtil {
055    
056            protected static void registerAssetRendererFactories() {
057                    if (_assetRendererFactoriesRegistered) {
058                            return;
059                    }
060    
061                    for (Class<?> clazz : _ASSET_RENDERER_FACTORY_CLASSES) {
062                            try {
063                                    AssetRendererFactory assetRendererFactory =
064                                            (AssetRendererFactory)clazz.newInstance();
065    
066                                    assetRendererFactory.setClassName(
067                                            assetRendererFactory.getClassName());
068    
069                                    AssetRendererFactoryRegistryUtil.register(assetRendererFactory);
070                            }
071                            catch (IllegalAccessException iae) {
072                                    iae.printStackTrace();
073                            }
074                            catch (InstantiationException ie) {
075                                    ie.printStackTrace();
076                            }
077                    }
078    
079                    _assetRendererFactoriesRegistered = true;
080            }
081    
082            protected static void registerIndexers() {
083                    if (_indexersRegistered) {
084                            return;
085                    }
086    
087                    IndexerRegistryUtil.register(new AssetIndexer());
088                    IndexerRegistryUtil.register(new BlogsIndexer());
089                    IndexerRegistryUtil.register(new ContactIndexer());
090                    IndexerRegistryUtil.register(new DLFileEntryIndexer());
091                    IndexerRegistryUtil.register(new DLFolderIndexer());
092                    IndexerRegistryUtil.register(new MBMessageIndexer());
093                    IndexerRegistryUtil.register(new OrganizationIndexer());
094                    IndexerRegistryUtil.register(new TrashIndexer());
095                    IndexerRegistryUtil.register(new UserIndexer());
096    
097                    _indexersRegistered = true;
098            }
099    
100            protected static void registerTrashHandlers() {
101                    if (_trashHandlersRegistered) {
102                            return;
103                    }
104    
105                    TrashHandlerRegistryUtil.register(new BlogsEntryTrashHandler());
106                    TrashHandlerRegistryUtil.register(new DLFileEntryTrashHandler());
107                    TrashHandlerRegistryUtil.register(new DLFileShortcutTrashHandler());
108                    TrashHandlerRegistryUtil.register(new DLFolderTrashHandler());
109                    TrashHandlerRegistryUtil.register(new MBCategoryTrashHandler());
110                    TrashHandlerRegistryUtil.register(new MBMessageTrashHandler());
111                    TrashHandlerRegistryUtil.register(new MBThreadTrashHandler());
112    
113                    _trashHandlersRegistered = true;
114            }
115    
116            protected static void registerWorkflowHandlers() {
117                    if (_workflowHandlersRegistered) {
118                            return;
119                    }
120    
121                    WorkflowHandlerRegistryUtil.register(new BlogsEntryWorkflowHandler());
122                    WorkflowHandlerRegistryUtil.register(new DLFileEntryWorkflowHandler());
123                    WorkflowHandlerRegistryUtil.register(new MBDiscussionWorkflowHandler());
124                    WorkflowHandlerRegistryUtil.register(new MBMessageWorkflowHandler());
125                    WorkflowHandlerRegistryUtil.register(new UserWorkflowHandler());
126    
127                    _workflowHandlersRegistered = true;
128            }
129    
130            private static final Class<?>[] _ASSET_RENDERER_FACTORY_CLASSES = {
131                    BlogsEntryAssetRendererFactory.class,
132                    DLFileEntryAssetRendererFactory.class,
133                    DLFolderAssetRendererFactory.class,
134                    MBCategoryAssetRendererFactory.class,
135                    MBDiscussionAssetRendererFactory.class,
136                    MBMessageAssetRendererFactory.class, UserAssetRendererFactory.class
137            };
138    
139            private static boolean _assetRendererFactoriesRegistered;
140            private static boolean _indexersRegistered;
141            private static boolean _trashHandlersRegistered;
142            private static boolean _workflowHandlersRegistered;
143    
144    }