001
014
015 package com.liferay.portal.upgrade.v6_2_0;
016
017 import com.liferay.document.library.kernel.model.DLFolderConstants;
018 import com.liferay.portal.kernel.upgrade.v6_2_0.BaseUpgradeAttachments;
019 import com.liferay.portal.kernel.util.LoggingTimer;
020
021 import java.sql.PreparedStatement;
022 import java.sql.ResultSet;
023 import java.sql.Timestamp;
024
025
028 public class UpgradeMessageBoardsAttachments extends BaseUpgradeAttachments {
029
030 @Override
031 protected String getClassName() {
032 return "com.liferay.portlet.messageboards.model.MBMessage";
033 }
034
035 @Override
036 protected long getContainerModelFolderId(
037 long groupId, long companyId, long resourcePrimKey,
038 long containerModelId, long userId, String userName,
039 Timestamp createDate)
040 throws Exception {
041
042 long repositoryId = getRepositoryId(
043 groupId, companyId, userId, userName, createDate, getClassNameId(),
044 getPortletId());
045
046 long repositoryFolderId = getFolderId(
047 groupId, companyId, userId, userName, createDate, repositoryId,
048 DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, getPortletId(), false);
049
050 long threadFolderId = getFolderId(
051 groupId, companyId, userId, userName, createDate, repositoryId,
052 repositoryFolderId, String.valueOf(containerModelId), false);
053
054 long messageFolderId = getFolderId(
055 groupId, companyId, userId, userName, createDate, repositoryId,
056 threadFolderId, String.valueOf(resourcePrimKey), false);
057
058 return messageFolderId;
059 }
060
061 @Override
062 protected String getDirName(long containerModelId, long resourcePrimKey) {
063 return "messageboards/" + containerModelId + "/" + resourcePrimKey;
064 }
065
066 @Override
067 protected String getPortletId() {
068 return "19";
069 }
070
071 @Override
072 protected void updateAttachments() throws Exception {
073 try (LoggingTimer loggingTimer = new LoggingTimer();
074 PreparedStatement ps = connection.prepareStatement(
075 "select messageId, groupId, companyId, userId, userName, " +
076 "threadId from MBMessage where classNameId = 0 and " +
077 "classPK = 0");
078 ResultSet rs = ps.executeQuery()) {
079
080 while (rs.next()) {
081 long messageId = rs.getLong("messageId");
082 long groupId = rs.getLong("groupId");
083 long companyId = rs.getLong("companyId");
084 long userId = rs.getLong("userId");
085 String userName = rs.getString("userName");
086 long threadId = rs.getLong("threadId");
087
088 updateEntryAttachments(
089 companyId, groupId, messageId, threadId, userId, userName);
090 }
091 }
092 }
093
094 }