Example usage for com.liferay.portal.kernel.model LayoutTypePortlet setLayoutTemplateId

List of usage examples for com.liferay.portal.kernel.model LayoutTypePortlet setLayoutTemplateId

Introduction

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

Prototype

public void setLayoutTemplateId(long userId, String newLayoutTemplateId);

Source Link

Usage

From source file:com.liferay.arquillian.portal.bundle.servlet.PortalURLServlet.java

License:Open Source License

@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {

    String portletId = request.getParameter("portlet-id");

    response.setContentType("text/html");

    PrintWriter out = response.getWriter();
    out.println("<h1> Portlet ID: " + portletId + "</h1>");

    Company company = _companyLocalService.getCompanies().get(0);

    Group guestGroup = null;//from  www.j  a  va2s.  c  o m

    if (_layouts == null) {
        _layouts = new ArrayList<>();
    }

    try {
        guestGroup = _groupLocalService.getGroup(company.getCompanyId(), "Guest");

        User defaultUser = _userLocalService.getDefaultUser(company.getCompanyId());

        UUID uuid = UUID.randomUUID();

        Layout layout = _layoutLocalService.addLayout(defaultUser.getUserId(), guestGroup.getGroupId(), false,
                0, uuid.toString(), null, null, "portlet", false, "/" + uuid.toString(), new ServiceContext());

        _layouts.add(layout);

        LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType();

        layoutTypePortlet.setLayoutTemplateId(defaultUser.getUserId(), "1_column");

        String portletIdAdded = layoutTypePortlet.addPortletId(defaultUser.getUserId(), portletId, false);

        long ownerId = 0;
        int ownerType = 3;

        PortletPreferences prefs = _portletPreferencesLocalService.getPreferences(company.getCompanyId(),
                ownerId, ownerType, layout.getPlid(), portletIdAdded);

        _portletPreferencesLocalService.updatePreferences(ownerId, ownerType, layout.getPlid(), portletIdAdded,
                prefs);

        _layoutLocalService.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(),
                layout.getTypeSettings());

        response.sendRedirect("/" + uuid.toString());
    } catch (PortalException pe) {
        _logger.log(Level.SEVERE, pe.getMessage(), pe);
    }
}

From source file:com.liferay.arquillian.portal.servlet.PortalURLServlet.java

License:Open Source License

@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {

    String portletId = request.getParameter("portlet-id");

    response.setContentType("text/html");

    PrintWriter out = response.getWriter();
    out.println("<h1> Portlet ID: " + portletId + "</h1>");

    Company company = _companyLocalService.getCompanies().get(0);

    Group guestGroup = null;//from   w  w w. j av a  2 s.co m

    if (_layouts == null) {
        _layouts = new ArrayList<>();
    }

    try {
        guestGroup = _groupLocalService.getGroup(company.getCompanyId(), "Guest");

        User defaultUser = _userLocalService.getDefaultUser(company.getCompanyId());

        UUID uuid = UUID.randomUUID();

        Layout layout = _layoutLocalService.addLayout(defaultUser.getUserId(), guestGroup.getGroupId(), false,
                0, uuid.toString(), null, null, "portlet", false, "/" + uuid.toString(), new ServiceContext());

        _layouts.add(layout);

        LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType();

        layoutTypePortlet.setLayoutTemplateId(defaultUser.getUserId(), "1_column");

        String portletIdAdded = layoutTypePortlet.addPortletId(defaultUser.getUserId(), portletId, false);

        long ownerId = 0;
        int ownerType = 3;

        PortletPreferences prefs = _portletPreferencesLocalService.getPreferences(company.getCompanyId(),
                ownerId, ownerType, layout.getPlid(), portletIdAdded);

        _portletPreferencesLocalService.updatePreferences(ownerId, ownerType, layout.getPlid(), portletIdAdded,
                prefs);

        _layoutLocalService.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(),
                layout.getTypeSettings());

        response.sendRedirect("/" + uuid.toString());
    } catch (PortalException e) {
        _logger.log(Level.SEVERE, e.getMessage(), e);
    }
}

From source file:com.liferay.layout.admin.web.internal.portlet.action.AddLayoutMVCActionCommand.java

License:Open Source License

@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    UploadPortletRequest uploadPortletRequest = _portal.getUploadPortletRequest(actionRequest);

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

    long groupId = ParamUtil.getLong(actionRequest, "groupId");
    long liveGroupId = ParamUtil.getLong(actionRequest, "liveGroupId");
    long stagingGroupId = ParamUtil.getLong(actionRequest, "stagingGroupId");
    boolean privateLayout = ParamUtil.getBoolean(actionRequest, "privateLayout");
    long parentLayoutId = ParamUtil.getLong(uploadPortletRequest, "parentLayoutId");
    Map<Locale, String> nameMap = LocalizationUtil.getLocalizationMap(actionRequest, "name");
    Map<Locale, String> titleMap = LocalizationUtil.getLocalizationMap(actionRequest, "title");
    Map<Locale, String> descriptionMap = LocalizationUtil.getLocalizationMap(actionRequest, "description");
    Map<Locale, String> keywordsMap = LocalizationUtil.getLocalizationMap(actionRequest, "keywords");
    Map<Locale, String> robotsMap = LocalizationUtil.getLocalizationMap(actionRequest, "robots");
    String type = ParamUtil.getString(uploadPortletRequest, "type");
    boolean hidden = ParamUtil.getBoolean(uploadPortletRequest, "hidden");
    Map<Locale, String> friendlyURLMap = LocalizationUtil.getLocalizationMap(actionRequest, "friendlyURL");

    long layoutPrototypeId = ParamUtil.getLong(uploadPortletRequest, "layoutPrototypeId");

    ServiceContext serviceContext = ServiceContextFactory.getInstance(Layout.class.getName(), actionRequest);

    Layout layout = null;/* w  ww. ja va  2 s.co  m*/

    boolean inheritFromParentLayoutId = ParamUtil.getBoolean(uploadPortletRequest, "inheritFromParentLayoutId");

    UnicodeProperties typeSettingsProperties = PropertiesParamUtil.getProperties(actionRequest,
            "TypeSettingsProperties--");

    String linkToLayoutUuid = ParamUtil.getString(actionRequest, "linkToLayoutUuid");

    if (Validator.isNotNull(linkToLayoutUuid)) {
        Layout linkToLayout = _layoutLocalService.getLayoutByUuidAndGroupId(linkToLayoutUuid, groupId,
                privateLayout);

        typeSettingsProperties.put("linkToLayoutId", String.valueOf(linkToLayout.getLayoutId()));
    }

    if (inheritFromParentLayoutId && (parentLayoutId > 0)) {
        Layout parentLayout = _layoutLocalService.getLayout(groupId, privateLayout, parentLayoutId);

        layout = _layoutService.addLayout(groupId, privateLayout, parentLayoutId, nameMap, titleMap,
                parentLayout.getDescriptionMap(), parentLayout.getKeywordsMap(), parentLayout.getRobotsMap(),
                parentLayout.getType(), parentLayout.getTypeSettings(), hidden, friendlyURLMap, serviceContext);

        inheritMobileRuleGroups(layout, serviceContext);

        if (parentLayout.isTypePortlet()) {
            com.liferay.portlet.sites.action.ActionUtil.copyPreferences(actionRequest, layout, parentLayout);

            SitesUtil.copyLookAndFeel(layout, parentLayout);
        }
    } else if (layoutPrototypeId > 0) {
        LayoutPrototype layoutPrototype = _layoutPrototypeService.getLayoutPrototype(layoutPrototypeId);

        boolean layoutPrototypeLinkEnabled = ParamUtil.getBoolean(uploadPortletRequest,
                "layoutPrototypeLinkEnabled" + layoutPrototype.getUuid());

        serviceContext.setAttribute("layoutPrototypeLinkEnabled", layoutPrototypeLinkEnabled);

        serviceContext.setAttribute("layoutPrototypeUuid", layoutPrototype.getUuid());

        layout = _layoutService.addLayout(groupId, privateLayout, parentLayoutId, nameMap, titleMap,
                descriptionMap, keywordsMap, robotsMap, LayoutConstants.TYPE_PORTLET,
                typeSettingsProperties.toString(), hidden, friendlyURLMap, serviceContext);

        // Force propagation from page template to page. See LPS-48430.

        SitesUtil.mergeLayoutPrototypeLayout(layout.getGroup(), layout);
    } else {
        long copyLayoutId = ParamUtil.getLong(uploadPortletRequest, "copyLayoutId");

        Layout copyLayout = null;

        String layoutTemplateId = ParamUtil.getString(uploadPortletRequest, "layoutTemplateId",
                PropsValues.DEFAULT_LAYOUT_TEMPLATE_ID);

        if (copyLayoutId > 0) {
            copyLayout = _layoutLocalService.fetchLayout(groupId, privateLayout, copyLayoutId);

            if ((copyLayout != null) && copyLayout.isTypePortlet()) {
                LayoutTypePortlet copyLayoutTypePortlet = (LayoutTypePortlet) copyLayout.getLayoutType();

                layoutTemplateId = copyLayoutTypePortlet.getLayoutTemplateId();

                typeSettingsProperties = copyLayout.getTypeSettingsProperties();
            }
        }

        layout = _layoutService.addLayout(groupId, privateLayout, parentLayoutId, nameMap, titleMap,
                descriptionMap, keywordsMap, robotsMap, type, typeSettingsProperties.toString(), hidden,
                friendlyURLMap, serviceContext);

        LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType();

        layoutTypePortlet.setLayoutTemplateId(themeDisplay.getUserId(), layoutTemplateId);

        _layoutService.updateLayout(groupId, privateLayout, layout.getLayoutId(), layout.getTypeSettings());

        if ((copyLayout != null) && copyLayout.isTypePortlet()) {
            com.liferay.portlet.sites.action.ActionUtil.copyPreferences(actionRequest, layout, copyLayout);

            SitesUtil.copyLookAndFeel(layout, copyLayout);
        }
    }

    _actionUtil.updateLookAndFeel(actionRequest, themeDisplay.getCompanyId(), liveGroupId, stagingGroupId,
            privateLayout, layout.getLayoutId(), layout.getTypeSettingsProperties());

    String portletResource = ParamUtil.getString(uploadPortletRequest, "portletResource");

    MultiSessionMessages.add(actionRequest, portletResource + "layoutAdded", layout);

    String redirect = ParamUtil.getString(actionRequest, "redirect");

    if (Validator.isNull(redirect)) {
        redirect = _portal.getLayoutFullURL(layout, themeDisplay);

        if (layout.isTypeURL()) {
            redirect = _portal.getGroupFriendlyURL(layout.getLayoutSet(), themeDisplay);
        }
    }

    actionRequest.setAttribute(WebKeys.REDIRECT, redirect);
}

From source file:com.liferay.layout.admin.web.internal.portlet.action.AddSimpleLayoutMVCActionCommand.java

License:Open Source License

@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

    long groupId = ParamUtil.getLong(actionRequest, "groupId");
    long liveGroupId = ParamUtil.getLong(actionRequest, "liveGroupId");
    long stagingGroupId = ParamUtil.getLong(actionRequest, "stagingGroupId");
    boolean privateLayout = ParamUtil.getBoolean(actionRequest, "privateLayout");
    long parentLayoutId = ParamUtil.getLong(actionRequest, "parentLayoutId");
    String name = ParamUtil.getString(actionRequest, "name");
    String type = ParamUtil.getString(actionRequest, "type");

    Map<Locale, String> nameMap = new HashMap<>();

    nameMap.put(themeDisplay.getLocale(), name);

    ServiceContext serviceContext = ServiceContextFactory.getInstance(Layout.class.getName(), actionRequest);

    UnicodeProperties typeSettingsProperties = PropertiesParamUtil.getProperties(actionRequest,
            "TypeSettingsProperties--");

    JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

    try {/*from w w w  . j av a  2 s.c  o m*/
        Layout layout = _layoutService.addLayout(groupId, privateLayout, parentLayoutId, nameMap,
                new HashMap<Locale, String>(), new HashMap<Locale, String>(), new HashMap<Locale, String>(),
                new HashMap<Locale, String>(), type, typeSettingsProperties.toString(), false,
                new HashMap<Locale, String>(), serviceContext);

        LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType();

        layoutTypePortlet.setLayoutTemplateId(themeDisplay.getUserId(), PropsValues.DEFAULT_LAYOUT_TEMPLATE_ID);

        _layoutService.updateLayout(groupId, privateLayout, layout.getLayoutId(), layout.getTypeSettings());

        _actionUtil.updateLookAndFeel(actionRequest, themeDisplay.getCompanyId(), liveGroupId, stagingGroupId,
                privateLayout, layout.getLayoutId(), layout.getTypeSettingsProperties());

        jsonObject.put("redirectURL", getRedirectURL(actionResponse));

        JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);
    } catch (PortalException pe) {
        if (_log.isDebugEnabled()) {
            _log.debug(pe, pe);
        }

        ResourceBundle resourceBundle = _resourceBundleLoader.loadResourceBundle(themeDisplay.getLocale());

        jsonObject.put("error", LanguageUtil.get(resourceBundle, "an-unexpected-error-occurred"));

        JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject);
    }
}

From source file:com.liferay.layout.admin.web.internal.portlet.action.EditLayoutMVCActionCommand.java

License:Open Source License

@Override
protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {

    UploadPortletRequest uploadPortletRequest = _portal.getUploadPortletRequest(actionRequest);

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

    long groupId = ParamUtil.getLong(actionRequest, "groupId");
    long liveGroupId = ParamUtil.getLong(actionRequest, "liveGroupId");
    long stagingGroupId = ParamUtil.getLong(actionRequest, "stagingGroupId");
    boolean privateLayout = ParamUtil.getBoolean(actionRequest, "privateLayout");
    long layoutId = ParamUtil.getLong(actionRequest, "layoutId");
    Map<Locale, String> nameMap = LocalizationUtil.getLocalizationMap(actionRequest, "name");
    Map<Locale, String> titleMap = LocalizationUtil.getLocalizationMap(actionRequest, "title");
    Map<Locale, String> descriptionMap = LocalizationUtil.getLocalizationMap(actionRequest, "description");
    Map<Locale, String> keywordsMap = LocalizationUtil.getLocalizationMap(actionRequest, "keywords");
    Map<Locale, String> robotsMap = LocalizationUtil.getLocalizationMap(actionRequest, "robots");
    String type = ParamUtil.getString(uploadPortletRequest, "type");
    boolean hidden = ParamUtil.getBoolean(uploadPortletRequest, "hidden");
    Map<Locale, String> friendlyURLMap = LocalizationUtil.getLocalizationMap(actionRequest, "friendlyURL");
    boolean deleteLogo = ParamUtil.getBoolean(actionRequest, "deleteLogo");

    byte[] iconBytes = null;

    long fileEntryId = ParamUtil.getLong(uploadPortletRequest, "fileEntryId");

    if (fileEntryId > 0) {
        FileEntry fileEntry = _dlAppLocalService.getFileEntry(fileEntryId);

        iconBytes = FileUtil.getBytes(fileEntry.getContentStream());
    }/*from   w  ww  . j  av  a2s .  com*/

    ServiceContext serviceContext = ServiceContextFactory.getInstance(Layout.class.getName(), actionRequest);

    Layout layout = _layoutLocalService.getLayout(groupId, privateLayout, layoutId);

    String currentType = layout.getType();

    layout = _layoutService.updateLayout(groupId, privateLayout, layoutId, layout.getParentLayoutId(), nameMap,
            titleMap, descriptionMap, keywordsMap, robotsMap, type, hidden, friendlyURLMap, !deleteLogo,
            iconBytes, serviceContext);

    themeDisplay.clearLayoutFriendlyURL(layout);

    UnicodeProperties layoutTypeSettingsProperties = layout.getTypeSettingsProperties();

    UnicodeProperties formTypeSettingsProperties = PropertiesParamUtil.getProperties(actionRequest,
            "TypeSettingsProperties--");

    String linkToLayoutUuid = ParamUtil.getString(actionRequest, "linkToLayoutUuid");

    if (Validator.isNotNull(linkToLayoutUuid)) {
        Layout linkToLayout = _layoutLocalService.getLayoutByUuidAndGroupId(linkToLayoutUuid, groupId,
                privateLayout);

        formTypeSettingsProperties.put("linkToLayoutId", String.valueOf(linkToLayout.getLayoutId()));
    }

    LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType();

    if (type.equals(LayoutConstants.TYPE_PORTLET)) {
        String layoutTemplateId = ParamUtil.getString(uploadPortletRequest, "layoutTemplateId",
                PropsValues.DEFAULT_LAYOUT_TEMPLATE_ID);

        layoutTypePortlet.setLayoutTemplateId(themeDisplay.getUserId(), layoutTemplateId);

        layoutTypeSettingsProperties.putAll(formTypeSettingsProperties);

        boolean layoutCustomizable = GetterUtil
                .getBoolean(layoutTypeSettingsProperties.get(LayoutConstants.CUSTOMIZABLE_LAYOUT));

        if (!layoutCustomizable) {
            layoutTypePortlet.removeCustomization(layoutTypeSettingsProperties);
        }

        layout = _layoutService.updateLayout(groupId, privateLayout, layoutId,
                layoutTypeSettingsProperties.toString());

        if (!currentType.equals(LayoutConstants.TYPE_PORTLET)) {
            _portletPreferencesLocalService.deletePortletPreferences(0, PortletKeys.PREFS_OWNER_TYPE_LAYOUT,
                    layout.getPlid());
        }
    } else {
        layoutTypeSettingsProperties.putAll(formTypeSettingsProperties);

        layoutTypeSettingsProperties.putAll(layout.getTypeSettingsProperties());

        layout = _layoutService.updateLayout(groupId, privateLayout, layoutId,
                layoutTypeSettingsProperties.toString());
    }

    HttpServletResponse response = _portal.getHttpServletResponse(actionResponse);

    EventsProcessorUtil.process(PropsKeys.LAYOUT_CONFIGURATION_ACTION_UPDATE,
            layoutTypePortlet.getConfigurationActionUpdate(), uploadPortletRequest, response);

    _actionUtil.updateLookAndFeel(actionRequest, themeDisplay.getCompanyId(), liveGroupId, stagingGroupId,
            privateLayout, layout.getLayoutId(), layout.getTypeSettingsProperties());

    String redirect = ParamUtil.getString(actionRequest, "redirect");

    if (Validator.isNull(redirect)) {
        redirect = _portal.getLayoutFullURL(layout, themeDisplay);
    }

    String portletResource = ParamUtil.getString(actionRequest, "portletResource");

    MultiSessionMessages.add(actionRequest, portletResource + "layoutUpdated", layout);

    actionRequest.setAttribute(WebKeys.REDIRECT, redirect);
}