001
014
015 package com.liferay.portlet.messageboards.asset;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
019 import com.liferay.portal.kernel.portlet.LiferayPortletURL;
020 import com.liferay.portal.util.PortletKeys;
021 import com.liferay.portlet.asset.model.AssetRenderer;
022 import com.liferay.portlet.messageboards.model.MBDiscussion;
023 import com.liferay.portlet.messageboards.model.MBMessage;
024 import com.liferay.portlet.messageboards.service.MBMessageLocalServiceUtil;
025
026 import javax.portlet.PortletRequest;
027 import javax.portlet.PortletURL;
028 import javax.portlet.WindowState;
029 import javax.portlet.WindowStateException;
030
031
034 public class MBDiscussionAssetRendererFactory
035 extends MBMessageAssetRendererFactory {
036
037 public static final String TYPE = "discussion";
038
039 @Override
040 public AssetRenderer getAssetRenderer(long classPK, int type)
041 throws PortalException {
042
043 MBMessage message = MBMessageLocalServiceUtil.getMessage(classPK);
044
045 MBDiscussionAssetRenderer mbDiscussionAssetRenderer =
046 new MBDiscussionAssetRenderer(message);
047
048 mbDiscussionAssetRenderer.setAssetRendererType(type);
049
050 return mbDiscussionAssetRenderer;
051 }
052
053 @Override
054 public String getClassName() {
055 return MBDiscussion.class.getName();
056 }
057
058 @Override
059 public String getType() {
060 return TYPE;
061 }
062
063 @Override
064 public PortletURL getURLView(
065 LiferayPortletResponse liferayPortletResponse,
066 WindowState windowState) {
067
068 LiferayPortletURL liferayPortletURL =
069 liferayPortletResponse.createLiferayPortletURL(
070 PortletKeys.MESSAGE_BOARDS, PortletRequest.RENDER_PHASE);
071
072 try {
073 liferayPortletURL.setWindowState(windowState);
074 }
075 catch (WindowStateException wse) {
076 }
077
078 return liferayPortletURL;
079 }
080
081 @Override
082 public boolean isSelectable() {
083 return _SELECTABLE;
084 }
085
086 private static final boolean _SELECTABLE = false;
087
088 }