1
19
20 package com.liferay.portal.upgrade.v4_3_0.util;
21
22 import com.liferay.portal.model.ResourceCode;
23 import com.liferay.portal.model.ResourceConstants;
24 import com.liferay.portal.service.ResourceCodeLocalServiceUtil;
25 import com.liferay.portal.upgrade.UpgradeException;
26 import com.liferay.portal.upgrade.util.BaseUpgradeColumnImpl;
27 import com.liferay.portal.upgrade.util.UpgradeColumn;
28
29
37 public class ResourceCodeIdUpgradeColumnImpl extends BaseUpgradeColumnImpl {
38
39 public ResourceCodeIdUpgradeColumnImpl(
40 UpgradeColumn companyIdColumn, UpgradeColumn nameColumn,
41 UpgradeColumn scopeColumn) {
42
43 super("codeId");
44
45 _companyIdColumn = companyIdColumn;
46 _nameColumn = nameColumn;
47 _scopeColumn = scopeColumn;
48 }
49
50 public Object getNewValue(Object oldValue) throws Exception {
51 _scope = 0;
52
53 Long companyId = (Long)_companyIdColumn.getOldValue();
54 String name = (String)_nameColumn.getOldValue();
55 String scope = (String)_scopeColumn.getOldValue();
56
57 if (scope.equals("company")) {
58 _scope = ResourceConstants.SCOPE_COMPANY;
59 }
60 else if (scope.equals("group")) {
61 _scope = ResourceConstants.SCOPE_GROUP;
62 }
63 else if (scope.equals("groupTemplate")) {
64 _scope = ResourceConstants.SCOPE_GROUP_TEMPLATE;
65 }
66 else if (scope.equals("individual")) {
67 _scope = ResourceConstants.SCOPE_INDIVIDUAL;
68 }
69 else {
70 throw new UpgradeException("Scope " + _scope + " is invalid");
71 }
72
73 ResourceCode resourceCode =
74 ResourceCodeLocalServiceUtil.getResourceCode(
75 companyId.longValue(), name, _scope);
76
77 return new Long(resourceCode.getCodeId());
78 }
79
80 public int getScope() {
81 return _scope;
82 }
83
84 private UpgradeColumn _companyIdColumn;
85 private UpgradeColumn _nameColumn;
86 private UpgradeColumn _scopeColumn;
87 private int _scope;
88
89 }