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.UpgradeTable;
20  import com.liferay.portal.kernel.upgrade.util.UpgradeTableFactoryUtil;
21  import com.liferay.portal.kernel.upgrade.util.ValueMapper;
22  import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
23  import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
24  import com.liferay.portal.upgrade.v4_3_0.util.ImageHeightUpgradeColumnImpl;
25  import com.liferay.portal.upgrade.v4_3_0.util.ImageSizeUpgradeColumnImpl;
26  import com.liferay.portal.upgrade.v4_3_0.util.ImageTable;
27  import com.liferay.portal.upgrade.v4_3_0.util.ImageTextUpgradeColumnImpl;
28  import com.liferay.portal.upgrade.v4_3_0.util.ImageTypeUpgradeColumnImpl;
29  import com.liferay.portal.upgrade.v4_3_0.util.ImageWidthUpgradeColumnImpl;
30  import com.liferay.portal.upgrade.v4_3_0.util.WebIdUtil;
31  
32  import java.sql.Types;
33  
34  /**
35   * <a href="UpgradeImage.java.html"><b><i>View Source</i></b></a>
36   *
37   * @author Brian Wing Shun Chan
38   */
39  public class UpgradeImage extends UpgradeProcess {
40  
41      protected void doUpgrade() throws Exception {
42  
43          // Company
44  
45          String[] webIds = WebIdUtil.getWebIds();
46  
47          for (String webId : webIds) {
48              runSQL("delete from Image where imageId = '" + webId + "'");
49  
50              runSQL("delete from Image where imageId = '" + webId + ".wbmp'");
51  
52              runSQL(
53                  "update Image set imageId = '" + webId + "' where imageId = '" +
54                      webId + ".png'");
55          }
56  
57          // Image
58  
59          PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl(
60              "imageId", new Integer(Types.VARCHAR), true);
61  
62          ImageTextUpgradeColumnImpl upgradeTextColumn =
63              new ImageTextUpgradeColumnImpl(upgradePKColumn);
64  
65          ImageTypeUpgradeColumnImpl upgradeTypeColumn =
66              new ImageTypeUpgradeColumnImpl(upgradeTextColumn);
67  
68          ImageHeightUpgradeColumnImpl upgradeHeightColumn =
69              new ImageHeightUpgradeColumnImpl(upgradeTextColumn);
70  
71          ImageWidthUpgradeColumnImpl upgradeWidthColumn =
72              new ImageWidthUpgradeColumnImpl(upgradeTextColumn);
73  
74          ImageSizeUpgradeColumnImpl upgradeSizeColumn =
75              new ImageSizeUpgradeColumnImpl(upgradeTextColumn);
76  
77          UpgradeTable upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
78              ImageTable.TABLE_NAME, ImageTable.TABLE_COLUMNS,
79              upgradePKColumn, upgradeTextColumn, upgradeTypeColumn,
80              upgradeHeightColumn, upgradeWidthColumn, upgradeSizeColumn);
81  
82          upgradeTable.setCreateSQL(ImageTable.TABLE_SQL_CREATE);
83  
84          upgradeTable.updateTable();
85  
86          ValueMapper imageIdMapper = new DefaultPKMapper(
87              upgradePKColumn.getValueMapper());
88  
89          AvailableMappersUtil.setImageIdMapper(imageIdMapper);
90      }
91  
92  }