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"); } String portletId = layoutTypePortlet.addPortletId(userId, rootPortletId, columnId, -1, false); JSONObject portletPreferencesJSONObject = portletJSONObject.getJSONObject("portletPreferences"); if ((portletPreferencesJSONObject == null) || (portletPreferencesJSONObject.length() == 0)) { return; } PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getLayoutPortletSetup(layout, portletId); Iterator<String> iterator = portletPreferencesJSONObject.keys(); while (iterator.hasNext()) { String key = iterator.next(); String value = portletPreferencesJSONObject.getString(key); if (rootPortletId.equals(PortletKeys.JOURNAL_CONTENT) && key.equals("articleId")) { value = getJournalArticleId(value); } portletSetup.setValue(key, value); } portletSetup.store(); }