001
014
015 package com.liferay.portal.struts;
016
017 import com.liferay.portal.kernel.servlet.ServletResponseUtil;
018 import com.liferay.portal.kernel.struts.BaseStrutsAction;
019 import com.liferay.portal.kernel.util.ContentTypes;
020 import com.liferay.portal.util.PortalUtil;
021
022 import javax.servlet.http.HttpServletRequest;
023 import javax.servlet.http.HttpServletResponse;
024
025
028 public abstract class BaseRSSStrutsAction extends BaseStrutsAction {
029
030 @Override
031 public String execute(
032 HttpServletRequest request, HttpServletResponse response)
033 throws Exception {
034
035 if (!isRSSFeedsEnabled(request)) {
036 PortalUtil.sendRSSFeedsDisabledError(request, response);
037
038 return null;
039 }
040
041 try {
042 ServletResponseUtil.sendFile(
043 request, response, null, getRSS(request),
044 ContentTypes.TEXT_XML_UTF8);
045
046 return null;
047 }
048 catch (Exception e) {
049 PortalUtil.sendError(e, request, response);
050
051 return null;
052 }
053 }
054
055 protected abstract byte[] getRSS(HttpServletRequest request)
056 throws Exception;
057
058 protected boolean isRSSFeedsEnabled(HttpServletRequest request)
059 throws Exception {
060
061 return PortalUtil.isRSSFeedsEnabled();
062 }
063
064 }