featuresDescription = new RelationshipManagerFeaturesDescription()
{
public boolean isIdentityAssociationSupported(String fromGroupType)
{
IdentityObjectType identityOT = getSessionContext().getIdentityObjectTypeMapper().getIdentityObjectType();
IdentityObjectType groupIdentityOT = getSessionContext().getIdentityObjectTypeMapper().getIdentityObjectType(fromGroupType);
try
{
return getSessionContext().getIdentityStoreRepository().getSupportedFeatures().
isRelationshipTypeSupported(groupIdentityOT, identityOT, MEMBER);
}
catch (IdentityException e)
{
return false;
}
}
public boolean isGroupAssociationSupported(String fromGroupType, String toGroupType)
{
IdentityObjectType toGroupOT = getSessionContext().getIdentityObjectTypeMapper().getIdentityObjectType(toGroupType);
IdentityObjectType fromGroupOT = getSessionContext().getIdentityObjectTypeMapper().getIdentityObjectType(fromGroupType);
try
{
return getSessionContext().getIdentityStoreRepository().getSupportedFeatures().
isRelationshipTypeSupported(fromGroupOT, toGroupOT, MEMBER);
}
catch (IdentityException e)
{
return false;
}
}
public boolean isIdentitiesSearchCriteriumTypeSupported(IdentitySearchCriteriumType constraintType)
{
IdentityObjectType objectType = getSessionContext().getIdentityObjectTypeMapper().getIdentityObjectType();
IdentityObjectSearchCriteriaType constraint = IdentityObjectSearchCriteriaType.valueOf(constraintType.name());
if (constraint != null)
{
return getSessionContext().getIdentityStoreRepository().getSupportedFeatures().
isSearchCriteriaTypeSupported(objectType, constraint);
}
return false;
}
public boolean isGroupsSearchCriteriumTypeSupported(String groupType, IdentitySearchCriteriumType constraintType)
{
IdentityObjectType objectType = getSessionContext().getIdentityObjectTypeMapper().getIdentityObjectType(groupType);
IdentityObjectSearchCriteriaType constraint = IdentityObjectSearchCriteriaType.valueOf(constraintType.name());
if (constraint != null)
{