001
014
015 package com.liferay.portal.util;
016
017 import com.liferay.portal.cache.CacheRegistryImpl;
018 import com.liferay.portal.configuration.ConfigurationFactoryImpl;
019 import com.liferay.portal.dao.db.DBFactoryImpl;
020 import com.liferay.portal.dao.jdbc.DataSourceFactoryImpl;
021 import com.liferay.portal.kernel.cache.CacheRegistryUtil;
022 import com.liferay.portal.kernel.configuration.ConfigurationFactoryUtil;
023 import com.liferay.portal.kernel.dao.db.DBFactoryUtil;
024 import com.liferay.portal.kernel.dao.jdbc.DataSourceFactoryUtil;
025 import com.liferay.portal.kernel.log.LogFactoryUtil;
026 import com.liferay.portal.kernel.util.GetterUtil;
027 import com.liferay.portal.kernel.util.JavaDetector;
028 import com.liferay.portal.kernel.util.LocaleUtil;
029 import com.liferay.portal.kernel.util.PortalClassLoaderUtil;
030 import com.liferay.portal.kernel.util.StringPool;
031 import com.liferay.portal.kernel.util.SystemProperties;
032 import com.liferay.portal.kernel.util.TimeZoneUtil;
033 import com.liferay.portal.log.Log4jLogFactoryImpl;
034 import com.liferay.portal.spring.util.SpringUtil;
035 import com.liferay.util.log4j.Log4JUtil;
036
037 import com.sun.syndication.io.XmlReader;
038
039 import java.util.List;
040
041 import org.apache.commons.lang.time.StopWatch;
042
043
046 public class InitUtil {
047
048 public static synchronized void init() {
049 if (_initialized) {
050 return;
051 }
052
053 StopWatch stopWatch = null;
054
055 if (_PRINT_TIME) {
056 stopWatch = new StopWatch();
057
058 stopWatch.start();
059 }
060
061
062
063
064 String userLanguage = SystemProperties.get("user.language");
065 String userCountry = SystemProperties.get("user.country");
066 String userVariant = SystemProperties.get("user.variant");
067
068 LocaleUtil.setDefault(userLanguage, userCountry, userVariant);
069
070
071
072
073 String userTimeZone = SystemProperties.get("user.timezone");
074
075 TimeZoneUtil.setDefault(userTimeZone);
076
077
078
079 try {
080 PortalClassLoaderUtil.setClassLoader(
081 ClassLoaderUtil.getContextClassLoader());
082 }
083 catch (Exception e) {
084 e.printStackTrace();
085 }
086
087
088
089 com.liferay.portal.kernel.util.PropsUtil.setProps(new PropsImpl());
090
091
092
093 if (GetterUtil.getBoolean(
094 SystemProperties.get("log4j.configure.on.startup"), true)) {
095
096 ClassLoader classLoader = InitUtil.class.getClassLoader();
097
098 Log4JUtil.configureLog4J(classLoader);
099 }
100
101
102
103 try {
104 LogFactoryUtil.setLogFactory(new Log4jLogFactoryImpl());
105 }
106 catch (Exception e) {
107 e.printStackTrace();
108 }
109
110
111
112 CacheRegistryUtil.setCacheRegistry(new CacheRegistryImpl());
113
114
115
116 ConfigurationFactoryUtil.setConfigurationFactory(
117 new ConfigurationFactoryImpl());
118
119
120
121 DataSourceFactoryUtil.setDataSourceFactory(new DataSourceFactoryImpl());
122
123
124
125 DBFactoryUtil.setDBFactory(new DBFactoryImpl());
126
127
128
129 JavaDetector.isJDK5();
130
131
132
133 XmlReader.setDefaultEncoding(StringPool.UTF8);
134
135 if (_PRINT_TIME) {
136 System.out.println(
137 "InitAction takes " + stopWatch.getTime() + " ms");
138 }
139
140 _initialized = true;
141 }
142
143 public synchronized static void initWithSpring() {
144 initWithSpring(false, null);
145 }
146
147 public synchronized static void initWithSpring(boolean force) {
148 initWithSpring(force, null);
149 }
150
151 public synchronized static void initWithSpring(
152 boolean force, List<String> extraConfigLocations) {
153
154 if (force) {
155 _initialized = false;
156 }
157
158 if (_initialized) {
159 return;
160 }
161
162 if (!_neverInitialized) {
163 PropsUtil.reload();
164 }
165 else {
166 _neverInitialized = false;
167 }
168
169 init();
170
171 SpringUtil.loadContext(extraConfigLocations);
172
173 _initialized = true;
174 }
175
176 public synchronized static void initWithSpring(
177 List<String> extraConfigLocations) {
178
179 initWithSpring(false, extraConfigLocations);
180 }
181
182 private static final boolean _PRINT_TIME = false;
183
184 private static boolean _initialized;
185 private static boolean _neverInitialized = true;
186
187 }