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.model.impl.PhoneImpl;
28 import com.liferay.portal.upgrade.UpgradeException;
29 import com.liferay.portal.upgrade.UpgradeProcess;
30 import com.liferay.portal.upgrade.util.DefaultUpgradeTableImpl;
31 import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
32 import com.liferay.portal.upgrade.util.SwapUpgradeColumnImpl;
33 import com.liferay.portal.upgrade.util.UpgradeColumn;
34 import com.liferay.portal.upgrade.util.UpgradeTable;
35 import com.liferay.portal.upgrade.v4_3_0.util.AvailableMappersUtil;
36 import com.liferay.portal.upgrade.v4_3_0.util.ClassNameIdUpgradeColumnImpl;
37 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKContainer;
38 import com.liferay.portal.upgrade.v4_3_0.util.ClassPKUpgradeColumnImpl;
39 import com.liferay.portal.upgrade.v4_3_0.util.ValueMapperUtil;
40 import com.liferay.portal.util.PortalUtil;
41 import com.liferay.util.CollectionFactory;
42
43 import java.sql.Types;
44
45 import java.util.Map;
46
47 import org.apache.commons.logging.Log;
48 import org.apache.commons.logging.LogFactory;
49
50
57 public class UpgradePhone extends UpgradeProcess {
58
59 public void upgrade() throws UpgradeException {
60 _log.info("Upgrading");
61
62 try {
63 doUpgrade();
64 }
65 catch (Exception e) {
66 throw new UpgradeException(e);
67 }
68 }
69
70 protected void doUpgrade() throws Exception {
71
72
74 UpgradeColumn upgradeUserIdColumn = new SwapUpgradeColumnImpl(
75 "userId", new Integer(Types.VARCHAR),
76 AvailableMappersUtil.getUserIdMapper());
77
78 PKUpgradeColumnImpl upgradePKColumn = new PKUpgradeColumnImpl(
79 "phoneId", true);
80
81 ClassNameIdUpgradeColumnImpl classNameIdColumn =
82 new ClassNameIdUpgradeColumnImpl();
83
84 Map classPKContainers = CollectionFactory.getHashMap();
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 = LogFactory.getLog(UpgradePhone.class);
111
112 }