List of usage examples for com.liferay.portal.kernel.model LayoutTemplate getColumns
public List<String> getColumns();
From source file:com.liferay.layout.admin.web.internal.exportimport.data.handler.LayoutStagedModelDataHandler.java
License:Open Source License
protected void mergePortlets(Layout layout, String newTypeSettings, String portletsMergeMode) { try {/*from w w w .ja va 2 s . c o m*/ UnicodeProperties previousTypeSettingsProperties = layout.getTypeSettingsProperties(); LayoutTypePortlet previousLayoutType = (LayoutTypePortlet) layout.getLayoutType(); LayoutTemplate previousLayoutTemplate = previousLayoutType.getLayoutTemplate(); List<String> previousColumns = previousLayoutTemplate.getColumns(); UnicodeProperties newTypeSettingsProperties = new UnicodeProperties(true); newTypeSettingsProperties.load(newTypeSettings); String layoutTemplateId = newTypeSettingsProperties .getProperty(LayoutTypePortletConstants.LAYOUT_TEMPLATE_ID); previousTypeSettingsProperties.setProperty(LayoutTypePortletConstants.LAYOUT_TEMPLATE_ID, layoutTemplateId); String nestedColumnIds = newTypeSettingsProperties .getProperty(LayoutTypePortletConstants.NESTED_COLUMN_IDS); if (Validator.isNotNull(nestedColumnIds)) { previousTypeSettingsProperties.setProperty(LayoutTypePortletConstants.NESTED_COLUMN_IDS, nestedColumnIds); String[] nestedColumnIdsArray = StringUtil.split(nestedColumnIds); for (String nestedColumnId : nestedColumnIdsArray) { String nestedColumnValue = newTypeSettingsProperties.getProperty(nestedColumnId); previousTypeSettingsProperties.setProperty(nestedColumnId, nestedColumnValue); } } LayoutTemplate newLayoutTemplate = _layoutTemplateLocalService.getLayoutTemplate(layoutTemplateId, false, null); String[] newPortletIds = new String[0]; for (String columnId : newLayoutTemplate.getColumns()) { String columnValue = newTypeSettingsProperties.getProperty(columnId); String[] portletIds = StringUtil.split(columnValue); if (!previousColumns.contains(columnId)) { newPortletIds = ArrayUtil.append(newPortletIds, portletIds); } else { String[] previousPortletIds = StringUtil .split(previousTypeSettingsProperties.getProperty(columnId)); portletIds = appendPortletIds(previousPortletIds, portletIds, portletsMergeMode); previousTypeSettingsProperties.setProperty(columnId, StringUtil.merge(portletIds)); } } // Add portlets in non-existent column to the first column String columnId = previousColumns.get(0); String[] portletIds = StringUtil.split(previousTypeSettingsProperties.getProperty(columnId)); appendPortletIds(portletIds, newPortletIds, portletsMergeMode); previousTypeSettingsProperties.setProperty(columnId, StringUtil.merge(portletIds)); layout.setTypeSettings(previousTypeSettingsProperties.toString()); } catch (IOException ioe) { layout.setTypeSettings(newTypeSettings); } }
From source file:com.liferay.layout.type.controller.test.LayoutTypePortletTest.java
License:Open Source License
@Test public void testAddPortletIdCheckColumn() throws Exception { Layout layout = _layoutTypePortlet.getLayout(); _user = UserTestUtil.addUser(layout.getGroupId()); String portletId = PortletKeys.TEST; LayoutTemplate layoutTemplate = _layoutTypePortlet.getLayoutTemplate(); List<String> columns = layoutTemplate.getColumns(); String column1 = columns.get(0); Assert.assertEquals(columns.toString(), 2, columns.size()); portletId = _layoutTypePortlet.addPortletId(_user.getUserId(), portletId); Assert.assertNotNull(portletId);//from w w w . j a v a2s . co m List<Portlet> portlets = _layoutTypePortlet.getAllPortlets(column1); Assert.assertEquals(portlets.toString(), 1, portlets.size()); }
From source file:com.liferay.layout.type.controller.test.LayoutTypePortletTest.java
License:Open Source License
@Test public void testAddPortletIdColumn2() throws Exception { Layout layout = _layoutTypePortlet.getLayout(); _user = UserTestUtil.addUser(layout.getGroupId()); String portletId = PortletKeys.TEST; LayoutTemplate layoutTemplate = _layoutTypePortlet.getLayoutTemplate(); List<String> columns = layoutTemplate.getColumns(); Assert.assertEquals(columns.toString(), 2, columns.size()); String column1 = columns.get(0); String column2 = columns.get(1); portletId = _layoutTypePortlet.addPortletId(_user.getUserId(), portletId, column2, -1); Assert.assertNotNull(portletId);/*w ww .j a va2s. c om*/ List<Portlet> portlets = _layoutTypePortlet.getAllPortlets(column1); Assert.assertEquals(portlets.toString(), 0, portlets.size()); portlets = _layoutTypePortlet.getAllPortlets(column2); Assert.assertEquals(portlets.toString(), 1, portlets.size()); }