1
22
23 package com.liferay.portal.upgrade.v4_3_0.util;
24
25 import com.liferay.portal.upgrade.util.PKUpgradeColumnImpl;
26 import com.liferay.portal.upgrade.util.UpgradeColumn;
27 import com.liferay.portal.upgrade.util.ValueMapper;
28 import com.liferay.portal.upgrade.util.ValueMapperFactory;
29 import com.liferay.portlet.journal.service.JournalArticleResourceLocalServiceUtil;
30
31 import java.sql.Types;
32
33
40 public class JournalArticlePKUpgradeColumnImpl extends PKUpgradeColumnImpl {
41
42 public JournalArticlePKUpgradeColumnImpl(
43 UpgradeColumn companyIdColumn, UpgradeColumn groupIdColumn) {
44
45 super("id_", new Integer(Types.VARCHAR), false);
46
47 _companyIdColumn = companyIdColumn;
48 _groupIdColumn = groupIdColumn;
49 _journalArticleIdMapper = ValueMapperFactory.getValueMapper();
50 }
51
52 public Object getNewValue(Object oldValue) throws Exception {
53 _resourcePrimKey = null;
54
55 Object newValue = super.getNewValue(oldValue);
56
57 String companyId = (String)_companyIdColumn.getOldValue();
58 Long oldGroupId = (Long)_groupIdColumn.getOldValue();
59 Long newGroupId = (Long)_groupIdColumn.getNewValue();
60 String articleId = (String)oldValue;
61
62 String oldIdValue =
63 "{companyId=" + companyId + ", groupId=" + oldGroupId +
64 ", articleId=" + articleId + ", version=1.0}";
65
66 _resourcePrimKey = new Long(JournalArticleResourceLocalServiceUtil.
67 getArticleResourcePrimKey(newGroupId.longValue(), articleId));
68
69 _journalArticleIdMapper.mapValue(oldIdValue, _resourcePrimKey);
70
71 return newValue;
72 }
73
74 public ValueMapper getValueMapper() {
75 return _journalArticleIdMapper;
76 }
77
78 public Long getResourcePrimKey() {
79 return _resourcePrimKey;
80 }
81
82 private UpgradeColumn _companyIdColumn;
83 private UpgradeColumn _groupIdColumn;
84 private ValueMapper _journalArticleIdMapper;
85 private Long _resourcePrimKey;
86
87 }