Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package kz.bsbnb.petcatalog.asset;
- import javax.portlet.PortletURL;
- import com.liferay.portal.kernel.exception.PortalException;
- import com.liferay.portal.kernel.exception.SystemException;
- import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
- import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
- import com.liferay.portal.kernel.util.WebKeys;
- import com.liferay.portal.security.permission.PermissionChecker;
- import com.liferay.portal.theme.ThemeDisplay;
- import com.liferay.portlet.asset.model.AssetRenderer;
- import com.liferay.portlet.asset.model.BaseAssetRendererFactory;
- import kz.bsbnb.petcatalog.PortletKeys;
- import kz.bsbnb.petcatalog.model.Pet;
- import kz.bsbnb.petcatalog.portlet.PetCatalogPortlet;
- import kz.bsbnb.petcatalog.service.PetLocalServiceUtil;
- import kz.bsbnb.petcatalog.service.permissions.PetCatalogPermission;
- import kz.bsbnb.petcatalog.service.permissions.PetPermission;
- /**
- * Класс отвечает за создание PetAssetRenderer классов
- *
- */
- public class PetAssetRendererFactory extends BaseAssetRendererFactory {
- public static final String TYPE = "pet";
- /**
- * создает renderer класс для объекта - в нашем случае PetAssetRenderer
- *
- */
- @Override
- public AssetRenderer getAssetRenderer(long classPK, int type)
- throws PortalException, SystemException {
- Pet pet = PetLocalServiceUtil.getPet(classPK);
- PetAssetRenderer petAssetRenderer =
- new PetAssetRenderer(pet);
- return petAssetRenderer;
- }
- @Override
- public String getClassName() {
- return Pet.class.getName();
- }
- @Override
- public String getType() {
- return TYPE;
- }
- /**
- * Генерирует ссылку на диалог создания новой сущности. Используется в
- * публикаторе в кнопке Add...
- */
- @Override
- public PortletURL getURLAdd(
- LiferayPortletRequest liferayPortletRequest,
- LiferayPortletResponse liferayPortletResponse) {
- ThemeDisplay themeDisplay =
- (ThemeDisplay) liferayPortletRequest.getAttribute(
- WebKeys.THEME_DISPLAY);
- if (!PetCatalogPermission.contains(
- themeDisplay.getPermissionChecker(),
- themeDisplay.getScopeGroupId(), PetCatalogPermission.ACTION_ADD_PET)) {
- return null;
- }
- PortletURL portletURL = liferayPortletResponse.createRenderURL(
- PortletKeys.PET_CATALOG);
- portletURL.setParameter("jspPage", PetCatalogPortlet.EDIT_PET_JSP);
- return portletURL;
- }
- @Override
- public boolean hasPermission(
- PermissionChecker permissionChecker, long classPK, String actionId)
- throws Exception {
- return PetPermission.contains(
- permissionChecker, classPK, actionId);
- }
- /**
- * Если этот метод возвращает true - тогда объекты этого типа появляются в
- * списке "Add Related Assets"
- *
- */
- @Override
- public boolean isLinkable() {
- return _LINKABLE;
- }
- private static final boolean _LINKABLE = true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement