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.EmailAddressTable;
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 UpgradeEmailAddress 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 "emailAddressId", 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 EmailAddressTable.TABLE_NAME, EmailAddressTable.TABLE_COLUMNS,
86 upgradePKColumn, upgradeUserIdColumn, classNameIdColumn,
87 upgradeClassPKColumn);
88
89 upgradeTable.setCreateSQL(EmailAddressTable.TABLE_SQL_CREATE);
90
91 upgradeTable.updateTable();
92
93 ValueMapperUtil.persist(
94 upgradePKColumn.getValueMapper(), "email-address-id");
95 }
96
97 }