001
014
015 package com.liferay.portlet.wiki.security.permission;
016
017 import com.liferay.portal.kernel.dao.orm.QueryUtil;
018 import com.liferay.portal.kernel.exception.PortalException;
019 import com.liferay.portal.kernel.exception.SystemException;
020 import com.liferay.portal.kernel.util.GetterUtil;
021 import com.liferay.portal.security.permission.BasePermissionPropagator;
022 import com.liferay.portlet.wiki.model.WikiNode;
023 import com.liferay.portlet.wiki.model.WikiPage;
024 import com.liferay.portlet.wiki.service.WikiPageLocalServiceUtil;
025
026 import java.util.List;
027
028 import javax.portlet.ActionRequest;
029
030
034 public class WikiPermissionPropagatorImpl extends BasePermissionPropagator {
035
036 @Override
037 public void propagateRolePermissions(
038 ActionRequest actionRequest, String className, String primKey,
039 long[] roleIds)
040 throws PortalException, SystemException {
041
042 if (!className.equals(WikiNode.class.getName())) {
043 return;
044 }
045
046 long nodeId = GetterUtil.getLong(primKey);
047
048 List<WikiPage> wikiPages = WikiPageLocalServiceUtil.getPages(
049 nodeId, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
050
051 for (WikiPage wikiPage : wikiPages) {
052 for (long roleId : roleIds) {
053 propagateRolePermissions(
054 actionRequest, roleId, WikiNode.class.getName(), nodeId,
055 WikiPage.class.getName(), wikiPage.getResourcePrimKey());
056 }
057 }
058 }
059
060 }