Example usage for com.liferay.portal.kernel.portlet PortletPreferencesFactoryUtil getExistingPortletSetup

List of usage examples for com.liferay.portal.kernel.portlet PortletPreferencesFactoryUtil getExistingPortletSetup

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.portlet PortletPreferencesFactoryUtil getExistingPortletSetup.

Prototype

public static PortletPreferences getExistingPortletSetup(Layout layout, String portletId)
            throws PortalException 

Source Link

Usage

From source file:com.liferay.journal.web.internal.portlet.action.ExportArticleMVCResourceCommand.java

License:Open Source License

@Override
protected void doServeResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
        throws Exception {

    try {/*from  w  w w  .ja  v  a 2 s  .c  om*/
        String targetExtension = ParamUtil.getString(resourceRequest, "targetExtension");

        PortletPreferences portletPreferences = resourceRequest.getPreferences();

        String porletResource = ParamUtil.getString(resourceRequest, "portletResource");

        if (Validator.isNotNull(porletResource)) {
            long plid = ParamUtil.getLong(resourceRequest, "plid");

            Layout layout = _layoutLocalService.fetchLayout(plid);

            if (layout != null) {
                portletPreferences = PortletPreferencesFactoryUtil.getExistingPortletSetup(layout,
                        porletResource);
            }
        }

        String[] allowedExtensions = portletPreferences.getValues("extensions", null);

        if (ArrayUtil.isNotEmpty(allowedExtensions) && (allowedExtensions.length == 1)) {

            allowedExtensions = StringUtil.split(portletPreferences.getValue("extensions", null));
        }

        if (ArrayUtil.contains(allowedExtensions, targetExtension, true)) {
            _exportArticleUtil.sendFile(targetExtension, resourceRequest, resourceResponse);
        } else {
            throw new ExportArticleTargetExtensionException(
                    "Target extension " + targetExtension + " is not allowed");
        }
    } catch (Exception e) {
        _log.error("Unable to export article", e);

        _portal.sendError(e, _portal.getHttpServletRequest(resourceRequest),
                _portal.getHttpServletResponse(resourceResponse));
    }
}