| PrefsPlidUpgradeColumnImpl.java |
1 /**
2 * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3 *
4 * The contents of this file are subject to the terms of the Liferay Enterprise
5 * Subscription License ("License"). You may not use this file except in
6 * compliance with the License. You can obtain a copy of the License by
7 * contacting Liferay, Inc. See the License for the specific language governing
8 * permissions and limitations under the License, including but not limited to
9 * distribution rights of the Software.
10 *
11 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17 * SOFTWARE.
18 */
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 /**
28 * <a href="PrefsPlidUpgradeColumnImpl.java.html"><b><i>View Source</i></b></a>
29 *
30 * @author Brian Wing Shun Chan
31 *
32 */
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 }