List of usage examples for com.liferay.portal.kernel.portlet PortletPreferencesFactoryUtil getExistingPortletSetup
public static PortletPreferences getExistingPortletSetup(Layout layout, String portletId) throws PortalException
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)); } }