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.tools;
016    
017    import com.liferay.portal.cache.MultiVMPoolImpl;
018    import com.liferay.portal.cache.SingleVMPoolImpl;
019    import com.liferay.portal.cache.memory.MemoryPortalCacheManager;
020    import com.liferay.portal.json.JSONFactoryImpl;
021    import com.liferay.portal.kernel.cache.MultiVMPoolUtil;
022    import com.liferay.portal.kernel.cache.SingleVMPoolUtil;
023    import com.liferay.portal.kernel.json.JSONFactoryUtil;
024    import com.liferay.portal.kernel.microsofttranslator.MicrosoftTranslatorFactoryUtil;
025    import com.liferay.portal.kernel.util.DigesterUtil;
026    import com.liferay.portal.kernel.util.FastDateFormatFactoryUtil;
027    import com.liferay.portal.kernel.util.FileUtil;
028    import com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil;
029    import com.liferay.portal.kernel.util.HtmlUtil;
030    import com.liferay.portal.kernel.util.HttpUtil;
031    import com.liferay.portal.kernel.xml.SAXReaderUtil;
032    import com.liferay.portal.microsofttranslator.MicrosoftTranslatorFactoryImpl;
033    import com.liferay.portal.model.ModelHintsImpl;
034    import com.liferay.portal.model.ModelHintsUtil;
035    import com.liferay.portal.security.auth.DefaultFullNameGenerator;
036    import com.liferay.portal.security.auth.FullNameGenerator;
037    import com.liferay.portal.security.permission.ResourceActionsImpl;
038    import com.liferay.portal.security.permission.ResourceActionsUtil;
039    import com.liferay.portal.service.permission.PortletPermissionImpl;
040    import com.liferay.portal.service.permission.PortletPermissionUtil;
041    import com.liferay.portal.util.DigesterImpl;
042    import com.liferay.portal.util.FastDateFormatFactoryImpl;
043    import com.liferay.portal.util.FileImpl;
044    import com.liferay.portal.util.FriendlyURLNormalizerImpl;
045    import com.liferay.portal.util.HtmlImpl;
046    import com.liferay.portal.util.HttpImpl;
047    import com.liferay.portal.util.InitUtil;
048    import com.liferay.portal.util.PortalImpl;
049    import com.liferay.portal.util.PortalUtil;
050    import com.liferay.portal.xml.SAXReaderImpl;
051    import com.liferay.registry.BasicRegistryImpl;
052    import com.liferay.registry.Registry;
053    import com.liferay.registry.RegistryUtil;
054    
055    import java.io.Serializable;
056    
057    /**
058     * @author Raymond Aug??
059     */
060    public class ToolDependencies {
061    
062            public static void wireBasic() {
063                    InitUtil.init();
064    
065                    RegistryUtil.setRegistry(new BasicRegistryImpl());
066    
067                    Registry registry = RegistryUtil.getRegistry();
068    
069                    registry.registerService(
070                            FullNameGenerator.class, new DefaultFullNameGenerator());
071    
072                    DigesterUtil digesterUtil = new DigesterUtil();
073    
074                    digesterUtil.setDigester(new DigesterImpl());
075    
076                    FastDateFormatFactoryUtil fastDateFormatFactoryUtil =
077                            new FastDateFormatFactoryUtil();
078    
079                    fastDateFormatFactoryUtil.setFastDateFormatFactory(
080                            new FastDateFormatFactoryImpl());
081    
082                    FileUtil fileUtil = new FileUtil();
083    
084                    fileUtil.setFile(new FileImpl());
085    
086                    FriendlyURLNormalizerUtil friendlyURLNormalizerUtil =
087                            new FriendlyURLNormalizerUtil();
088    
089                    friendlyURLNormalizerUtil.setFriendlyURLNormalizer(
090                            new FriendlyURLNormalizerImpl());
091    
092                    HtmlUtil htmlUtil = new HtmlUtil();
093    
094                    htmlUtil.setHtml(new HtmlImpl());
095    
096                    HttpUtil httpUtil = new HttpUtil();
097    
098                    httpUtil.setHttp(new HttpImpl());
099    
100                    JSONFactoryUtil jsonFactoryUtil = new JSONFactoryUtil();
101    
102                    jsonFactoryUtil.setJSONFactory(new JSONFactoryImpl());
103    
104                    MicrosoftTranslatorFactoryUtil microsoftTranslatorFactoryUtil =
105                            new MicrosoftTranslatorFactoryUtil();
106    
107                    microsoftTranslatorFactoryUtil.setMicrosoftTranslatorFactory(
108                            new MicrosoftTranslatorFactoryImpl());
109    
110                    ModelHintsUtil modelHintsUtil = new ModelHintsUtil();
111    
112                    ModelHintsImpl modelHintsImpl = new ModelHintsImpl();
113    
114                    SAXReaderImpl saxReaderImpl = new SAXReaderImpl();
115    
116                    modelHintsImpl.setSAXReader(saxReaderImpl);
117    
118                    modelHintsImpl.afterPropertiesSet();
119    
120                    modelHintsUtil.setModelHints(modelHintsImpl);
121    
122                    SingleVMPoolUtil singleVMPoolUtil = new SingleVMPoolUtil();
123    
124                    PortletPermissionUtil portletPermissionUtil =
125                            new PortletPermissionUtil();
126    
127                    portletPermissionUtil.setPortletPermission(new PortletPermissionImpl());
128    
129                    SAXReaderUtil saxReaderUtil = new SAXReaderUtil();
130    
131                    saxReaderUtil.setSAXReader(saxReaderImpl);
132    
133                    SingleVMPoolImpl singleVMPoolImpl = new SingleVMPoolImpl();
134    
135                    singleVMPoolImpl.setPortalCacheManager(
136                            MemoryPortalCacheManager.createMemoryPortalCacheManager(
137                                    ToolDependencies.class.getName()));
138    
139                    singleVMPoolUtil.setSingleVMPool(singleVMPoolImpl);
140            }
141    
142            public static void wireDeployers() {
143                    wireBasic();
144    
145                    MultiVMPoolUtil multiVMPoolUtil = new MultiVMPoolUtil();
146    
147                    MultiVMPoolImpl multiVMPoolImpl = new MultiVMPoolImpl();
148    
149                    multiVMPoolImpl.setPortalCacheManager(
150                            MemoryPortalCacheManager.
151                                    <Serializable, Serializable>createMemoryPortalCacheManager(
152                                            ToolDependencies.class.getName()));
153    
154                    multiVMPoolUtil.setMultiVMPool(multiVMPoolImpl);
155    
156                    PortalUtil portalUtil = new PortalUtil();
157    
158                    portalUtil.setPortal(new PortalImpl());
159            }
160    
161            public static void wireServiceBuilder() {
162                    wireDeployers();
163    
164                    ResourceActionsUtil resourceActionsUtil = new ResourceActionsUtil();
165    
166                    ResourceActionsImpl resourceActionsImpl = new ResourceActionsImpl();
167    
168                    resourceActionsImpl.afterPropertiesSet();
169    
170                    resourceActionsUtil.setResourceActions(resourceActionsImpl);
171            }
172    
173    }