001
014
015 package com.liferay.portal.upgrade.v6_0_3;
016
017 import com.liferay.portal.kernel.util.GetterUtil;
018 import com.liferay.portal.service.LayoutLocalServiceUtil;
019 import com.liferay.portal.upgrade.BaseUpgradePortletPreferences;
020 import com.liferay.portal.verify.VerifyUUID;
021 import com.liferay.portlet.PortletPreferencesImpl;
022 import com.liferay.portlet.PortletPreferencesSerializer;
023
024
027 public class UpgradeScopes extends BaseUpgradePortletPreferences {
028
029 protected void doUpgrade() throws Exception {
030
031
032
033 VerifyUUID.verifyModel(
034 LayoutLocalServiceUtil.class.getName(), "Layout", "plid");
035
036
037
038 updatePortletPreferences();
039 }
040
041 protected String getUpdatePortletPreferencesWhereClause() {
042 return "preferences like '%lfr-scope-layout-id%'";
043 }
044
045 protected String upgradePreferences(
046 long companyId, long ownerId, int ownerType, long plid,
047 String portletId, String xml)
048 throws Exception {
049
050 PortletPreferencesImpl preferences =
051 PortletPreferencesSerializer.fromXML(
052 companyId, ownerId, ownerType, plid, portletId, xml);
053
054 long linkToLayoutId = GetterUtil.getLong(
055 preferences.getValue("lfr-scope-layout-id", null));
056
057 if (linkToLayoutId > 0) {
058 String uuid = getLayoutUuid(plid, linkToLayoutId);
059
060 if (uuid != null) {
061 preferences.setValue("lfr-scope-layout-uuid", uuid);
062 }
063
064 preferences.reset("lfr-scope-layout-id");
065 }
066
067 return PortletPreferencesSerializer.toXML(preferences);
068 }
069
070 }