1
22
23 package com.liferay.portal.upgrade.v4_3_0;
24
25 import com.liferay.portal.kernel.log.Log;
26 import com.liferay.portal.kernel.log.LogFactoryUtil;
27 import com.liferay.portal.model.Contact;
28 import com.liferay.portal.model.Organization;
29 import com.liferay.portal.model.impl.PhoneImpl;
30 import com.liferay.portal.upgrade.UpgradeException;
31 import com.liferay.portal.upgrade.UpgradeProcess;
32 import com.liferay.portal.upgrade.util.DefaultUpgradeTableImpl;
33 import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
34 import com.liferay.portal.upgrade.util.SwapUpgradeColumnImpl;
35 import com.liferay.portal.upgrade.util.UpgradeColumn;
36 import com.liferay.portal.upgrade.util.UpgradeTable;
37 import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
38 import com.liferay.portal.upgrade.v4_3_0.util.ClassNameIdUpgradeColumnImpl;
39 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKContainer;
40 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKUpgradeColumnImpl;
41 import com.liferay.portal.upgrade.v4_3_0.util.ValueMapperUtil;
42 import com.liferay.portal.util.PortalUtil;
43
44 import java.sql.Types;
45
46 import java.util.HashMap;
47 import java.util.Map;
48
49
56 public class UpgradePhone extends UpgradeProcess {
57
58 public void upgrade() throws UpgradeException {
59 _log.info("Upgrading");
60
61 try {
62 doUpgrade();
63 }
64 catch (Exception e) {
65 throw new UpgradeException(e);
66 }
67 }
68
69 protected void doUpgrade() throws Exception {
70
71
73 UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
74 "userId", new Integer(Types.VARCHAR),
75 AvailableMappersUtil.getUserIdMapper());
76
77 PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl(
78 "phoneId", true);
79
80 ClassNameIdUpgradeColumnImpl classNameIdColumn =
81 new ClassNameIdUpgradeColumnImpl();
82
83 Map<Long, ClassPKContainer> classPKContainers =
84 new HashMap<Long, ClassPKContainer>();
85
86 classPKContainers.put(
87 new Long(PortalUtil.getClassNameId(Contact.class.getName())),
88 new ClassPKContainer(
89 AvailableMappersUtil.getContactIdMapper(), false));
90
91 classPKContainers.put(
92 new Long(PortalUtil.getClassNameId(Organization.class.getName())),
93 new ClassPKContainer(
94 AvailableMappersUtil.getOrganizationIdMapper(), true));
95
96 UpgradeColumn upgradeClassPKColumn = new ClassPKUpgradeColumnImpl(
97 classNameIdColumn, classPKContainers);
98
99 UpgradeTable upgradeTable = new DefaultUpgradeTableImpl(
100 PhoneImpl.TABLE_NAME, PhoneImpl.TABLE_COLUMNS, upgradePKColumn,
101 upgradeUserIdColumn, classNameIdColumn, upgradeClassPKColumn);
102
103 upgradeTable.setCreateSQL(PhoneImpl.TABLE_SQL_CREATE);
104
105 upgradeTable.updateTable();
106
107 ValueMapperUtil.persist(upgradePKColumn.getValueMapper(), "phone-id");
108 }
109
110 private static Log _log = LogFactoryUtil.getLog(UpgradePhone.class);
111
112 }