1
22
23 package com.liferay.portal.upgrade.v4_3_0.util;
24
25 import com.liferay.documentlibrary.service.DLLocalServiceUtil;
26 import com.liferay.documentlibrary.service.DLServiceUtil;
27 import com.liferay.portal.model.CompanyConstants;
28 import com.liferay.portal.upgrade.util.BaseUpgradeColumnImpl;
29 import com.liferay.portal.upgrade.util.UpgradeColumn;
30
31 import org.apache.commons.logging.Log;
32 import org.apache.commons.logging.LogFactory;
33
34
41 public class MBMessageAttachmentsUpgradeColumnImpl
42 extends BaseUpgradeColumnImpl {
43
44 public MBMessageAttachmentsUpgradeColumnImpl(
45 UpgradeColumn messageIdColumn, UpgradeColumn companyIdColumn,
46 UpgradeColumn threadIdColumn) {
47
48 super("attachments");
49
50 _messageIdColumn = messageIdColumn;
51 _companyIdColumn = companyIdColumn;
52 _threadIdColumn = threadIdColumn;
53 }
54
55 public Object getNewValue(Object oldValue) throws Exception {
56 Boolean attachments = (Boolean)oldValue;
57
58 if (attachments.booleanValue()) {
59 Long oldMessageId = (Long)_messageIdColumn.getOldValue();
60 String oldCompanyId = (String)_companyIdColumn.getOldValue();
61 Long oldThreadId = (Long)_threadIdColumn.getOldValue();
62
63 Long newMessageId = (Long)_messageIdColumn.getNewValue();
64 Long newCompanyId = (Long)_companyIdColumn.getNewValue();
65 Long newThreadId = (Long)_threadIdColumn.getNewValue();
66
67 try {
68 DLServiceUtil.addDirectory(
69 newCompanyId.longValue(), CompanyConstants.SYSTEM,
70 "messageboards/" + newThreadId);
71
72 DLLocalServiceUtil.move(
73 "/" + oldCompanyId +
74 "/documentlibrary/system/messageboards/" + oldThreadId +
75 "/" + oldMessageId,
76 "/" + newCompanyId + "/documentlibrary/0/messageboards/" +
77 newThreadId + "/" + newMessageId);
78 }
79 catch (Exception e) {
80 _log.error(e.getMessage());
81 }
82 }
83
84 return attachments;
85 }
86
87 private static Log _log =
88 LogFactory.getLog(MBMessageAttachmentsUpgradeColumnImpl.class);
89
90 private UpgradeColumn _messageIdColumn;
91 private UpgradeColumn _companyIdColumn;
92 private UpgradeColumn _threadIdColumn;
93
94 }