1
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.SwapUpgradeColumnImpl;
19 import com.liferay.portal.kernel.upgrade.util.UpgradeColumn;
20 import com.liferay.portal.kernel.upgrade.util.UpgradeTable;
21 import com.liferay.portal.kernel.upgrade.util.UpgradeTableFactoryUtil;
22 import com.liferay.portal.model.Contact;
23 import com.liferay.portal.model.Organization;
24 import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
25 import com.liferay.portal.upgrade.v4_3_0.util.AddressTable;
26 import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
27 import com.liferay.portal.upgrade.v4_3_0.util.ClassNameIdUpgradeColumnImpl;
28 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKContainer;
29 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKUpgradeColumnImpl;
30 import com.liferay.portal.upgrade.v4_3_0.util.ValueMapperUtil;
31 import com.liferay.portal.util.PortalUtil;
32
33 import java.sql.Types;
34
35 import java.util.HashMap;
36 import java.util.Map;
37
38
44 public class UpgradeAddress extends UpgradeProcess {
45
46 protected void doUpgrade() throws Exception {
47
48
50 UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
51 "userId", new Integer(Types.VARCHAR),
52 AvailableMappersUtil.getUserIdMapper());
53
54 PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl(
55 "addressId", true);
56
57 ClassNameIdUpgradeColumnImpl classNameIdColumn =
58 new ClassNameIdUpgradeColumnImpl();
59
60 Map<Long, ClassPKContainer> classPKContainers =
61 new HashMap<Long, ClassPKContainer>();
62
63 classPKContainers.put(
64 new Long(PortalUtil.getClassNameId(Contact.class.getName())),
65 new ClassPKContainer(
66 AvailableMappersUtil.getContactIdMapper(), false));
67
68 classPKContainers.put(
69 new Long(PortalUtil.getClassNameId(Organization.class.getName())),
70 new ClassPKContainer(
71 AvailableMappersUtil.getOrganizationIdMapper(), true));
72
73 UpgradeColumn upgradeClassPKColumn = new ClassPKUpgradeColumnImpl(
74 classNameIdColumn, classPKContainers);
75
76 UpgradeTable upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
77 AddressTable.TABLE_NAME, AddressTable.TABLE_COLUMNS,
78 upgradePKColumn, upgradeUserIdColumn, classNameIdColumn,
79 upgradeClassPKColumn);
80
81 upgradeTable.setCreateSQL(AddressTable.TABLE_SQL_CREATE);
82
83 upgradeTable.updateTable();
84
85 ValueMapperUtil.persist(upgradePKColumn.getValueMapper(), "address-id");
86 }
87
88 }