1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   *
12   *
13   */
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.TempUpgradeColumnImpl;
21  import com.liferay.portal.kernel.upgrade.util.UpgradeColumn;
22  import com.liferay.portal.kernel.upgrade.util.UpgradeTable;
23  import com.liferay.portal.kernel.upgrade.util.UpgradeTableFactoryUtil;
24  import com.liferay.portal.kernel.upgrade.util.ValueMapper;
25  import com.liferay.portal.kernel.util.PropsKeys;
26  import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
27  import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
28  import com.liferay.portal.upgrade.v4_3_0.util.JournalArticleContentUpgradeColumnImpl;
29  import com.liferay.portal.upgrade.v4_3_0.util.JournalArticlePKUpgradeColumnImpl;
30  import com.liferay.portal.upgrade.v4_3_0.util.JournalArticleResourcePrimKeyUpgradeColumnImpl;
31  import com.liferay.portal.upgrade.v4_3_0.util.JournalArticleTable;
32  import com.liferay.portal.upgrade.v4_3_0.util.JournalStructurePKUpgradeColumnImpl;
33  import com.liferay.portal.upgrade.v4_3_0.util.JournalStructureTable;
34  import com.liferay.portal.upgrade.v4_3_0.util.JournalStructureXSDUpgradeColumnImpl;
35  import com.liferay.portal.upgrade.v4_3_0.util.JournalTemplatePKUpgradeColumnImpl;
36  import com.liferay.portal.upgrade.v4_3_0.util.JournalTemplateSmallImageIdUpgradeColumnImpl;
37  import com.liferay.portal.upgrade.v4_3_0.util.JournalTemplateTable;
38  import com.liferay.portal.upgrade.v4_3_0.util.JournalTemplateXSLUpgradeColumnImpl;
39  import com.liferay.portal.util.PropsUtil;
40  
41  import java.sql.Types;
42  
43  /**
44   * <a href="UpgradeJournal.java.html"><b><i>View Source</i></b></a>
45   *
46   * @author Brian Wing Shun Chan
47   */
48  public class UpgradeJournal extends UpgradeProcess {
49  
50      protected void doUpgrade() throws Exception {
51  
52          // JournalArticle
53  
54          UpgradeColumn upgradeCompanyIdColumn = new SwapUpgradeColumnImpl(
55              "companyId", new Integer(Types.VARCHAR),
56              AvailableMappersUtil.getCompanyIdMapper());
57  
58          UpgradeColumn upgradeGroupIdColumn = new SwapUpgradeColumnImpl(
59              "groupId", AvailableMappersUtil.getGroupIdMapper());
60  
61          UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
62              "userId", new Integer(Types.VARCHAR),
63              AvailableMappersUtil.getUserIdMapper());
64  
65          UpgradeColumn upgradeApprovedByUserIdColumn = new SwapUpgradeColumnImpl(
66              "approvedByUserId", new Integer(Types.VARCHAR),
67              AvailableMappersUtil.getUserIdMapper());
68  
69          JournalArticlePKUpgradeColumnImpl upgradeArticlePKColumn =
70              new JournalArticlePKUpgradeColumnImpl(
71                  upgradeCompanyIdColumn, upgradeGroupIdColumn);
72  
73          UpgradeColumn upgradeArticleResourcePrimKeyColumn =
74              new JournalArticleResourcePrimKeyUpgradeColumnImpl(
75                  upgradeArticlePKColumn);
76  
77          UpgradeColumn upgradeArticleIdColumn =
78              new TempUpgradeColumnImpl("articleId");
79  
80          UpgradeColumn upgradeVersionColumn =
81              new TempUpgradeColumnImpl("version", new Integer(Types.DOUBLE));
82  
83          UpgradeColumn upgradeStructureIdColumn =
84              new TempUpgradeColumnImpl("structureId");
85  
86          UpgradeColumn upgradeContentColumn =
87              new JournalArticleContentUpgradeColumnImpl(
88                  upgradeCompanyIdColumn, upgradeGroupIdColumn,
89                  upgradeArticleIdColumn, upgradeVersionColumn,
90                  upgradeStructureIdColumn,
91                  AvailableMappersUtil.getImageIdMapper());
92  
93          UpgradeTable upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
94              JournalArticleTable.TABLE_NAME, JournalArticleTable.TABLE_COLUMNS,
95              upgradeCompanyIdColumn, upgradeGroupIdColumn, upgradeUserIdColumn,
96              upgradeApprovedByUserIdColumn, upgradeArticlePKColumn,
97              upgradeArticleResourcePrimKeyColumn, upgradeArticleIdColumn,
98              upgradeVersionColumn, upgradeStructureIdColumn,
99              upgradeContentColumn);
100 
101         upgradeTable.setCreateSQL(JournalArticleTable.TABLE_SQL_CREATE);
102 
103         upgradeTable.updateTable();
104 
105         ValueMapper articleIdMapper = new DefaultPKMapper(
106             upgradeArticlePKColumn.getValueMapper());
107 
108         AvailableMappersUtil.setJournalArticleIdMapper(articleIdMapper);
109 
110         // JournalStructure
111 
112         PKUpgradeColumnImpl upgradeStructurePKColumn =
113             new JournalStructurePKUpgradeColumnImpl(
114                 upgradeCompanyIdColumn, upgradeGroupIdColumn);
115 
116         UpgradeColumn upgradeXSDColumn =
117             new JournalStructureXSDUpgradeColumnImpl();
118 
119         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
120             JournalStructureTable.TABLE_NAME,
121             JournalStructureTable.TABLE_COLUMNS, upgradeCompanyIdColumn,
122             upgradeGroupIdColumn, upgradeStructurePKColumn, upgradeUserIdColumn,
123             upgradeXSDColumn);
124 
125         upgradeTable.setCreateSQL(JournalStructureTable.TABLE_SQL_CREATE);
126 
127         upgradeTable.updateTable();
128 
129         ValueMapper structureIdMapper = new DefaultPKMapper(
130             upgradeStructurePKColumn.getValueMapper());
131 
132         AvailableMappersUtil.setJournalStructureIdMapper(structureIdMapper);
133 
134         // JournalTemplate
135 
136         PKUpgradeColumnImpl upgradeTemplatePKColumn =
137             new JournalTemplatePKUpgradeColumnImpl(
138                 upgradeCompanyIdColumn, upgradeGroupIdColumn);
139 
140         UpgradeColumn upgradeTemplateIdColumn =
141             new TempUpgradeColumnImpl("templateId");
142 
143         UpgradeColumn upgradeXSLColumn =
144             new JournalTemplateXSLUpgradeColumnImpl(upgradeTemplateIdColumn);
145 
146         UpgradeColumn upgradeSmallImageIdColumn =
147             new JournalTemplateSmallImageIdUpgradeColumnImpl(
148                 upgradeCompanyIdColumn, upgradeGroupIdColumn,
149                 upgradeTemplatePKColumn,
150                 AvailableMappersUtil.getImageIdMapper());
151 
152         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
153             JournalTemplateTable.TABLE_NAME, JournalTemplateTable.TABLE_COLUMNS,
154             upgradeCompanyIdColumn, upgradeGroupIdColumn,
155             upgradeTemplatePKColumn, upgradeUserIdColumn,
156             upgradeTemplateIdColumn, upgradeXSLColumn,
157             upgradeSmallImageIdColumn);
158 
159         upgradeTable.setCreateSQL(JournalTemplateTable.TABLE_SQL_CREATE);
160 
161         upgradeTable.updateTable();
162 
163         ValueMapper templateIdMapper = new DefaultPKMapper(
164             upgradeTemplatePKColumn.getValueMapper());
165 
166         AvailableMappersUtil.setJournalTemplateIdMapper(templateIdMapper);
167 
168         // JournalContentSearch
169 
170         PropsUtil.set(PropsKeys.JOURNAL_SYNC_CONTENT_SEARCH_ON_STARTUP, "true");
171     }
172 
173 }