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