001
014
015 package com.liferay.portal.upgrade.v4_3_0;
016
017 import com.liferay.portal.kernel.upgrade.UpgradeProcess;
018 import com.liferay.portal.kernel.upgrade.util.DefaultPKMapper;
019 import com.liferay.portal.kernel.upgrade.util.SwapUpgradeColumnImpl;
020 import com.liferay.portal.kernel.upgrade.util.UpgradeColumn;
021 import com.liferay.portal.kernel.upgrade.util.UpgradeTable;
022 import com.liferay.portal.kernel.upgrade.util.UpgradeTableFactoryUtil;
023 import com.liferay.portal.kernel.upgrade.util.ValueMapper;
024 import com.liferay.portal.upgrade.util.LazyPKUpgradeColumnImpl;
025 import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
026 import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
027 import com.liferay.portal.upgrade.v4_3_0.util.ClassNameIdUpgradeColumnImpl;
028 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKContainer;
029 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKUpgradeColumnImpl;
030 import com.liferay.portal.upgrade.v4_3_0.util.MBCategoryIdUpgradeColumnImpl;
031 import com.liferay.portal.upgrade.v4_3_0.util.MBCategoryTable;
032 import com.liferay.portal.upgrade.v4_3_0.util.MBDiscussionTable;
033 import com.liferay.portal.upgrade.v4_3_0.util.MBMessageAttachmentsUpgradeColumnImpl;
034 import com.liferay.portal.upgrade.v4_3_0.util.MBMessageFlagTable;
035 import com.liferay.portal.upgrade.v4_3_0.util.MBMessageTable;
036 import com.liferay.portal.upgrade.v4_3_0.util.MBStatsUserTable;
037 import com.liferay.portal.upgrade.v4_3_0.util.MBThreadTable;
038 import com.liferay.portal.util.PortalUtil;
039 import com.liferay.portlet.blogs.model.BlogsEntry;
040
041 import java.sql.Types;
042
043 import java.util.HashMap;
044 import java.util.Map;
045
046
049 public class UpgradeMessageBoards extends UpgradeProcess {
050
051 protected void doUpgrade() throws Exception {
052
053
054
055 UpgradeColumn upgradeCompanyIdColumn = new SwapUpgradeColumnImpl(
056 "companyId", new Integer(Types.VARCHAR),
057 AvailableMappersUtil.getCompanyIdMapper());
058
059 UpgradeColumn upgradeGroupIdColumn = new SwapUpgradeColumnImpl(
060 "groupId", AvailableMappersUtil.getGroupIdMapper());
061
062 UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
063 "userId", new Integer(Types.VARCHAR),
064 AvailableMappersUtil.getUserIdMapper());
065
066 PKUpgradeColumnImpl upgradePKColumn =
067 new MBCategoryIdUpgradeColumnImpl();
068
069 UpgradeTable upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
070 MBCategoryTable.TABLE_NAME, MBCategoryTable.TABLE_COLUMNS,
071 upgradePKColumn, upgradeGroupIdColumn, upgradeUserIdColumn);
072
073 upgradeTable.setCreateSQL(MBCategoryTable.TABLE_SQL_CREATE);
074
075 upgradeTable.updateTable();
076
077 ValueMapper categoryIdMapper = new DefaultPKMapper(
078 upgradePKColumn.getValueMapper());
079
080 AvailableMappersUtil.setMBCategoryIdMapper(categoryIdMapper);
081
082 UpgradeColumn upgradeParentCategoryIdColumn = new SwapUpgradeColumnImpl(
083 "parentCategoryId", categoryIdMapper);
084
085 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
086 MBCategoryTable.TABLE_NAME, MBCategoryTable.TABLE_COLUMNS,
087 upgradeParentCategoryIdColumn);
088
089 upgradeTable.updateTable();
090
091 UpgradeColumn upgradeCategoryIdColumn = new SwapUpgradeColumnImpl(
092 "categoryId", categoryIdMapper);
093
094
095
096 upgradePKColumn = new PKUpgradeColumnImpl("messageId", true);
097
098 PKUpgradeColumnImpl upgradeThreadIdPKColumn =
099 new LazyPKUpgradeColumnImpl("threadId");
100
101 UpgradeColumn upgradeAttachmentsColumn =
102 new MBMessageAttachmentsUpgradeColumnImpl(
103 upgradePKColumn, upgradeCompanyIdColumn,
104 upgradeThreadIdPKColumn);
105
106 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
107 MBMessageTable.TABLE_NAME, MBMessageTable.TABLE_COLUMNS,
108 upgradePKColumn, upgradeCompanyIdColumn, upgradeUserIdColumn,
109 upgradeCategoryIdColumn, upgradeThreadIdPKColumn,
110 upgradeAttachmentsColumn);
111
112 upgradeTable.setCreateSQL(MBMessageTable.TABLE_SQL_CREATE);
113
114 upgradeTable.updateTable();
115
116 ValueMapper messageIdMapper = new DefaultPKMapper(
117 upgradePKColumn.getValueMapper());
118
119 AvailableMappersUtil.setMBMessageIdMapper(messageIdMapper);
120
121 ValueMapper threadIdMapper = upgradeThreadIdPKColumn.getValueMapper();
122
123 AvailableMappersUtil.setMBThreadIdMapper(threadIdMapper);
124
125 UpgradeColumn upgradeParentMessageIdColumn = new SwapUpgradeColumnImpl(
126 "parentMessageId", messageIdMapper);
127
128 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
129 MBMessageTable.TABLE_NAME, MBMessageTable.TABLE_COLUMNS,
130 upgradeParentMessageIdColumn);
131
132 upgradeTable.updateTable();
133
134 UpgradeColumn upgradeMessageIdColumn = new SwapUpgradeColumnImpl(
135 "messageId", messageIdMapper);
136
137 UpgradeColumn upgradeRootMessageIdColumn = new SwapUpgradeColumnImpl(
138 "rootMessageId", messageIdMapper);
139
140
141
142 upgradePKColumn = new PKUpgradeColumnImpl("messageFlagId", true);
143
144 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
145 MBMessageFlagTable.TABLE_NAME, MBMessageFlagTable.TABLE_COLUMNS,
146 upgradePKColumn, upgradeUserIdColumn, upgradeMessageIdColumn);
147
148 upgradeTable.setCreateSQL(MBMessageFlagTable.TABLE_SQL_CREATE);
149
150 upgradeTable.updateTable();
151
152
153
154 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
155 MBStatsUserTable.TABLE_NAME, MBStatsUserTable.TABLE_COLUMNS,
156 new PKUpgradeColumnImpl("statsUserId", false),
157 upgradeGroupIdColumn, upgradeUserIdColumn);
158
159 upgradeTable.setCreateSQL(MBStatsUserTable.TABLE_SQL_CREATE);
160
161 upgradeTable.updateTable();
162
163
164
165 UpgradeColumn upgradeThreadIdColumn = new SwapUpgradeColumnImpl(
166 "threadId", threadIdMapper);
167
168 UpgradeColumn upgradeLastPostByUserIdColumn = new SwapUpgradeColumnImpl(
169 "lastPostByUserId", new Integer(Types.VARCHAR),
170 AvailableMappersUtil.getUserIdMapper());
171
172 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
173 MBThreadTable.TABLE_NAME, MBThreadTable.TABLE_COLUMNS,
174 upgradeThreadIdColumn, upgradeCategoryIdColumn,
175 upgradeRootMessageIdColumn, upgradeLastPostByUserIdColumn);
176
177 upgradeTable.setCreateSQL(MBThreadTable.TABLE_SQL_CREATE);
178
179 upgradeTable.updateTable();
180
181
182
183 ClassNameIdUpgradeColumnImpl classNameIdColumn =
184 new ClassNameIdUpgradeColumnImpl();
185
186 Map<Long, ClassPKContainer> classPKContainers =
187 new HashMap<Long, ClassPKContainer>();
188
189 classPKContainers.put(
190 new Long(PortalUtil.getClassNameId(BlogsEntry.class.getName())),
191 new ClassPKContainer(
192 AvailableMappersUtil.getBlogsEntryIdMapper(), true));
193
194 UpgradeColumn upgradeClassPKColumn = new ClassPKUpgradeColumnImpl(
195 classNameIdColumn, classPKContainers);
196
197 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
198 MBDiscussionTable.TABLE_NAME, MBDiscussionTable.TABLE_COLUMNS,
199 new PKUpgradeColumnImpl("discussionId", false),
200 classNameIdColumn, upgradeClassPKColumn, upgradeThreadIdColumn);
201
202 upgradeTable.setCreateSQL(MBDiscussionTable.TABLE_SQL_CREATE);
203
204 upgradeTable.updateTable();
205 }
206
207 }