1
14
15 package com.liferay.portal.upgrade.v4_3_0;
16
17 import com.liferay.portal.kernel.upgrade.UpgradeProcess;
18 import com.liferay.portal.kernel.upgrade.util.DefaultPKMapper;
19 import com.liferay.portal.kernel.upgrade.util.SwapUpgradeColumnImpl;
20 import com.liferay.portal.kernel.upgrade.util.UpgradeColumn;
21 import com.liferay.portal.kernel.upgrade.util.UpgradeTable;
22 import com.liferay.portal.kernel.upgrade.util.UpgradeTableFactoryUtil;
23 import com.liferay.portal.kernel.upgrade.util.ValueMapper;
24 import com.liferay.portal.upgrade.util.LazyPKUpgradeColumnImpl;
25 import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
26 import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
27 import com.liferay.portal.upgrade.v4_3_0.util.ClassNameIdUpgradeColumnImpl;
28 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKContainer;
29 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKUpgradeColumnImpl;
30 import com.liferay.portal.upgrade.v4_3_0.util.MBCategoryIdUpgradeColumnImpl;
31 import com.liferay.portal.upgrade.v4_3_0.util.MBCategoryTable;
32 import com.liferay.portal.upgrade.v4_3_0.util.MBDiscussionTable;
33 import com.liferay.portal.upgrade.v4_3_0.util.MBMessageAttachmentsUpgradeColumnImpl;
34 import com.liferay.portal.upgrade.v4_3_0.util.MBMessageFlagTable;
35 import com.liferay.portal.upgrade.v4_3_0.util.MBMessageTable;
36 import com.liferay.portal.upgrade.v4_3_0.util.MBStatsUserTable;
37 import com.liferay.portal.upgrade.v4_3_0.util.MBThreadTable;
38 import com.liferay.portal.util.PortalUtil;
39 import com.liferay.portlet.blogs.model.BlogsEntry;
40
41 import java.sql.Types;
42
43 import java.util.HashMap;
44 import java.util.Map;
45
46
51 public class UpgradeMessageBoards extends UpgradeProcess {
52
53 protected void doUpgrade() throws Exception {
54
55
57 UpgradeColumn upgradeCompanyIdColumn = new SwapUpgradeColumnImpl(
58 "companyId", new Integer(Types.VARCHAR),
59 AvailableMappersUtil.getCompanyIdMapper());
60
61 UpgradeColumn upgradeGroupIdColumn = new SwapUpgradeColumnImpl(
62 "groupId", AvailableMappersUtil.getGroupIdMapper());
63
64 UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
65 "userId", new Integer(Types.VARCHAR),
66 AvailableMappersUtil.getUserIdMapper());
67
68 PKUpgradeColumnImpl upgradePKColumn =
69 new MBCategoryIdUpgradeColumnImpl();
70
71 UpgradeTable upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
72 MBCategoryTable.TABLE_NAME, MBCategoryTable.TABLE_COLUMNS,
73 upgradePKColumn, upgradeGroupIdColumn, upgradeUserIdColumn);
74
75 upgradeTable.setCreateSQL(MBCategoryTable.TABLE_SQL_CREATE);
76
77 upgradeTable.updateTable();
78
79 ValueMapper categoryIdMapper = new DefaultPKMapper(
80 upgradePKColumn.getValueMapper());
81
82 AvailableMappersUtil.setMBCategoryIdMapper(categoryIdMapper);
83
84 UpgradeColumn upgradeParentCategoryIdColumn = new SwapUpgradeColumnImpl(
85 "parentCategoryId", categoryIdMapper);
86
87 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
88 MBCategoryTable.TABLE_NAME, MBCategoryTable.TABLE_COLUMNS,
89 upgradeParentCategoryIdColumn);
90
91 upgradeTable.updateTable();
92
93 UpgradeColumn upgradeCategoryIdColumn = new SwapUpgradeColumnImpl(
94 "categoryId", categoryIdMapper);
95
96
98 upgradePKColumn = new PKUpgradeColumnImpl("messageId", true);
99
100 PKUpgradeColumnImpl upgradeThreadIdPKColumn =
101 new LazyPKUpgradeColumnImpl("threadId");
102
103 UpgradeColumn upgradeAttachmentsColumn =
104 new MBMessageAttachmentsUpgradeColumnImpl(
105 upgradePKColumn, upgradeCompanyIdColumn,
106 upgradeThreadIdPKColumn);
107
108 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
109 MBMessageTable.TABLE_NAME, MBMessageTable.TABLE_COLUMNS,
110 upgradePKColumn, upgradeCompanyIdColumn, upgradeUserIdColumn,
111 upgradeCategoryIdColumn, upgradeThreadIdPKColumn,
112 upgradeAttachmentsColumn);
113
114 upgradeTable.setCreateSQL(MBMessageTable.TABLE_SQL_CREATE);
115
116 upgradeTable.updateTable();
117
118 ValueMapper messageIdMapper = new DefaultPKMapper(
119 upgradePKColumn.getValueMapper());
120
121 AvailableMappersUtil.setMBMessageIdMapper(messageIdMapper);
122
123 ValueMapper threadIdMapper = upgradeThreadIdPKColumn.getValueMapper();
124
125 AvailableMappersUtil.setMBThreadIdMapper(threadIdMapper);
126
127 UpgradeColumn upgradeParentMessageIdColumn = new SwapUpgradeColumnImpl(
128 "parentMessageId", messageIdMapper);
129
130 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
131 MBMessageTable.TABLE_NAME, MBMessageTable.TABLE_COLUMNS,
132 upgradeParentMessageIdColumn);
133
134 upgradeTable.updateTable();
135
136 UpgradeColumn upgradeMessageIdColumn = new SwapUpgradeColumnImpl(
137 "messageId", messageIdMapper);
138
139 UpgradeColumn upgradeRootMessageIdColumn = new SwapUpgradeColumnImpl(
140 "rootMessageId", messageIdMapper);
141
142
144 upgradePKColumn = new PKUpgradeColumnImpl("messageFlagId", true);
145
146 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
147 MBMessageFlagTable.TABLE_NAME, MBMessageFlagTable.TABLE_COLUMNS,
148 upgradePKColumn, upgradeUserIdColumn, upgradeMessageIdColumn);
149
150 upgradeTable.setCreateSQL(MBMessageFlagTable.TABLE_SQL_CREATE);
151
152 upgradeTable.updateTable();
153
154
156 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
157 MBStatsUserTable.TABLE_NAME, MBStatsUserTable.TABLE_COLUMNS,
158 new PKUpgradeColumnImpl("statsUserId", false),
159 upgradeGroupIdColumn, upgradeUserIdColumn);
160
161 upgradeTable.setCreateSQL(MBStatsUserTable.TABLE_SQL_CREATE);
162
163 upgradeTable.updateTable();
164
165
167 UpgradeColumn upgradeThreadIdColumn = new SwapUpgradeColumnImpl(
168 "threadId", threadIdMapper);
169
170 UpgradeColumn upgradeLastPostByUserIdColumn = new SwapUpgradeColumnImpl(
171 "lastPostByUserId", new Integer(Types.VARCHAR),
172 AvailableMappersUtil.getUserIdMapper());
173
174 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
175 MBThreadTable.TABLE_NAME, MBThreadTable.TABLE_COLUMNS,
176 upgradeThreadIdColumn, upgradeCategoryIdColumn,
177 upgradeRootMessageIdColumn, upgradeLastPostByUserIdColumn);
178
179 upgradeTable.setCreateSQL(MBThreadTable.TABLE_SQL_CREATE);
180
181 upgradeTable.updateTable();
182
183
185 ClassNameIdUpgradeColumnImpl classNameIdColumn =
186 new ClassNameIdUpgradeColumnImpl();
187
188 Map<Long, ClassPKContainer> classPKContainers =
189 new HashMap<Long, ClassPKContainer>();
190
191 classPKContainers.put(
192 new Long(PortalUtil.getClassNameId(BlogsEntry.class.getName())),
193 new ClassPKContainer(
194 AvailableMappersUtil.getBlogsEntryIdMapper(), true));
195
196 UpgradeColumn upgradeClassPKColumn = new ClassPKUpgradeColumnImpl(
197 classNameIdColumn, classPKContainers);
198
199 upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
200 MBDiscussionTable.TABLE_NAME, MBDiscussionTable.TABLE_COLUMNS,
201 new PKUpgradeColumnImpl("discussionId", false),
202 classNameIdColumn, upgradeClassPKColumn, upgradeThreadIdColumn);
203
204 upgradeTable.setCreateSQL(MBDiscussionTable.TABLE_SQL_CREATE);
205
206 upgradeTable.updateTable();
207 }
208
209 }