List of usage examples for com.liferay.portal.kernel.portlet PortletPreferencesFactoryUtil getPortletPreferencesIds
public static PortletPreferencesIds getPortletPreferencesIds(long companyId, long siteGroupId, long plid, String portletId, String settingsScope)
From source file:com.liferay.exportimport.resources.importer.internal.util.FileSystemImporter.java
License:Open Source License
protected void addLayoutColumnPortlet(Layout layout, String columnId, JSONObject portletJSONObject) throws Exception { LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType(); String rootPortletId = portletJSONObject.getString("portletId"); if (Validator.isNull(rootPortletId)) { throw new ImporterException("portletId is not specified"); }/*from w w w . j a va2s .co m*/ PortletPreferencesTranslator portletPreferencesTranslator = portletPreferencesTranslators .get(rootPortletId); String portletId = layoutTypePortlet.addPortletId(userId, rootPortletId, columnId, -1, false); if (portletId == null) { return; } JSONObject portletPreferencesJSONObject = portletJSONObject.getJSONObject("portletPreferences"); if ((portletPreferencesJSONObject == null) || (portletPreferencesJSONObject.length() == 0)) { return; } if (portletPreferencesTranslator != null) { PortletPreferencesIds portletPreferencesIds = PortletPreferencesFactoryUtil .getPortletPreferencesIds(layout.getGroupId(), 0, layout, portletId, false); PortletPreferences portletSetup = PortletPreferencesLocalServiceUtil .getPreferences(portletPreferencesIds); Iterator<String> iterator = portletPreferencesJSONObject.keys(); while (iterator.hasNext()) { String key = iterator.next(); portletPreferencesTranslator.translate(portletPreferencesJSONObject, key, portletSetup); } portletSetup.store(); } if (rootPortletId.equals(PortletKeys.NESTED_PORTLETS)) { JSONArray columnsJSONArray = portletPreferencesJSONObject.getJSONArray("columns"); StringBundler sb = new StringBundler(4); sb.append(StringPool.UNDERLINE); sb.append(portletId); sb.append(StringPool.DOUBLE_UNDERLINE); sb.append(LayoutTypePortletConstants.COLUMN_PREFIX); addLayoutColumns(layout, sb.toString(), columnsJSONArray); } }