1
22
23 package com.liferay.portal.upgrade.v4_3_0;
24
25 import com.liferay.portal.model.Contact;
26 import com.liferay.portal.model.Organization;
27 import com.liferay.portal.upgrade.UpgradeProcess;
28 import com.liferay.portal.upgrade.util.DefaultUpgradeTableImpl;
29 import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
30 import com.liferay.portal.upgrade.util.SwapUpgradeColumnImpl;
31 import com.liferay.portal.upgrade.util.UpgradeColumn;
32 import com.liferay.portal.upgrade.util.UpgradeTable;
33 import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
34 import com.liferay.portal.upgrade.v4_3_0.util.ClassNameIdUpgradeColumnImpl;
35 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKContainer;
36 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKUpgradeColumnImpl;
37 import com.liferay.portal.upgrade.v4_3_0.util.PhoneTable;
38 import com.liferay.portal.upgrade.v4_3_0.util.ValueMapperUtil;
39 import com.liferay.portal.util.PortalUtil;
40
41 import java.sql.Types;
42
43 import java.util.HashMap;
44 import java.util.Map;
45
46
52 public class UpgradePhone extends UpgradeProcess {
53
54 protected void doUpgrade() throws Exception {
55
56
58 UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
59 "userId", new Integer(Types.VARCHAR),
60 AvailableMappersUtil.getUserIdMapper());
61
62 PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl(
63 "phoneId", true);
64
65 ClassNameIdUpgradeColumnImpl classNameIdColumn =
66 new ClassNameIdUpgradeColumnImpl();
67
68 Map<Long, ClassPKContainer> classPKContainers =
69 new HashMap<Long, ClassPKContainer>();
70
71 classPKContainers.put(
72 new Long(PortalUtil.getClassNameId(Contact.class.getName())),
73 new ClassPKContainer(
74 AvailableMappersUtil.getContactIdMapper(), false));
75
76 classPKContainers.put(
77 new Long(PortalUtil.getClassNameId(Organization.class.getName())),
78 new ClassPKContainer(
79 AvailableMappersUtil.getOrganizationIdMapper(), true));
80
81 UpgradeColumn upgradeClassPKColumn = new ClassPKUpgradeColumnImpl(
82 classNameIdColumn, classPKContainers);
83
84 UpgradeTable upgradeTable = new DefaultUpgradeTableImpl(
85 PhoneTable.TABLE_NAME, PhoneTable.TABLE_COLUMNS, upgradePKColumn,
86 upgradeUserIdColumn, classNameIdColumn, upgradeClassPKColumn);
87
88 upgradeTable.setCreateSQL(PhoneTable.TABLE_SQL_CREATE);
89
90 upgradeTable.updateTable();
91
92 ValueMapperUtil.persist(upgradePKColumn.getValueMapper(), "phone-id");
93 }
94
95 }