1
14
15 package com.liferay.portal.upgrade.v4_3_0.util;
16
17 import com.liferay.portal.kernel.upgrade.util.BaseUpgradeColumnImpl;
18 import com.liferay.portal.kernel.upgrade.util.UpgradeColumn;
19 import com.liferay.portal.kernel.upgrade.util.ValueMapper;
20 import com.liferay.portal.util.PortletKeys;
21
22
27 public class PrefsPlidUpgradeColumnImpl extends BaseUpgradeColumnImpl {
28
29 public PrefsPlidUpgradeColumnImpl(
30 PrefsOwnerIdUpgradeColumnImpl ownerIdColumn,
31 UpgradeColumn layoutIdColumn, ValueMapper layoutPlidMapper) {
32
33 super("plid");
34
35 _ownerIdColumn = ownerIdColumn;
36 _layoutIdColumn = layoutIdColumn;
37 _layoutPlidMapper = layoutPlidMapper;
38 }
39
40 public Object getNewValue(Object oldValue) throws Exception {
41 Long oldGroupId = _ownerIdColumn.getOldGroupId();
42 Long newGroupId = _ownerIdColumn.getNewGroupId();
43 Boolean privateLayout = _ownerIdColumn.isPrivateLayout();
44 String layoutId = (String)_layoutIdColumn.getOldValue();
45
46 if ((!layoutId.equals("SHARED")) && (oldGroupId != null) &&
47 (newGroupId != null) && (privateLayout != null)) {
48
49 String oldOwnerId = null;
50
51 if (privateLayout.booleanValue()) {
52 oldOwnerId = "PRI.";
53 }
54 else {
55 oldOwnerId = "PUB.";
56 }
57
58 oldOwnerId += oldGroupId.longValue();
59
60 String oldPlidValue =
61 "{layoutId=" + layoutId + ", ownerId=" + oldOwnerId + "}";
62
63 return _layoutPlidMapper.getNewValue(oldPlidValue);
64 }
65 else {
66 return new Long(PortletKeys.PREFS_PLID_SHARED);
67 }
68 }
69
70 private PrefsOwnerIdUpgradeColumnImpl _ownerIdColumn;
71 private UpgradeColumn _layoutIdColumn;
72 private ValueMapper _layoutPlidMapper;
73
74 }