001
014
015 package com.liferay.portal.events;
016
017 import com.liferay.portal.kernel.dao.db.DB;
018 import com.liferay.portal.kernel.dao.db.DBFactoryUtil;
019 import com.liferay.portal.kernel.log.Log;
020 import com.liferay.portal.kernel.log.LogFactoryUtil;
021 import com.liferay.portal.kernel.upgrade.UpgradeException;
022 import com.liferay.portal.kernel.util.PortalClassLoaderUtil;
023 import com.liferay.portal.kernel.util.PropsKeys;
024 import com.liferay.portal.kernel.util.StringUtil;
025 import com.liferay.portal.upgrade.UpgradeProcessUtil;
026 import com.liferay.portal.util.PropsUtil;
027 import com.liferay.portal.verify.VerifyException;
028 import com.liferay.portal.verify.VerifyProcessUtil;
029
030
035 public class StartupHelper {
036
037 public boolean isUpgraded() {
038 return _upgraded;
039 }
040
041 public boolean isVerified() {
042 return _verified;
043 }
044
045 public void setDropIndexes(boolean dropIndexes) {
046 _dropIndexes = dropIndexes;
047 }
048
049 public void updateIndexes() {
050 try {
051 DB db = DBFactoryUtil.getDB();
052
053 Thread currentThread = Thread.currentThread();
054
055 ClassLoader classLoader = currentThread.getContextClassLoader();
056
057 String tablesSQL = StringUtil.read(
058 classLoader,
059 "com/liferay/portal/tools/sql/dependencies/portal-tables.sql");
060
061 String indexesSQL = StringUtil.read(
062 classLoader,
063 "com/liferay/portal/tools/sql/dependencies/indexes.sql");
064
065 String indexesProperties = StringUtil.read(
066 classLoader,
067 "com/liferay/portal/tools/sql/dependencies/indexes.properties");
068
069 db.updateIndexes(
070 tablesSQL, indexesSQL, indexesProperties, _dropIndexes);
071 }
072 catch (Exception e) {
073 _log.error(e, e);
074 }
075 }
076
077 public void upgradeProcess(int buildNumber) throws UpgradeException {
078 String[] upgradeProcessClassNames = PropsUtil.getArray(
079 PropsKeys.UPGRADE_PROCESSES);
080
081 _upgraded = UpgradeProcessUtil.upgradeProcess(
082 buildNumber, upgradeProcessClassNames,
083 PortalClassLoaderUtil.getClassLoader());
084 }
085
086 public void verifyProcess(boolean verified) throws VerifyException {
087 _verified = VerifyProcessUtil.verifyProcess(_upgraded, verified);
088 }
089
090 private static Log _log = LogFactoryUtil.getLog(StartupHelper.class);
091
092 private boolean _dropIndexes;
093 private boolean _upgraded;
094 private boolean _verified;
095
096 }