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.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.ShoppingCartItemIdUpgradeColumnImpl;
27  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCartItemIdsUpgradeColumnImpl;
28  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCartTable;
29  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCategoryTable;
30  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCouponLimitCategoriesUpgradeColumnImpl;
31  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCouponTable;
32  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingItemPriceTable;
33  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingItemTable;
34  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingOrderItemTable;
35  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingOrderTable;
36  
37  import java.sql.Types;
38  
39  /**
40   * <a href="UpgradeShopping.java.html"><b><i>View Source</i></b></a>
41   *
42   * @author Brian Wing Shun Chan
43   */
44  public class UpgradeShopping extends UpgradeProcess {
45  
46      protected void doUpgrade() throws Exception {
47  
48          // ShoppingCategory
49  
50          UpgradeColumn upgradeGroupIdColumn = new SwapUpgradeColumnImpl(
51              "groupId", AvailableMappersUtil.getGroupIdMapper());
52  
53          UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
54              "userId", new Integer(Types.VARCHAR),
55              AvailableMappersUtil.getUserIdMapper());
56  
57          PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl(
58              "categoryId", true);
59  
60          UpgradeTable upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
61              ShoppingCategoryTable.TABLE_NAME,
62              ShoppingCategoryTable.TABLE_COLUMNS, upgradePKColumn,
63              upgradeGroupIdColumn, upgradeUserIdColumn);
64  
65          upgradeTable.setCreateSQL(ShoppingCategoryTable.TABLE_SQL_CREATE);
66  
67          upgradeTable.updateTable();
68  
69          ValueMapper categoryIdMapper = new DefaultPKMapper(
70              upgradePKColumn.getValueMapper());
71  
72          AvailableMappersUtil.setShoppingCategoryIdMapper(categoryIdMapper);
73  
74          UpgradeColumn upgradeParentCategoryIdColumn = new SwapUpgradeColumnImpl(
75              "parentCategoryId", categoryIdMapper);
76  
77          upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
78              ShoppingCategoryTable.TABLE_NAME,
79              ShoppingCategoryTable.TABLE_COLUMNS, upgradeParentCategoryIdColumn);
80  
81          upgradeTable.updateTable();
82  
83          UpgradeColumn upgradeCategoryIdColumn = new SwapUpgradeColumnImpl(
84              "categoryId", categoryIdMapper);
85  
86          // ShoppingItem
87  
88          upgradePKColumn = new PKUpgradeColumnImpl("itemId", true);
89  
90          upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
91              ShoppingItemTable.TABLE_NAME, ShoppingItemTable.TABLE_COLUMNS,
92              upgradePKColumn, upgradeCategoryIdColumn, upgradeUserIdColumn);
93  
94          upgradeTable.setCreateSQL(ShoppingItemTable.TABLE_SQL_CREATE);
95  
96          upgradeTable.updateTable();
97  
98          ValueMapper itemIdMapper = upgradePKColumn.getValueMapper();
99  
100         AvailableMappersUtil.setShoppingItemIdMapper(itemIdMapper);
101 
102         UpgradeColumn upgradeItemIdColumn = new SwapUpgradeColumnImpl(
103             "itemId", itemIdMapper);
104 
105         // ShoppingItemField
106 
107         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
108             ShoppingItemTable.TABLE_NAME, ShoppingItemTable.TABLE_COLUMNS,
109             new PKUpgradeColumnImpl("itemFieldId", false), upgradeItemIdColumn);
110 
111         upgradeTable.setCreateSQL(ShoppingItemTable.TABLE_SQL_CREATE);
112 
113         upgradeTable.updateTable();
114 
115         // ShoppingItemPrice
116 
117         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
118             ShoppingItemPriceTable.TABLE_NAME,
119             ShoppingItemPriceTable.TABLE_COLUMNS,
120             new PKUpgradeColumnImpl("itemPriceId", false), upgradeItemIdColumn);
121 
122         upgradeTable.setCreateSQL(ShoppingItemPriceTable.TABLE_SQL_CREATE);
123 
124         upgradeTable.updateTable();
125 
126         // ShoppingOrder
127 
128         upgradePKColumn = new PKUpgradeColumnImpl(
129             "orderId", new Integer(Types.VARCHAR), true);
130 
131         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
132             ShoppingOrderTable.TABLE_NAME, ShoppingOrderTable.TABLE_COLUMNS,
133             upgradePKColumn, upgradeGroupIdColumn, upgradeUserIdColumn);
134 
135         upgradeTable.setCreateSQL(ShoppingOrderTable.TABLE_SQL_CREATE);
136 
137         upgradeTable.updateTable();
138 
139         ValueMapper orderIdMapper = upgradePKColumn.getValueMapper();
140 
141         UpgradeColumn upgradeOrderIdColumn = new SwapUpgradeColumnImpl(
142             "orderId", new Integer(Types.VARCHAR), orderIdMapper);
143 
144         // ShoppingOrderItem
145 
146         UpgradeColumn upgradeCartItemIdColumn =
147             new ShoppingCartItemIdUpgradeColumnImpl(itemIdMapper);
148 
149         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
150             ShoppingOrderItemTable.TABLE_NAME,
151             ShoppingOrderItemTable.TABLE_COLUMNS,
152             new PKUpgradeColumnImpl("orderItemId", false),
153             upgradeOrderIdColumn, upgradeCartItemIdColumn);
154 
155         upgradeTable.setCreateSQL(ShoppingOrderItemTable.TABLE_SQL_CREATE);
156 
157         upgradeTable.updateTable();
158 
159         // ShoppingCart
160 
161         UpgradeColumn upgradeItemIdsColumn =
162             new ShoppingCartItemIdsUpgradeColumnImpl(itemIdMapper);
163 
164         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
165             ShoppingCartTable.TABLE_NAME, ShoppingCartTable.TABLE_COLUMNS,
166             new PKUpgradeColumnImpl(
167                 "cartId", new Integer(Types.VARCHAR), false),
168             upgradeGroupIdColumn, upgradeUserIdColumn, upgradeItemIdsColumn);
169 
170         upgradeTable.setCreateSQL(ShoppingCartTable.TABLE_SQL_CREATE);
171 
172         upgradeTable.updateTable();
173 
174         // ShoppingCoupon
175 
176         UpgradeColumn upgradeLimitCategoriesColumn =
177             new ShoppingCouponLimitCategoriesUpgradeColumnImpl(
178                 categoryIdMapper);
179 
180         upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
181             ShoppingCouponTable.TABLE_NAME, ShoppingCouponTable.TABLE_COLUMNS,
182             new PKUpgradeColumnImpl(
183                 "couponId", new Integer(Types.VARCHAR), false),
184             upgradeGroupIdColumn, upgradeUserIdColumn,
185             upgradeLimitCategoriesColumn);
186 
187         upgradeTable.setCreateSQL(ShoppingCouponTable.TABLE_SQL_CREATE);
188 
189         upgradeTable.updateTable();
190     }
191 
192 }