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.log.Log;
27 import com.liferay.portal.kernel.log.LogFactoryUtil;
28 import com.liferay.portal.upgrade.UpgradeException;
29 import com.liferay.portal.upgrade.UpgradeProcess;
30
31 import java.sql.Connection;
32 import java.sql.PreparedStatement;
33 import java.sql.ResultSet;
34
35
41 public class UpgradeWebForm extends UpgradeProcess {
42
43 public void upgrade() throws UpgradeException {
44 _log.info("Upgrading");
45
46 try {
47 doUpgrade();
48 }
49 catch (Exception e) {
50 throw new UpgradeException(e);
51 }
52 }
53
54 protected void doUpgrade() throws Exception {
55 Connection con = null;
56 PreparedStatement ps = null;
57 ResultSet rs = null;
58
59 long oldClassNameId = 0;
60 long newClassNameId = 0;
61
62 try {
63 con = DataAccess.getConnection();
64
65 ps = con.prepareStatement(
66 "select classNameId from ClassName_ where value = ?");
67
68 ps.setString(1, _OLD_WEBFORM_CLASS_NAME);
69
70 rs = ps.executeQuery();
71
72 if (!rs.next()) {
73 ps.close();
74
75 return;
76 }
77
78 oldClassNameId = rs.getLong("classNameId");
79
80 ps = con.prepareStatement(
81 "select classNameId from ClassName_ where value = ?");
82
83 ps.setString(1, _NEW_WEBFORM_CLASS_NAME);
84
85 rs = ps.executeQuery();
86
87 if (!rs.next()){
88 ps = con.prepareStatement(
89 "update ClassName_ set value = ? where value = ?");
90
91 ps.setString(1, _NEW_WEBFORM_CLASS_NAME);
92 ps.setString(2, _OLD_WEBFORM_CLASS_NAME);
93
94 ps.executeUpdate();
95
96 ps.close();
97
98 return;
99 }
100
101 newClassNameId = rs.getLong("classNameId");
102
103 ps = con.prepareStatement(
104 "update ExpandoTable set classNameId = ? where " +
105 "classNameId = ?");
106
107 ps.setLong(1, newClassNameId);
108 ps.setLong(2, oldClassNameId);
109
110 ps.executeUpdate();
111
112 ps = con.prepareStatement(
113 "update ExpandoValue set classNameId = ? where " +
114 "classNameId = ?");
115
116 ps.setLong(1, newClassNameId);
117 ps.setLong(2, oldClassNameId);
118
119 ps.executeUpdate();
120
121 ps = con.prepareStatement(
122 "delete from ClassName_ where value = ?");
123
124 ps.setString(1, _OLD_WEBFORM_CLASS_NAME);
125
126 ps.executeUpdate();
127
128 ps.close();
129 }
130 finally {
131 DataAccess.cleanUp(con, ps, rs);
132 }
133 }
134
135 private static final String _NEW_WEBFORM_CLASS_NAME =
136 "com.liferay.webform.util.WebFormUtil";
137
138 private static final String _OLD_WEBFORM_CLASS_NAME =
139 "com.liferay.portlet.webform.util.WebFormUtil";
140
141 private static Log _log = LogFactoryUtil.getLog(UpgradeWebForm.class);
142
143 }