Example usage for com.liferay.portal.kernel.model LayoutTypePortletConstants LAYOUT_TEMPLATE_ID

List of usage examples for com.liferay.portal.kernel.model LayoutTypePortletConstants LAYOUT_TEMPLATE_ID

Introduction

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

Prototype

String LAYOUT_TEMPLATE_ID

To view the source code for com.liferay.portal.kernel.model LayoutTypePortletConstants LAYOUT_TEMPLATE_ID.

Click 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 {//  ww  w .j  av a2  s.  c om
        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.admin.web.internal.upgrade.v_1_0_1.UpgradeLayoutType.java

License:Open Source License

protected String getTypeSettings(String portletId) {
    UnicodeProperties newTypeSettings = new UnicodeProperties(true);

    newTypeSettings.put("column-1", portletId);
    newTypeSettings.put(LayoutTypePortletConstants.LAYOUT_TEMPLATE_ID, "1_column");

    return newTypeSettings.toString();
}