1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
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.upgrade.util.PKUpgradeColumnImpl;
26  import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
27  import com.liferay.portal.upgrade.v4_3_0.util.DLFileEntryIdUpgradeColumnImpl;
28  import com.liferay.portal.upgrade.v4_3_0.util.DLFileEntryTable;
29  import com.liferay.portal.upgrade.v4_3_0.util.DLFileRankTable;
30  import com.liferay.portal.upgrade.v4_3_0.util.DLFileShortcutTable;
31  import com.liferay.portal.upgrade.v4_3_0.util.DLFileVersionTable;
32  import com.liferay.portal.upgrade.v4_3_0.util.DLFolderTable;
33  
34  import java.sql.Types;
35  
36  /**
37   * <a href="UpgradeDocumentLibrary.java.html"><b><i>View Source</i></b></a>
38   *
39   * @author Brian Wing Shun Chan
40   */
41  public class UpgradeDocumentLibrary extends UpgradeProcess {
42  
43      protected void doUpgrade() throws Exception {
44  
45          // DLFolder
46  
47          UpgradeColumn upgradeCompanyIdColumn = new SwapUpgradeColumnImpl(
48              "companyId", new Integer(Types.VARCHAR),
49              AvailableMappersUtil.getCompanyIdMapper());
50  
51          UpgradeColumn upgradeGroupIdColumn = new SwapUpgradeColumnImpl(
52              "groupId", AvailableMappersUtil.getGroupIdMapper());
53  
54          UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
55              "userId", new Integer(Types.VARCHAR),
56              AvailableMappersUtil.getUserIdMapper());
57  
58          PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl(
59              "folderId", true);
60  
61          UpgradeTable upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
62              DLFolderTable.TABLE_NAME, DLFolderTable.TABLE_COLUMNS,
63              upgradePKColumn, upgradeGroupIdColumn, upgradeUserIdColumn);
64  
65          upgradeTable.setCreateSQL(DLFolderTable.TABLE_SQL_CREATE);
66  
67          upgradeTable.updateTable();
68  
69          ValueMapper folderIdMapper = new DefaultPKMapper(
70              upgradePKColumn.getValueMapper());
71  
72          AvailableMappersUtil.setDLFolderIdMapper(folderIdMapper);
73  
74          UpgradeColumn upgradeParentFolderIdColumn = new SwapUpgradeColumnImpl(
75              "parentFolderId", folderIdMapper);
76  
77          upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
78              DLFolderTable.TABLE_NAME, DLFolderTable.TABLE_COLUMNS,
79              upgradeParentFolderIdColumn);
80  
81          upgradeTable.updateTable();
82  
83          UpgradeColumn upgradeFolderIdColumn = new SwapUpgradeColumnImpl(
84              "folderId", folderIdMapper);
85  
86          UpgradeColumn upgradeToFolderIdColumn = new SwapUpgradeColumnImpl(
87              "toFolderId", folderIdMapper);
88  
89          // DLFileEntry
90  
91          UpgradeColumn upgradeNameColumn = new TempUpgradeColumnImpl("name");
92  
93          PKUpgradeColumnImpl fileEntryIdColumn =
94              new DLFileEntryIdUpgradeColumnImpl(
95                  upgradeCompanyIdColumn, upgradeFolderIdColumn,
96                  upgradeNameColumn);
97  
98          UpgradeColumn upgradeVersionUserIdColumn = new SwapUpgradeColumnImpl(
99              "versionUserId", new Integer(Types.VARCHAR),
100             AvailableMappersUtil.getUserIdMapper());
101 
102         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
103             DLFileEntryTable.TABLE_NAME, DLFileEntryTable.TABLE_COLUMNS,
104             upgradeCompanyIdColumn, upgradeFolderIdColumn, upgradeNameColumn,
105             fileEntryIdColumn, upgradeUserIdColumn, upgradeVersionUserIdColumn);
106 
107         upgradeTable.setCreateSQL(DLFileEntryTable.TABLE_SQL_CREATE);
108 
109         upgradeTable.updateTable();
110 
111         ValueMapper fileEntryIdMapper = fileEntryIdColumn.getValueMapper();
112 
113         AvailableMappersUtil.setDLFileEntryIdMapper(fileEntryIdMapper);
114 
115         // DLFileRank
116 
117         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
118             DLFileRankTable.TABLE_NAME, DLFileRankTable.TABLE_COLUMNS,
119             new PKUpgradeColumnImpl("fileRankId", false),
120             upgradeUserIdColumn, upgradeFolderIdColumn);
121 
122         upgradeTable.setCreateSQL(DLFileRankTable.TABLE_SQL_CREATE);
123 
124         upgradeTable.updateTable();
125 
126         // DLFileShortcut
127 
128         upgradePKColumn = new PKUpgradeColumnImpl("fileShortcutId", true);
129 
130         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
131             DLFileShortcutTable.TABLE_NAME, DLFileShortcutTable.TABLE_COLUMNS,
132             upgradePKColumn, upgradeUserIdColumn, upgradeFolderIdColumn,
133             upgradeToFolderIdColumn);
134 
135         upgradeTable.setCreateSQL(DLFileShortcutTable.TABLE_SQL_CREATE);
136 
137         upgradeTable.updateTable();
138 
139         ValueMapper fileShortcutIdMapper = upgradePKColumn.getValueMapper();
140 
141         AvailableMappersUtil.setDLFileShortcutIdMapper(fileShortcutIdMapper);
142 
143         // DLFileVersion
144 
145         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
146             DLFileVersionTable.TABLE_NAME, DLFileVersionTable.TABLE_COLUMNS,
147             new PKUpgradeColumnImpl("fileVersionId", false),
148             upgradeUserIdColumn, upgradeFolderIdColumn);
149 
150         upgradeTable.setCreateSQL(DLFileVersionTable.TABLE_SQL_CREATE);
151 
152         upgradeTable.updateTable();
153     }
154 
155 }