package ${package}.portlet;
import ${package}.constants.${className}PortletKeys;
import ${package}.constants.${className}WebKeys;
import com.liferay.asset.kernel.model.AssetEntry;
import com.liferay.asset.kernel.service.AssetEntryLocalService;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.portlet.PortletPreferencesFactoryUtil;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet;
import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.PortalUtil;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.kernel.util.WebKeys;
import java.io.IOException;
import javax.portlet.Portlet;
import javax.portlet.PortletException;
import javax.portlet.PortletPreferences;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* @author ${author}
*/
@Component(
immediate = true,
property = {
"com.liferay.portlet.display-category=category.hidden",
"com.liferay.portlet.instanceable=true",
"javax.portlet.display-name=${artifactId} Portlet",
"javax.portlet.init-param.template-path=/",
"javax.portlet.init-param.view-template=/view.jsp",
"javax.portlet.name=" + ${className}PortletKeys.${className},
"javax.portlet.security-role-ref=power-user,user"
},
service = Portlet.class
)
public class ${className}Portlet extends MVCPortlet {
@Override
public void doView(
RenderRequest renderRequest, RenderResponse renderResponse)
throws IOException, PortletException {
ThemeDisplay themeDisplay = (ThemeDisplay)renderRequest.getAttribute(
WebKeys.THEME_DISPLAY);
String portletId = PortalUtil.getPortletId(renderRequest);
String message = "${artifactId} Add Portlet Provider";
try {
PortletPreferences preferences =
PortletPreferencesFactoryUtil.getPortletSetup(
renderRequest, portletId);
String className = preferences.getValue(
"className", StringPool.BLANK);
long classPK = GetterUtil.getLong(
preferences.getValue("classPK", StringPool.BLANK));
if (Validator.isNotNull(className) && (classPK > 0)) {
AssetEntry assetEntry = _assetEntryLocalService.getEntry(
className, classPK);
message = assetEntry.getTitle(themeDisplay.getLocale());
}
}
catch (PortalException pe) {
}
renderRequest.setAttribute(
${className}WebKeys.PORTLET_PROVIDER_MESSAGE, message);
super.doView(renderRequest, renderResponse);
}
@Reference(unbind = "-")
private volatile AssetEntryLocalService _assetEntryLocalService;
}