use of com.sun.identity.entitlement.xacml3.core.Match in project OpenAM by OpenRock.
the class XACMLPrivilegeUtils method getAllMatchesFromTarget.
static List<Match> getAllMatchesFromTarget(Target target) {
List<Match> matches = new ArrayList<Match>();
if (target != null) {
List<AnyOf> anyOfList = target.getAnyOf();
for (AnyOf anyOf : anyOfList) {
List<AllOf> allOfList = anyOf.getAllOf();
for (AllOf allOf : allOfList) {
List<Match> matchList = allOf.getMatch();
matches.addAll(matchList);
}
}
}
return matches;
}
use of com.sun.identity.entitlement.xacml3.core.Match in project OpenAM by OpenRock.
the class XACMLPrivilegeUtils method actionNamesToAnyOfList.
public static List<AnyOf> actionNamesToAnyOfList(Set<String> actionNames, String applicationName) {
if (actionNames == null || actionNames.isEmpty()) {
return null;
}
List<AnyOf> anyOfList = new ArrayList<AnyOf>();
AnyOf anyOf = new AnyOf();
anyOfList.add(anyOf);
List<AllOf> allOfList = anyOf.getAllOf();
for (String actionName : actionNames) {
AllOf allOf = new AllOf();
List<Match> matchList = allOf.getMatch();
matchList.add(actionNameToMatch(actionName, applicationName));
allOfList.add(allOf);
}
return anyOfList;
}
use of com.sun.identity.entitlement.xacml3.core.Match in project OpenAM by OpenRock.
the class XACMLPrivilegeUtils method getActionNamesFromMatches.
static Set<String> getActionNamesFromMatches(List<Match> matches) {
if (matches == null) {
return null;
}
Set<String> actionNames = new HashSet<String>();
for (Match match : matches) {
String matchId = match.getMatchId();
if ((matchId != null) && matchId.indexOf(":action-match:") != -1) {
AttributeValue attributeValue = match.getAttributeValue();
if (attributeValue != null) {
List<Object> contentList = attributeValue.getContent();
if ((contentList != null) && !contentList.isEmpty()) {
// FIXME: log a warning if more than one element
Object obj = contentList.get(0);
actionNames.add(obj.toString());
}
}
}
}
return actionNames;
}
use of com.sun.identity.entitlement.xacml3.core.Match in project OpenAM by OpenRock.
the class XACMLPrivilegeUtils method applicationNameToAnyOf.
public static AnyOf applicationNameToAnyOf(String applicationName) {
AnyOf anyOf = new AnyOf();
List<AllOf> allOfList = anyOf.getAllOf();
AllOf allOf = new AllOf();
List<Match> matchList = allOf.getMatch();
matchList.add(applicationNameToMatch(applicationName));
allOfList.add(allOf);
return anyOf;
}
use of com.sun.identity.entitlement.xacml3.core.Match in project OpenAM by OpenRock.
the class XACMLPrivilegeUtils method getResourceNamesFromMatches.
static Set<String> getResourceNamesFromMatches(List<Match> matches) {
if (matches == null) {
return null;
}
Set<String> resourceNames = new HashSet<String>();
for (Match match : matches) {
String matchId = match.getMatchId();
if ((matchId != null) && matchId.indexOf(":resource-match:") != -1) {
AttributeValue attributeValue = match.getAttributeValue();
if (attributeValue != null) {
List<Object> contentList = attributeValue.getContent();
if ((contentList != null) && !contentList.isEmpty()) {
// FIXME: log a warning if more than one element
Object obj = contentList.get(0);
resourceNames.add(obj.toString());
}
}
}
}
return resourceNames;
}
Aggregations