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.UpgradeColumn;
21  import com.liferay.portal.kernel.upgrade.util.UpgradeTable;
22  import com.liferay.portal.kernel.upgrade.util.UpgradeTableFactoryUtil;
23  import com.liferay.portal.kernel.upgrade.util.ValueMapper;
24  import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
25  import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
26  import com.liferay.portal.upgrade.v4_3_0.util.IGFolderTable;
27  import com.liferay.portal.upgrade.v4_3_0.util.IGImageIdUpgradeColumnImpl;
28  import com.liferay.portal.upgrade.v4_3_0.util.IGImageTable;
29  import com.liferay.portal.upgrade.v4_3_0.util.IGLargeImageIdUpgradeColumnImpl;
30  import com.liferay.portal.upgrade.v4_3_0.util.IGSmallImageIdUpgradeColumnImpl;
31  
32  import java.sql.Types;
33  
34  /**
35   * <a href="UpgradeImageGallery.java.html"><b><i>View Source</i></b></a>
36   *
37   * @author Brian Wing Shun Chan
38   */
39  public class UpgradeImageGallery extends UpgradeProcess {
40  
41      protected void doUpgrade() throws Exception {
42  
43          // IGFolder
44  
45          UpgradeColumn upgradeCompanyIdColumn = new SwapUpgradeColumnImpl(
46              "companyId", new Integer(Types.VARCHAR),
47              AvailableMappersUtil.getCompanyIdMapper());
48  
49          UpgradeColumn upgradeGroupIdColumn = new SwapUpgradeColumnImpl(
50              "groupId", AvailableMappersUtil.getGroupIdMapper());
51  
52          UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
53              "userId", new Integer(Types.VARCHAR),
54              AvailableMappersUtil.getUserIdMapper());
55  
56          PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl(
57              "folderId", true);
58  
59          UpgradeTable upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
60              IGFolderTable.TABLE_NAME, IGFolderTable.TABLE_COLUMNS,
61              upgradePKColumn, upgradeGroupIdColumn, upgradeUserIdColumn);
62  
63          upgradeTable.setCreateSQL(IGFolderTable.TABLE_SQL_CREATE);
64  
65          upgradeTable.updateTable();
66  
67          ValueMapper folderIdMapper = new DefaultPKMapper(
68              upgradePKColumn.getValueMapper());
69  
70          AvailableMappersUtil.setIGFolderIdMapper(folderIdMapper);
71  
72          UpgradeColumn upgradeParentFolderIdColumn = new SwapUpgradeColumnImpl(
73              "parentFolderId", folderIdMapper);
74  
75          upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
76              IGFolderTable.TABLE_NAME, IGFolderTable.TABLE_COLUMNS,
77              upgradeParentFolderIdColumn);
78  
79          upgradeTable.updateTable();
80  
81          UpgradeColumn upgradeFolderIdColumn = new SwapUpgradeColumnImpl(
82              "folderId", folderIdMapper);
83  
84          // IGImage
85  
86          PKUpgradeColumnImpl upgradeImageIdColumn =
87              new IGImageIdUpgradeColumnImpl(upgradeCompanyIdColumn);
88  
89          UpgradeColumn upgradeSmallImageIdColumn =
90              new IGSmallImageIdUpgradeColumnImpl(
91                  upgradeCompanyIdColumn, upgradeImageIdColumn,
92                  AvailableMappersUtil.getImageIdMapper());
93  
94          UpgradeColumn upgradeLargeImageIdColumn =
95              new IGLargeImageIdUpgradeColumnImpl(
96                  upgradeCompanyIdColumn, upgradeImageIdColumn,
97                  AvailableMappersUtil.getImageIdMapper());
98  
99          upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
100             IGImageTable.TABLE_NAME, IGImageTable.TABLE_COLUMNS,
101             upgradeCompanyIdColumn, upgradeImageIdColumn, upgradeUserIdColumn,
102             upgradeFolderIdColumn, upgradeSmallImageIdColumn,
103             upgradeLargeImageIdColumn);
104 
105         upgradeTable.setCreateSQL(IGImageTable.TABLE_SQL_CREATE);
106 
107         upgradeTable.updateTable();
108 
109         ValueMapper imageIdMapper = upgradeImageIdColumn.getValueMapper();
110 
111         AvailableMappersUtil.setIGImageIdMapper(imageIdMapper);
112     }
113 
114 }