Example usage for com.liferay.portal.kernel.model LayoutTemplate getColumns

List of usage examples for com.liferay.portal.kernel.model LayoutTemplate getColumns

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.model LayoutTemplate getColumns.

Prototype

public List<String> getColumns();

Source Link

Usage

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());
}