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
39 public class JournalArticlePKUpgradeColumnImpl extends PKUpgradeColumnImpl {
40
41 public JournalArticlePKUpgradeColumnImpl(
42 UpgradeColumn companyIdColumn, UpgradeColumn groupIdColumn) {
43
44 super("id_", new Integer(Types.VARCHAR), false);
45
46 _companyIdColumn = companyIdColumn;
47 _groupIdColumn = groupIdColumn;
48 _journalArticleIdMapper = ValueMapperFactory.getValueMapper();
49 }
50
51 public Object getNewValue(Object oldValue) throws Exception {
52 _resourcePrimKey = null;
53
54 Object newValue = super.getNewValue(oldValue);
55
56 String companyId = (String)_companyIdColumn.getOldValue();
57 Long oldGroupId = (Long)_groupIdColumn.getOldValue();
58 Long newGroupId = (Long)_groupIdColumn.getNewValue();
59 String articleId = (String)oldValue;
60
61 String oldIdValue =
62 "{companyId=" + companyId + ", groupId=" + oldGroupId +
63 ", articleId=" + articleId + ", version=1.0}";
64
65 _resourcePrimKey = new Long(JournalArticleResourceLocalServiceUtil.
66 getArticleResourcePrimKey(newGroupId.longValue(), articleId));
67
68 _journalArticleIdMapper.mapValue(oldIdValue, _resourcePrimKey);
69
70 return newValue;
71 }
72
73 public ValueMapper getValueMapper() {
74 return _journalArticleIdMapper;
75 }
76
77 public Long getResourcePrimKey() {
78 return _resourcePrimKey;
79 }
80
81 private UpgradeColumn _companyIdColumn;
82 private UpgradeColumn _groupIdColumn;
83 private ValueMapper _journalArticleIdMapper;
84 private Long _resourcePrimKey;
85
86 }