001
014
015 package com.liferay.portal.upgrade.v6_2_0;
016
017 import com.liferay.portal.kernel.upgrade.BaseUpgradePortletPreferences;
018 import com.liferay.portal.kernel.upgrade.util.UpgradeTable;
019 import com.liferay.portal.kernel.upgrade.util.UpgradeTableFactoryUtil;
020 import com.liferay.portal.kernel.util.GetterUtil;
021 import com.liferay.portal.kernel.util.Validator;
022 import com.liferay.portal.upgrade.v6_2_0.util.BlogsEntryTable;
023 import com.liferay.portlet.PortletPreferencesFactoryUtil;
024 import com.liferay.util.RSSUtil;
025
026 import javax.portlet.PortletPreferences;
027
028
032 public class UpgradeBlogs extends BaseUpgradePortletPreferences {
033
034 @Override
035 protected void doUpgrade() throws Exception {
036 super.doUpgrade();
037
038 updateEntries();
039 }
040
041 @Override
042 protected String[] getPortletIds() {
043 return new String[] {"33"};
044 }
045
046 protected void updateEntries() throws Exception {
047 try {
048 runSQL("alter_column_type BlogsEntry description STRING null");
049 }
050 catch (Exception e) {
051 UpgradeTable upgradeTable = UpgradeTableFactoryUtil.getUpgradeTable(
052 BlogsEntryTable.TABLE_NAME, BlogsEntryTable.TABLE_COLUMNS);
053
054 upgradeTable.setCreateSQL(BlogsEntryTable.TABLE_SQL_CREATE);
055 upgradeTable.setIndexesSQL(BlogsEntryTable.TABLE_SQL_ADD_INDEXES);
056
057 upgradeTable.updateTable();
058 }
059 }
060
061 @Override
062 protected String upgradePreferences(
063 long companyId, long ownerId, int ownerType, long plid,
064 String portletId, String xml)
065 throws Exception {
066
067 PortletPreferences portletPreferences =
068 PortletPreferencesFactoryUtil.fromXML(
069 companyId, ownerId, ownerType, plid, portletId, xml);
070
071 String rssFormat = GetterUtil.getString(
072 portletPreferences.getValue("rssFormat", null));
073
074 if (Validator.isNotNull(rssFormat)) {
075 String rssFormatType = RSSUtil.getFormatType(rssFormat);
076 double rssFormatVersion = RSSUtil.getFormatVersion(rssFormat);
077
078 String rssFeedType = RSSUtil.getFeedType(
079 rssFormatType, rssFormatVersion);
080
081 portletPreferences.setValue("rssFeedType", rssFeedType);
082 }
083
084 portletPreferences.reset("rssFormat");
085
086 return PortletPreferencesFactoryUtil.toXML(portletPreferences);
087 }
088
089 }