1
19
20 package com.liferay.portal.upgrade;
21
22 import com.liferay.portal.kernel.util.InstancePool;
23 import com.liferay.portal.tools.sql.DBUtil;
24
25 import java.io.IOException;
26
27 import java.sql.SQLException;
28
29 import javax.naming.NamingException;
30
31
38 public abstract class UpgradeProcess {
39
40 public UpgradeProcess() {
41 }
42
43 public int getThreshold() {
44
45
49 return 0;
50 }
51
52 public boolean isSupportsAlterColumnName() {
53 return DBUtil.getInstance().isSupportsAlterColumnName();
54 }
55
56 public boolean isSupportsAlterColumnType() {
57 return DBUtil.getInstance().isSupportsAlterColumnType();
58 }
59
60 public boolean isSupportsStringCaseSensitiveQuery() {
61 return DBUtil.getInstance().isSupportsStringCaseSensitiveQuery();
62 }
63
64 public boolean isSupportsUpdateWithInnerJoin() {
65 return DBUtil.getInstance().isSupportsUpdateWithInnerJoin();
66 }
67
68 public void runSQL(String template) throws IOException, SQLException {
69 DBUtil.getInstance().runSQL(template);
70 }
71
72 public void runSQL(String[] templates) throws IOException, SQLException {
73 DBUtil.getInstance().runSQL(templates);
74 }
75
76 public void runSQLTemplate(String path)
77 throws IOException, NamingException, SQLException {
78
79 DBUtil.getInstance().runSQLTemplate(path);
80 }
81
82 public void runSQLTemplate(String path, boolean failOnError)
83 throws IOException, NamingException, SQLException {
84
85 DBUtil.getInstance().runSQLTemplate(path, failOnError);
86 }
87
88 public abstract void upgrade() throws UpgradeException;
89
90 public void upgrade(Class<?> upgradeProcessClass)
91 throws UpgradeException {
92
93 UpgradeProcess upgradeProcess = (UpgradeProcess)InstancePool.get(
94 upgradeProcessClass.getName());
95
96 upgradeProcess.upgrade();
97 }
98
99 public void upgrade(UpgradeProcess upgradeProcess)
100 throws UpgradeException {
101
102 upgradeProcess.upgrade();
103 }
104
105 }