1
22
23 package com.liferay.portal.upgrade.v5_2_2;
24
25 import com.liferay.portal.kernel.dao.jdbc.DataAccess;
26 import com.liferay.portal.kernel.upgrade.UpgradeProcess;
27
28 import java.sql.Connection;
29 import java.sql.PreparedStatement;
30 import java.sql.ResultSet;
31
32
37 public class UpgradeWebForm extends UpgradeProcess {
38
39 protected void doUpgrade() throws Exception {
40 long oldClassNameId = getClassNameId(_OLD_WEBFORM_CLASS_NAME);
41
42 if (oldClassNameId == 0) {
43 return;
44 }
45
46 long newClassNameId = getClassNameId(_NEW_WEBFORM_CLASS_NAME);
47
48 if (newClassNameId == 0) {
49 runSQL(
50 "update ClassName_ set value = '" +
51 _NEW_WEBFORM_CLASS_NAME + "' where value = '" +
52 _OLD_WEBFORM_CLASS_NAME + "'");
53 }
54 else {
55 runSQL(
56 "update ExpandoTable set classNameId = '" + newClassNameId +
57 "' where classNameId = '" + oldClassNameId + "'");
58
59 runSQL(
60 "update ExpandoValue set classNameId = '" + newClassNameId +
61 "' where classNameId = '" + oldClassNameId + "'");
62
63 runSQL(
64 "delete from ClassName_ where value = '" +
65 _OLD_WEBFORM_CLASS_NAME + "'");
66 }
67 }
68
69 protected long getClassNameId(String className) throws Exception {
70 long classNameId = 0;
71
72 Connection con = null;
73 PreparedStatement ps = null;
74 ResultSet rs = null;
75
76 try {
77 con = DataAccess.getConnection();
78
79 ps = con.prepareStatement(
80 "select classNameId from ClassName_ where value = ?");
81
82 ps.setString(1, className);
83
84 rs = ps.executeQuery();
85
86 if (rs.next()) {
87 classNameId = rs.getLong("classNameId");
88 }
89 }
90 finally {
91 DataAccess.cleanUp(con, ps, rs);
92 }
93
94 return classNameId;
95 }
96
97 private static final String _NEW_WEBFORM_CLASS_NAME =
98 "com.liferay.webform.util.WebFormUtil";
99
100 private static final String _OLD_WEBFORM_CLASS_NAME =
101 "com.liferay.portlet.webform.util.WebFormUtil";
102
103 }