1
22
23 package com.liferay.portal.tools;
24
25 import com.liferay.portal.events.StartupHelperUtil;
26 import com.liferay.portal.kernel.cache.CacheRegistry;
27 import com.liferay.portal.kernel.cache.MultiVMPoolUtil;
28 import com.liferay.portal.kernel.util.ReleaseInfo;
29 import com.liferay.portal.kernel.util.Time;
30 import com.liferay.portal.model.Release;
31 import com.liferay.portal.security.permission.ResourceActionsUtil;
32 import com.liferay.portal.service.ClassNameLocalServiceUtil;
33 import com.liferay.portal.service.ReleaseLocalServiceUtil;
34 import com.liferay.portal.service.ResourceActionLocalServiceUtil;
35 import com.liferay.portal.service.ResourceCodeLocalServiceUtil;
36 import com.liferay.portal.util.InitUtil;
37
38 import org.apache.commons.lang.time.StopWatch;
39
40
46 public class DBUpgrader {
47
48 public static void main(String[] args) {
49 try {
50 StopWatch stopWatch = new StopWatch();
51
52 stopWatch.start();
53
54 InitUtil.initWithSpring();
55
56 upgrade();
57 verify();
58
59 System.out.println(
60 "\nSuccessfully completed upgrade process in " +
61 (stopWatch.getTime() / Time.SECOND) + " seconds.");
62
63 System.exit(0);
64 }
65 catch (Exception e) {
66 e.printStackTrace();
67
68 System.exit(1);
69 }
70 }
71
72 public static void upgrade() throws Exception {
73
74
76 CacheRegistry.setActive(false);
77
78
80 int buildNumber = ReleaseLocalServiceUtil.getBuildNumberOrCreate();
81
82 if (buildNumber < ReleaseInfo.RELEASE_4_2_1_BUILD_NUMBER) {
83 String msg = "You must first upgrade to Liferay Portal 4.2.1";
84
85 System.out.println(msg);
86
87 throw new RuntimeException(msg);
88 }
89
90 StartupHelperUtil.upgradeProcess(buildNumber);
91
92
94 ClassNameLocalServiceUtil.checkClassNames();
95
96
98 ResourceActionsUtil.init();
99
100 ResourceActionLocalServiceUtil.checkResourceActions();
101
102
104 ResourceCodeLocalServiceUtil.checkResourceCodes();
105
106
108 StartupHelperUtil.deleteTempImages();
109
110
112 if (StartupHelperUtil.isUpgraded()) {
113 MultiVMPoolUtil.clear();
114 }
115 }
116
117 public static void verify() throws Exception {
118
119
121 Release release = ReleaseLocalServiceUtil.getRelease();
122
123 StartupHelperUtil.verifyProcess(release.isVerified());
124
125
127 if (StartupHelperUtil.isUpgraded()) {
128 StartupHelperUtil.updateIndexes();
129 }
130
131
133 boolean verified = StartupHelperUtil.isVerified();
134
135 if (release.isVerified()) {
136 verified = true;
137 }
138
139 ReleaseLocalServiceUtil.updateRelease(verified);
140
141
143 CacheRegistry.setActive(true);
144 }
145
146 }