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.EmailAddressImpl;
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 UpgradeEmailAddress 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 "emailAddressId", 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 EmailAddressImpl.TABLE_NAME, EmailAddressImpl.TABLE_COLUMNS,
101 upgradePKColumn, upgradeUserIdColumn, classNameIdColumn,
102 upgradeClassPKColumn);
103
104 upgradeTable.setCreateSQL(EmailAddressImpl.TABLE_SQL_CREATE);
105
106 upgradeTable.updateTable();
107
108 ValueMapperUtil.persist(
109 upgradePKColumn.getValueMapper(), "email-address-id");
110 }
111
112 private static Log _log = LogFactory.getLog(UpgradeEmailAddress.class);
113
114 }