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.DefaultUpgradeTableImpl;
28 import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
29 import com.liferay.portal.upgrade.util.SwapUpgradeColumnImpl;
30 import com.liferay.portal.upgrade.util.UpgradeColumn;
31 import com.liferay.portal.upgrade.util.UpgradeTable;
32 import com.liferay.portal.upgrade.util.ValueMapper;
33 import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
34 import com.liferay.portal.upgrade.v4_3_0.util.PollsChoiceIdUpgradeColumnImpl;
35 import com.liferay.portal.upgrade.v4_3_0.util.PollsVoteChoiceIdUpgradeColumnImpl;
36 import com.liferay.portlet.polls.model.impl.PollsChoiceImpl;
37 import com.liferay.portlet.polls.model.impl.PollsQuestionImpl;
38 import com.liferay.portlet.polls.model.impl.PollsVoteImpl;
39
40 import java.sql.Types;
41
42 import org.apache.commons.logging.Log;
43 import org.apache.commons.logging.LogFactory;
44
45
51 public class UpgradePolls extends UpgradeProcess {
52
53 public void upgrade() throws UpgradeException {
54 _log.info("Upgrading");
55
56 try {
57 doUpgrade();
58 }
59 catch (Exception e) {
60 throw new UpgradeException(e);
61 }
62 }
63
64 protected void doUpgrade() throws Exception {
65
66
68 UpgradeColumn upgradeGroupIdColumn = new SwapUpgradeColumnImpl(
69 "groupId", AvailableMappersUtil.getGroupIdMapper());
70
71 UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
72 "userId", new Integer(Types.VARCHAR),
73 AvailableMappersUtil.getUserIdMapper());
74
75 PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl(
76 "questionId", true);
77
78 UpgradeTable upgradeTable = new DefaultUpgradeTableImpl(
79 PollsQuestionImpl.TABLE_NAME, PollsQuestionImpl.TABLE_COLUMNS,
80 upgradePKColumn, upgradeGroupIdColumn, upgradeUserIdColumn);
81
82 upgradeTable.setCreateSQL(PollsQuestionImpl.TABLE_SQL_CREATE);
83
84 upgradeTable.updateTable();
85
86 ValueMapper questionIdMapper = upgradePKColumn.getValueMapper();
87
88 AvailableMappersUtil.setPollsQuestionIdMapper(questionIdMapper);
89
90 UpgradeColumn upgradeQuestionIdColumn = new SwapUpgradeColumnImpl(
91 "questionId", questionIdMapper);
92
93
95 PKUpgradeColumnImpl upgradeChoiceId =
96 new PollsChoiceIdUpgradeColumnImpl(upgradeQuestionIdColumn);
97
98 upgradeTable = new DefaultUpgradeTableImpl(
99 PollsChoiceImpl.TABLE_NAME, PollsChoiceImpl.TABLE_COLUMNS,
100 upgradeQuestionIdColumn, upgradeChoiceId);
101
102 upgradeTable.setCreateSQL(PollsChoiceImpl.TABLE_SQL_CREATE);
103
104 upgradeTable.updateTable();
105
106 ValueMapper choiceIdMapper = upgradeChoiceId.getValueMapper();
107
108
110 UpgradeColumn upgradeVoteChoiceIdColumn =
111 new PollsVoteChoiceIdUpgradeColumnImpl(
112 upgradeQuestionIdColumn, choiceIdMapper);
113
114 upgradeTable = new DefaultUpgradeTableImpl(
115 PollsVoteImpl.TABLE_NAME, PollsVoteImpl.TABLE_COLUMNS,
116 new PKUpgradeColumnImpl("voteId", false), upgradeUserIdColumn,
117 upgradeQuestionIdColumn, upgradeVoteChoiceIdColumn);
118
119 upgradeTable.setCreateSQL(PollsVoteImpl.TABLE_SQL_CREATE);
120
121 upgradeTable.updateTable();
122 }
123
124 private static Log _log = LogFactory.getLog(UpgradePolls.class);
125
126 }