1
22
23 package com.liferay.portal.upgrade.v4_3_0;
24
25 import com.liferay.portal.model.impl.CompanyImpl;
26 import com.liferay.portal.upgrade.UpgradeException;
27 import com.liferay.portal.upgrade.UpgradeProcess;
28 import com.liferay.portal.upgrade.util.DefaultPKMapper;
29 import com.liferay.portal.upgrade.util.DefaultUpgradeTableImpl;
30 import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
31 import com.liferay.portal.upgrade.util.SwapUpgradeColumnImpl;
32 import com.liferay.portal.upgrade.util.TempUpgradeColumnImpl;
33 import com.liferay.portal.upgrade.util.UpgradeColumn;
34 import com.liferay.portal.upgrade.util.UpgradeTable;
35 import com.liferay.portal.upgrade.util.ValueMapper;
36 import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
37 import com.liferay.portal.upgrade.v4_3_0.util.JournalArticleContentUpgradeColumnImpl;
38 import com.liferay.portal.upgrade.v4_3_0.util.JournalArticlePKUpgradeColumnImpl;
39 import com.liferay.portal.upgrade.v4_3_0.util.JournalArticleResourcePrimKeyUpgradeColumnImpl;
40 import com.liferay.portal.upgrade.v4_3_0.util.JournalStructurePKUpgradeColumnImpl;
41 import com.liferay.portal.upgrade.v4_3_0.util.JournalStructureXSDUpgradeColumnImpl;
42 import com.liferay.portal.upgrade.v4_3_0.util.JournalTemplatePKUpgradeColumnImpl;
43 import com.liferay.portal.upgrade.v4_3_0.util.JournalTemplateSmallImageIdUpgradeColumnImpl;
44 import com.liferay.portal.upgrade.v4_3_0.util.JournalTemplateXSLUpgradeColumnImpl;
45 import com.liferay.portal.util.PropsUtil;
46 import com.liferay.portlet.journal.model.impl.JournalArticleImpl;
47 import com.liferay.portlet.journal.model.impl.JournalStructureImpl;
48 import com.liferay.portlet.journal.model.impl.JournalTemplateImpl;
49
50 import java.sql.Types;
51
52 import org.apache.commons.logging.Log;
53 import org.apache.commons.logging.LogFactory;
54
55
61 public class UpgradeJournal extends UpgradeProcess {
62
63 public void upgrade() throws UpgradeException {
64 _log.info("Upgrading");
65
66 try {
67 doUpgrade();
68 }
69 catch (Exception e) {
70 throw new UpgradeException(e);
71 }
72 }
73
74 protected void doUpgrade() throws Exception {
75
76
78 UpgradeColumn upgradeCompanyIdColumn = new SwapUpgradeColumnImpl(
79 "companyId", new Integer(Types.VARCHAR),
80 AvailableMappersUtil.getCompanyIdMapper());
81
82 UpgradeColumn upgradeGroupIdColumn = new SwapUpgradeColumnImpl(
83 "groupId", AvailableMappersUtil.getGroupIdMapper());
84
85 UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
86 "userId", new Integer(Types.VARCHAR),
87 AvailableMappersUtil.getUserIdMapper());
88
89 UpgradeColumn upgradeApprovedByUserIdColumn = new SwapUpgradeColumnImpl(
90 "approvedByUserId", new Integer(Types.VARCHAR),
91 AvailableMappersUtil.getUserIdMapper());
92
93 JournalArticlePKUpgradeColumnImpl upgradeArticlePKColumn =
94 new JournalArticlePKUpgradeColumnImpl(
95 upgradeCompanyIdColumn, upgradeGroupIdColumn);
96
97 UpgradeColumn upgradeArticleResourcePrimKeyColumn =
98 new JournalArticleResourcePrimKeyUpgradeColumnImpl(
99 upgradeArticlePKColumn);
100
101 UpgradeColumn upgradeArticleIdColumn =
102 new TempUpgradeColumnImpl("articleId");
103
104 UpgradeColumn upgradeVersionColumn =
105 new TempUpgradeColumnImpl("version", new Integer(Types.DOUBLE));
106
107 UpgradeColumn upgradeStructureIdColumn =
108 new TempUpgradeColumnImpl("structureId");
109
110 UpgradeColumn upgradeContentColumn =
111 new JournalArticleContentUpgradeColumnImpl(
112 upgradeCompanyIdColumn, upgradeGroupIdColumn,
113 upgradeArticleIdColumn, upgradeVersionColumn,
114 upgradeStructureIdColumn,
115 AvailableMappersUtil.getImageIdMapper());
116
117 UpgradeTable upgradeTable = new DefaultUpgradeTableImpl(
118 JournalArticleImpl.TABLE_NAME, JournalArticleImpl.TABLE_COLUMNS,
119 upgradeCompanyIdColumn, upgradeGroupIdColumn, upgradeUserIdColumn,
120 upgradeApprovedByUserIdColumn, upgradeArticlePKColumn,
121 upgradeArticleResourcePrimKeyColumn, upgradeArticleIdColumn,
122 upgradeVersionColumn, upgradeStructureIdColumn,
123 upgradeContentColumn);
124
125 upgradeTable.setCreateSQL(JournalArticleImpl.TABLE_SQL_CREATE);
126
127 upgradeTable.updateTable();
128
129 ValueMapper articleIdMapper = new DefaultPKMapper(
130 upgradeArticlePKColumn.getValueMapper());
131
132 AvailableMappersUtil.setJournalArticleIdMapper(articleIdMapper);
133
134
136 PKUpgradeColumnImpl upgradeStructurePKColumn =
137 new JournalStructurePKUpgradeColumnImpl(
138 upgradeCompanyIdColumn, upgradeGroupIdColumn);
139
140 UpgradeColumn upgradeXSDColumn =
141 new JournalStructureXSDUpgradeColumnImpl();
142
143 upgradeTable = new DefaultUpgradeTableImpl(
144 JournalStructureImpl.TABLE_NAME, JournalStructureImpl.TABLE_COLUMNS,
145 upgradeCompanyIdColumn, upgradeGroupIdColumn,
146 upgradeStructurePKColumn, upgradeUserIdColumn, upgradeXSDColumn);
147
148 upgradeTable.setCreateSQL(JournalStructureImpl.TABLE_SQL_CREATE);
149
150 upgradeTable.updateTable();
151
152 ValueMapper structureIdMapper = new DefaultPKMapper(
153 upgradeStructurePKColumn.getValueMapper());
154
155 AvailableMappersUtil.setJournalStructureIdMapper(structureIdMapper);
156
157
159 PKUpgradeColumnImpl upgradeTemplatePKColumn =
160 new JournalTemplatePKUpgradeColumnImpl(
161 upgradeCompanyIdColumn, upgradeGroupIdColumn);
162
163 UpgradeColumn upgradeTemplateIdColumn =
164 new TempUpgradeColumnImpl("templateId");
165
166 UpgradeColumn upgradeXSLColumn =
167 new JournalTemplateXSLUpgradeColumnImpl(upgradeTemplateIdColumn);
168
169 UpgradeColumn upgradeSmallImageIdColumn =
170 new JournalTemplateSmallImageIdUpgradeColumnImpl(
171 upgradeCompanyIdColumn, upgradeGroupIdColumn,
172 upgradeTemplatePKColumn,
173 AvailableMappersUtil.getImageIdMapper());
174
175 upgradeTable = new DefaultUpgradeTableImpl(
176 JournalTemplateImpl.TABLE_NAME, JournalTemplateImpl.TABLE_COLUMNS,
177 upgradeCompanyIdColumn, upgradeGroupIdColumn,
178 upgradeTemplatePKColumn, upgradeUserIdColumn,
179 upgradeTemplateIdColumn, upgradeXSLColumn,
180 upgradeSmallImageIdColumn);
181
182 upgradeTable.setCreateSQL(JournalTemplateImpl.TABLE_SQL_CREATE);
183
184 upgradeTable.updateTable();
185
186 ValueMapper templateIdMapper = new DefaultPKMapper(
187 upgradeTemplatePKColumn.getValueMapper());
188
189 AvailableMappersUtil.setJournalTemplateIdMapper(templateIdMapper);
190
191
193 PropsUtil.set(
194 CompanyImpl.SYSTEM,
195 PropsUtil.JOURNAL_SYNC_CONTENT_SEARCH_ON_STARTUP, "true");
196 }
197
198 private static Log _log = LogFactory.getLog(UpgradeJournal.class);
199
200 }