1
22
23 package com.liferay.portal.upgrade.v4_3_0;
24
25 import com.liferay.portal.upgrade.UpgradeException;
26 import com.liferay.portal.upgrade.UpgradeProcess;
27 import com.liferay.portal.upgrade.util.DefaultPKMapper;
28 import com.liferay.portal.upgrade.util.DefaultUpgradeTableImpl;
29 import com.liferay.portal.upgrade.util.LazyPKUpgradeColumnImpl;
30 import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
31 import com.liferay.portal.upgrade.util.SwapUpgradeColumnImpl;
32 import com.liferay.portal.upgrade.util.UpgradeColumn;
33 import com.liferay.portal.upgrade.util.UpgradeTable;
34 import com.liferay.portal.upgrade.util.ValueMapper;
35 import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
36 import com.liferay.portal.upgrade.v4_3_0.util.ClassNameIdUpgradeColumnImpl;
37 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKContainer;
38 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKUpgradeColumnImpl;
39 import com.liferay.portal.upgrade.v4_3_0.util.MBCategoryIdUpgradeColumnImpl;
40 import com.liferay.portal.upgrade.v4_3_0.util.MBMessageAttachmentsUpgradeColumnImpl;
41 import com.liferay.portal.util.PortalUtil;
42 import com.liferay.portlet.blogs.model.BlogsEntry;
43 import com.liferay.portlet.messageboards.model.impl.MBCategoryImpl;
44 import com.liferay.portlet.messageboards.model.impl.MBDiscussionImpl;
45 import com.liferay.portlet.messageboards.model.impl.MBMessageFlagImpl;
46 import com.liferay.portlet.messageboards.model.impl.MBMessageImpl;
47 import com.liferay.portlet.messageboards.model.impl.MBStatsUserImpl;
48 import com.liferay.portlet.messageboards.model.impl.MBThreadImpl;
49 import com.liferay.util.CollectionFactory;
50
51 import java.sql.Types;
52
53 import java.util.Map;
54
55 import org.apache.commons.logging.Log;
56 import org.apache.commons.logging.LogFactory;
57
58
64 public class UpgradeMessageBoards extends UpgradeProcess {
65
66 public void upgrade() throws UpgradeException {
67 _log.info("Upgrading");
68
69 try {
70 doUpgrade();
71 }
72 catch (Exception e) {
73 throw new UpgradeException(e);
74 }
75 }
76
77 protected void doUpgrade() throws Exception {
78
79
81 UpgradeColumn upgradeCompanyIdColumn = new SwapUpgradeColumnImpl(
82 "companyId", new Integer(Types.VARCHAR),
83 AvailableMappersUtil.getCompanyIdMapper());
84
85 UpgradeColumn upgradeGroupIdColumn = new SwapUpgradeColumnImpl(
86 "groupId", AvailableMappersUtil.getGroupIdMapper());
87
88 UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
89 "userId", new Integer(Types.VARCHAR),
90 AvailableMappersUtil.getUserIdMapper());
91
92 PKUpgradeColumnImpl upgradePKColumn =
93 new MBCategoryIdUpgradeColumnImpl();
94
95 UpgradeTable upgradeTable = new DefaultUpgradeTableImpl(
96 MBCategoryImpl.TABLE_NAME, MBCategoryImpl.TABLE_COLUMNS,
97 upgradePKColumn, upgradeGroupIdColumn, upgradeUserIdColumn);
98
99 upgradeTable.setCreateSQL(MBCategoryImpl.TABLE_SQL_CREATE);
100
101 upgradeTable.updateTable();
102
103 ValueMapper categoryIdMapper = new DefaultPKMapper(
104 upgradePKColumn.getValueMapper());
105
106 AvailableMappersUtil.setMBCategoryIdMapper(categoryIdMapper);
107
108 UpgradeColumn upgradeParentCategoryIdColumn = new SwapUpgradeColumnImpl(
109 "parentCategoryId", categoryIdMapper);
110
111 upgradeTable = new DefaultUpgradeTableImpl(
112 MBCategoryImpl.TABLE_NAME, MBCategoryImpl.TABLE_COLUMNS,
113 upgradeParentCategoryIdColumn);
114
115 upgradeTable.updateTable();
116
117 UpgradeColumn upgradeCategoryIdColumn = new SwapUpgradeColumnImpl(
118 "categoryId", categoryIdMapper);
119
120
122 upgradePKColumn = new PKUpgradeColumnImpl("messageId", true);
123
124 PKUpgradeColumnImpl upgradeThreadIdPKColumn =
125 new LazyPKUpgradeColumnImpl("threadId");
126
127 UpgradeColumn upgradeAttachmentsColumn =
128 new MBMessageAttachmentsUpgradeColumnImpl(
129 upgradePKColumn, upgradeCompanyIdColumn,
130 upgradeThreadIdPKColumn);
131
132 upgradeTable = new DefaultUpgradeTableImpl(
133 MBMessageImpl.TABLE_NAME, MBMessageImpl.TABLE_COLUMNS,
134 upgradePKColumn, upgradeCompanyIdColumn, upgradeUserIdColumn,
135 upgradeCategoryIdColumn, upgradeThreadIdPKColumn,
136 upgradeAttachmentsColumn);
137
138 upgradeTable.setCreateSQL(MBMessageImpl.TABLE_SQL_CREATE);
139
140 upgradeTable.updateTable();
141
142 ValueMapper messageIdMapper = new DefaultPKMapper(
143 upgradePKColumn.getValueMapper());
144
145 AvailableMappersUtil.setMBMessageIdMapper(messageIdMapper);
146
147 ValueMapper threadIdMapper = upgradeThreadIdPKColumn.getValueMapper();
148
149 AvailableMappersUtil.setMBThreadIdMapper(threadIdMapper);
150
151 UpgradeColumn upgradeParentMessageIdColumn = new SwapUpgradeColumnImpl(
152 "parentMessageId", messageIdMapper);
153
154 upgradeTable = new DefaultUpgradeTableImpl(
155 MBMessageImpl.TABLE_NAME, MBMessageImpl.TABLE_COLUMNS,
156 upgradeParentMessageIdColumn);
157
158 upgradeTable.updateTable();
159
160 UpgradeColumn upgradeMessageIdColumn = new SwapUpgradeColumnImpl(
161 "messageId", messageIdMapper);
162
163 UpgradeColumn upgradeRootMessageIdColumn = new SwapUpgradeColumnImpl(
164 "rootMessageId", messageIdMapper);
165
166
168 upgradePKColumn = new PKUpgradeColumnImpl("messageFlagId", true);
169
170 upgradeTable = new DefaultUpgradeTableImpl(
171 MBMessageFlagImpl.TABLE_NAME, MBMessageFlagImpl.TABLE_COLUMNS,
172 upgradePKColumn, upgradeUserIdColumn, upgradeMessageIdColumn);
173
174 upgradeTable.setCreateSQL(MBMessageFlagImpl.TABLE_SQL_CREATE);
175
176 upgradeTable.updateTable();
177
178
180 upgradeTable = new DefaultUpgradeTableImpl(
181 MBStatsUserImpl.TABLE_NAME, MBStatsUserImpl.TABLE_COLUMNS,
182 new PKUpgradeColumnImpl("statsUserId", false),
183 upgradeGroupIdColumn, upgradeUserIdColumn);
184
185 upgradeTable.setCreateSQL(MBStatsUserImpl.TABLE_SQL_CREATE);
186
187 upgradeTable.updateTable();
188
189
191 UpgradeColumn upgradeThreadIdColumn = new SwapUpgradeColumnImpl(
192 "threadId", threadIdMapper);
193
194 UpgradeColumn upgradeLastPostByUserIdColumn = new SwapUpgradeColumnImpl(
195 "lastPostByUserId", new Integer(Types.VARCHAR),
196 AvailableMappersUtil.getUserIdMapper());
197
198 upgradeTable = new DefaultUpgradeTableImpl(
199 MBThreadImpl.TABLE_NAME, MBThreadImpl.TABLE_COLUMNS,
200 upgradeThreadIdColumn, upgradeCategoryIdColumn,
201 upgradeRootMessageIdColumn, upgradeLastPostByUserIdColumn);
202
203 upgradeTable.setCreateSQL(MBThreadImpl.TABLE_SQL_CREATE);
204
205 upgradeTable.updateTable();
206
207
209 ClassNameIdUpgradeColumnImpl classNameIdColumn =
210 new ClassNameIdUpgradeColumnImpl();
211
212 Map classPKContainers = CollectionFactory.getHashMap();
213
214 classPKContainers.put(
215 new Long(PortalUtil.getClassNameId(BlogsEntry.class.getName())),
216 new ClassPKContainer(
217 AvailableMappersUtil.getBlogsEntryIdMapper(), true));
218
219 UpgradeColumn upgradeClassPKColumn = new ClassPKUpgradeColumnImpl(
220 classNameIdColumn, classPKContainers);
221
222 upgradeTable = new DefaultUpgradeTableImpl(
223 MBDiscussionImpl.TABLE_NAME, MBDiscussionImpl.TABLE_COLUMNS,
224 new PKUpgradeColumnImpl("discussionId", false),
225 classNameIdColumn, upgradeClassPKColumn, upgradeThreadIdColumn);
226
227 upgradeTable.setCreateSQL(MBDiscussionImpl.TABLE_SQL_CREATE);
228
229 upgradeTable.updateTable();
230 }
231
232 private static Log _log = LogFactory.getLog(UpgradeMessageBoards.class);
233
234 }