use of com.sun.identity.entitlement.xacml3.core.AllOf 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.AllOf 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.AllOf in project OpenAM by OpenRock.
the class XACMLPrivilegeUtils method entitlementSubjectToAnyOfList.
// TODO: not used now, use, test, fix and verify
public static List<AnyOf> entitlementSubjectToAnyOfList(EntitlementSubject es) {
if (es == null) {
return null;
}
List<AnyOf> anyOfList = new ArrayList<AnyOf>();
AnyOf anyOf = new AnyOf();
anyOfList.add(anyOf);
List<AllOf> allOfList = anyOf.getAllOf();
AllOf allOf = new AllOf();
allOfList.add(allOf);
List<Match> matchList = allOf.getMatch();
if (es instanceof UserSubject) {
UserSubject us = (UserSubject) es;
String userId = us.getID();
Match match = new Match();
matchList.add(match);
match.setMatchId("user-subject-match");
AttributeValue attributeValue = new AttributeValue();
String dataType = "datatype";
attributeValue.setDataType(dataType);
attributeValue.getContent().add(userId);
AttributeDesignator attributeDesignator = new AttributeDesignator();
String category = "subject-category";
attributeDesignator.setCategory(category);
String attributeId = "user-subject:user-id";
attributeDesignator.setAttributeId(attributeId);
String dt = "xs;string";
attributeDesignator.setDataType(dt);
String issuer = "subject:issuer";
// attributeDesignator.setIssuer(issuer); TODO: verify and fix
boolean mustBePresent = true;
attributeDesignator.setMustBePresent(mustBePresent);
match.setAttributeValue(attributeValue);
match.setAttributeDesignator(attributeDesignator);
}
return anyOfList;
}
use of com.sun.identity.entitlement.xacml3.core.AllOf in project OpenAM by OpenRock.
the class XACMLPrivilegeUtils method entitlementSubjectToAnyOf.
public static AnyOf entitlementSubjectToAnyOf(EntitlementSubject es) throws JAXBException {
if (es == null) {
return null;
}
AnyOf anyOf = new AnyOf();
List<AllOf> allOfList = anyOf.getAllOf();
AllOf allOf = new AllOf();
allOfList.add(allOf);
List<Match> matchList = allOf.getMatch();
Match match = new Match();
matchList.add(match);
match.setMatchId(XACMLConstants.JSON_SUBJECT_MATCH);
AttributeValue attributeValue = new AttributeValue();
String dataType = XACMLConstants.JSON_SUBJECT_DATATYPE + ":" + es.getClass().getName();
attributeValue.setDataType(dataType);
String esString = es.getState();
attributeValue.getContent().add(esString);
AttributeDesignator attributeDesignator = new AttributeDesignator();
String category = XACMLConstants.XACML_ACCESS_SUBJECT_CATEGORY;
attributeDesignator.setCategory(category);
String attributeId = XACMLConstants.JSON_SUBJECT_ID;
attributeDesignator.setAttributeId(attributeId);
String dt = XACMLConstants.JSON_SUBJECT_DATATYPE + ":" + es.getClass().getName();
attributeDesignator.setDataType(dt);
// TODO: not a constant?
String issuer = XACMLConstants.SUBJECT_ISSUER;
//attributeDesignator.setIssuer(issuer); //TODO: verify and fix
boolean mustBePresent = true;
attributeDesignator.setMustBePresent(mustBePresent);
match.setAttributeValue(attributeValue);
match.setAttributeDesignator(attributeDesignator);
return anyOf;
}
Aggregations