本文整理汇总了Java中org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute.isAuthorizedForDocument方法的典型用法代码示例。如果您正苦于以下问题:Java DocumentSecurityAttribute.isAuthorizedForDocument方法的具体用法?Java DocumentSecurityAttribute.isAuthorizedForDocument怎么用?Java DocumentSecurityAttribute.isAuthorizedForDocument使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute
的用法示例。
在下文中一共展示了DocumentSecurityAttribute.isAuthorizedForDocument方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getAuthorizedDocumentIds
import org.kuali.rice.kew.framework.document.security.DocumentSecurityAttribute; //导入方法依赖的package包/类
@Override
public List<String> getAuthorizedDocumentIds(String principalId, List<DocumentSecurityDirective> documentSecurityDirectives ) {
if (StringUtils.isBlank(principalId)) {
throw new RiceIllegalArgumentException("principalId was null or blank");
}
if (documentSecurityDirectives == null) {
documentSecurityDirectives = Collections.emptyList();
}
List<String> authorizedDocumentIds = new ArrayList<String>();
Map<String, DocumentSecurityAttribute> securityAttributeCache = new HashMap<String, DocumentSecurityAttribute>();
for (DocumentSecurityDirective documentSecurityDirective : documentSecurityDirectives) {
List<DocumentSecurityAttribute> attributesToApply = loadSecurityAttributes(documentSecurityDirective, securityAttributeCache);
for (Document document : documentSecurityDirective.getDocuments()) {
// if it's already authorized, we don't need to do anything
if (!authorizedDocumentIds.contains(document.getDocumentId())) {
for (DocumentSecurityAttribute securityAttribute : attributesToApply) {
if (securityAttribute.isAuthorizedForDocument(principalId, document)) {
authorizedDocumentIds.add(document.getDocumentId());
break;
}
}
}
}
}
return authorizedDocumentIds;
}