1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    *
5    *
6    *
7    * The contents of this file are subject to the terms of the Liferay Enterprise
8    * Subscription License ("License"). You may not use this file except in
9    * compliance with the License. You can obtain a copy of the License by
10   * contacting Liferay, Inc. See the License for the specific language governing
11   * permissions and limitations under the License, including but not limited to
12   * distribution rights of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.portal.upgrade.v4_3_0;
24  
25  import com.liferay.portal.upgrade.UpgradeProcess;
26  import com.liferay.portal.upgrade.util.DefaultPKMapper;
27  import com.liferay.portal.upgrade.util.DefaultUpgradeTableImpl;
28  import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
29  import com.liferay.portal.upgrade.util.SwapUpgradeColumnImpl;
30  import com.liferay.portal.upgrade.util.UpgradeColumn;
31  import com.liferay.portal.upgrade.util.UpgradeTable;
32  import com.liferay.portal.upgrade.util.ValueMapper;
33  import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
34  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCartItemIdUpgradeColumnImpl;
35  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCartItemIdsUpgradeColumnImpl;
36  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCartTable;
37  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCategoryTable;
38  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCouponLimitCategoriesUpgradeColumnImpl;
39  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingCouponTable;
40  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingItemPriceTable;
41  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingItemTable;
42  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingOrderItemTable;
43  import com.liferay.portal.upgrade.v4_3_0.util.ShoppingOrderTable;
44  
45  import java.sql.Types;
46  
47  /**
48   * <a href="UpgradeShopping.java.html"><b><i>View Source</i></b></a>
49   *
50   * @author Brian Wing Shun Chan
51   */
52  public class UpgradeShopping extends UpgradeProcess {
53  
54      protected void doUpgrade() throws Exception {
55  
56          // ShoppingCategory
57  
58          UpgradeColumn upgradeGroupIdColumn = new SwapUpgradeColumnImpl(
59              "groupId", AvailableMappersUtil.getGroupIdMapper());
60  
61          UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
62              "userId", new Integer(Types.VARCHAR),
63              AvailableMappersUtil.getUserIdMapper());
64  
65          PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl(
66              "categoryId", true);
67  
68          UpgradeTable upgradeTable = new DefaultUpgradeTableImpl(
69              ShoppingCategoryTable.TABLE_NAME,
70              ShoppingCategoryTable.TABLE_COLUMNS, upgradePKColumn,
71              upgradeGroupIdColumn, upgradeUserIdColumn);
72  
73          upgradeTable.setCreateSQL(ShoppingCategoryTable.TABLE_SQL_CREATE);
74  
75          upgradeTable.updateTable();
76  
77          ValueMapper categoryIdMapper = new DefaultPKMapper(
78              upgradePKColumn.getValueMapper());
79  
80          AvailableMappersUtil.setShoppingCategoryIdMapper(categoryIdMapper);
81  
82          UpgradeColumn upgradeParentCategoryIdColumn = new SwapUpgradeColumnImpl(
83              "parentCategoryId", categoryIdMapper);
84  
85          upgradeTable = new DefaultUpgradeTableImpl(
86              ShoppingCategoryTable.TABLE_NAME,
87              ShoppingCategoryTable.TABLE_COLUMNS, upgradeParentCategoryIdColumn);
88  
89          upgradeTable.updateTable();
90  
91          UpgradeColumn upgradeCategoryIdColumn = new SwapUpgradeColumnImpl(
92              "categoryId", categoryIdMapper);
93  
94          // ShoppingItem
95  
96          upgradePKColumn = new PKUpgradeColumnImpl("itemId", true);
97  
98          upgradeTable = new DefaultUpgradeTableImpl(
99              ShoppingItemTable.TABLE_NAME, ShoppingItemTable.TABLE_COLUMNS,
100             upgradePKColumn, upgradeCategoryIdColumn, upgradeUserIdColumn);
101 
102         upgradeTable.setCreateSQL(ShoppingItemTable.TABLE_SQL_CREATE);
103 
104         upgradeTable.updateTable();
105 
106         ValueMapper itemIdMapper = upgradePKColumn.getValueMapper();
107 
108         AvailableMappersUtil.setShoppingItemIdMapper(itemIdMapper);
109 
110         UpgradeColumn upgradeItemIdColumn = new SwapUpgradeColumnImpl(
111             "itemId", itemIdMapper);
112 
113         // ShoppingItemField
114 
115         upgradeTable = new DefaultUpgradeTableImpl(
116             ShoppingItemTable.TABLE_NAME, ShoppingItemTable.TABLE_COLUMNS,
117             new PKUpgradeColumnImpl("itemFieldId", false), upgradeItemIdColumn);
118 
119         upgradeTable.setCreateSQL(ShoppingItemTable.TABLE_SQL_CREATE);
120 
121         upgradeTable.updateTable();
122 
123         // ShoppingItemPrice
124 
125         upgradeTable = new DefaultUpgradeTableImpl(
126             ShoppingItemPriceTable.TABLE_NAME,
127             ShoppingItemPriceTable.TABLE_COLUMNS,
128             new PKUpgradeColumnImpl("itemPriceId", false), upgradeItemIdColumn);
129 
130         upgradeTable.setCreateSQL(ShoppingItemPriceTable.TABLE_SQL_CREATE);
131 
132         upgradeTable.updateTable();
133 
134         // ShoppingOrder
135 
136         upgradePKColumn = new PKUpgradeColumnImpl(
137             "orderId", new Integer(Types.VARCHAR), true);
138 
139         upgradeTable = new DefaultUpgradeTableImpl(
140             ShoppingOrderTable.TABLE_NAME, ShoppingOrderTable.TABLE_COLUMNS,
141             upgradePKColumn, upgradeGroupIdColumn, upgradeUserIdColumn);
142 
143         upgradeTable.setCreateSQL(ShoppingOrderTable.TABLE_SQL_CREATE);
144 
145         upgradeTable.updateTable();
146 
147         ValueMapper orderIdMapper = upgradePKColumn.getValueMapper();
148 
149         UpgradeColumn upgradeOrderIdColumn = new SwapUpgradeColumnImpl(
150             "orderId", new Integer(Types.VARCHAR), orderIdMapper);
151 
152         // ShoppingOrderItem
153 
154         UpgradeColumn upgradeCartItemIdColumn =
155             new ShoppingCartItemIdUpgradeColumnImpl(itemIdMapper);
156 
157         upgradeTable = new DefaultUpgradeTableImpl(
158             ShoppingOrderItemTable.TABLE_NAME,
159             ShoppingOrderItemTable.TABLE_COLUMNS,
160             new PKUpgradeColumnImpl("orderItemId", false),
161             upgradeOrderIdColumn, upgradeCartItemIdColumn);
162 
163         upgradeTable.setCreateSQL(ShoppingOrderItemTable.TABLE_SQL_CREATE);
164 
165         upgradeTable.updateTable();
166 
167         // ShoppingCart
168 
169         UpgradeColumn upgradeItemIdsColumn =
170             new ShoppingCartItemIdsUpgradeColumnImpl(itemIdMapper);
171 
172         upgradeTable = new DefaultUpgradeTableImpl(
173             ShoppingCartTable.TABLE_NAME, ShoppingCartTable.TABLE_COLUMNS,
174             new PKUpgradeColumnImpl(
175                 "cartId", new Integer(Types.VARCHAR), false),
176             upgradeGroupIdColumn, upgradeUserIdColumn, upgradeItemIdsColumn);
177 
178         upgradeTable.setCreateSQL(ShoppingCartTable.TABLE_SQL_CREATE);
179 
180         upgradeTable.updateTable();
181 
182         // ShoppingCoupon
183 
184         UpgradeColumn upgradeLimitCategoriesColumn =
185             new ShoppingCouponLimitCategoriesUpgradeColumnImpl(
186                 categoryIdMapper);
187 
188         upgradeTable = new DefaultUpgradeTableImpl(
189             ShoppingCouponTable.TABLE_NAME, ShoppingCouponTable.TABLE_COLUMNS,
190             new PKUpgradeColumnImpl(
191                 "couponId", new Integer(Types.VARCHAR), false),
192             upgradeGroupIdColumn, upgradeUserIdColumn,
193             upgradeLimitCategoriesColumn);
194 
195         upgradeTable.setCreateSQL(ShoppingCouponTable.TABLE_SQL_CREATE);
196 
197         upgradeTable.updateTable();
198     }
199 
200 }