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.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  }