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.WebsiteImpl;
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
42 import java.sql.Types;
43
44 import java.util.HashMap;
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 UpgradeWebsite 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 "websiteId", true);
80
81 ClassNameIdUpgradeColumnImpl classNameIdColumn =
82 new ClassNameIdUpgradeColumnImpl();
83
84 Map<Long, ClassPKContainer> classPKContainers =
85 new HashMap<Long, ClassPKContainer>();
86
87 classPKContainers.put(
88 new Long(PortalUtil.getClassNameId(Contact.class.getName())),
89 new ClassPKContainer(
90 AvailableMappersUtil.getContactIdMapper(), false));
91
92 classPKContainers.put(
93 new Long(PortalUtil.getClassNameId(Organization.class.getName())),
94 new ClassPKContainer(
95 AvailableMappersUtil.getOrganizationIdMapper(), true));
96
97 UpgradeColumn upgradeClassPKColumn = new ClassPKUpgradeColumnImpl(
98 classNameIdColumn, classPKContainers);
99
100 UpgradeTable upgradeTable = new DefaultUpgradeTableImpl(
101 WebsiteImpl.TABLE_NAME, WebsiteImpl.TABLE_COLUMNS, upgradePKColumn,
102 upgradeUserIdColumn, classNameIdColumn, upgradeClassPKColumn);
103
104 upgradeTable.setCreateSQL(WebsiteImpl.TABLE_SQL_CREATE);
105
106 upgradeTable.updateTable();
107
108 ValueMapperUtil.persist(upgradePKColumn.getValueMapper(), "website-id");
109 }
110
111 private static Log _log = LogFactory.getLog(UpgradeWebsite.class);
112
113 }