001
014
015 package com.liferay.portal.upgrade.v7_0_0;
016
017 import com.liferay.portal.kernel.dao.jdbc.DataAccess;
018 import com.liferay.portal.kernel.upgrade.UpgradeProcess;
019 import com.liferay.portal.kernel.util.StringBundler;
020
021 import java.sql.PreparedStatement;
022 import java.sql.ResultSet;
023
024
027 public class UpgradeRelease extends UpgradeProcess {
028
029 @Override
030 protected void doUpgrade() throws Exception {
031 PreparedStatement ps = null;
032 ResultSet rs = null;
033
034 try {
035 ps = connection.prepareStatement(
036 "select distinct buildNumber from Release_ " +
037 "where schemaVersion is null");
038
039 rs = ps.executeQuery();
040
041 while (rs.next()) {
042 String buildNumber = rs.getString("buildNumber");
043
044 String schemaVersion = toSchemaVersion(buildNumber);
045
046 runSQL(
047 "update Release_ set schemaVersion = '" + schemaVersion +
048 "' where buildNumber = " + buildNumber +
049 " and schemaVersion is null");
050 }
051 }
052 finally {
053 DataAccess.cleanUp(ps, rs);
054 }
055 }
056
057 protected String toSchemaVersion(String buildNumber) {
058 char[] chars = buildNumber.toCharArray();
059
060 StringBundler sb = new StringBundler(2 * chars.length);
061
062 int i = 0;
063
064 for (; i < chars.length - 1; i++) {
065 sb.append(chars[i]);
066 sb.append(".");
067 }
068
069 sb.append(chars[i]);
070
071 return sb.toString();
072 }
073
074 }