org.fcrepo.server.security.xacml.pdp.data
Class PolicyIndexBase

java.lang.Object
  extended by org.fcrepo.server.security.xacml.pdp.data.PolicyIndexBase
All Implemented Interfaces:
PolicyIndex
Direct Known Subclasses:
XPathPolicyIndex

public abstract class PolicyIndexBase
extends Object
implements PolicyIndex

Base abstract class for all PolicyIndex implementations. Gets the index configuration common to all implementations.

Version:
$Id$
Author:
Stephen Bayliss

Field Summary
 boolean indexed
           
protected  Map<String,Map<String,String>> indexMap
           
protected static String METADATA_POLICY_NS
           
static Map<String,String> namespaces
           
 
Fields inherited from interface org.fcrepo.server.security.xacml.pdp.data.PolicyIndex
XACML_RESOURCE_ID, XACML20_POLICY_NS
 
Constructor Summary
protected PolicyIndexBase()
           
 
Method Summary
protected  Map<String,Set<AttributeBean>> getAttributeMap(com.sun.xacml.EvaluationCtx eval)
          This method extracts the attributes listed in the indexMap from the given evaluation context.
protected static String[] makeComponents(String resourceId)
          Splits a XACML hierarchical resource-id value into a set of resource-id values that can be matched against a policy.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.fcrepo.server.security.xacml.pdp.data.PolicyIndex
addPolicy, clear, contains, deletePolicy, getPolicies, getPolicy, updatePolicy
 

Field Detail

indexed

public boolean indexed

indexMap

protected Map<String,Map<String,String>> indexMap

METADATA_POLICY_NS

protected static final String METADATA_POLICY_NS
See Also:
Constant Field Values

namespaces

public static final Map<String,String> namespaces
Constructor Detail

PolicyIndexBase

protected PolicyIndexBase()
                   throws PolicyIndexException
Throws:
PolicyIndexException
Method Detail

getAttributeMap

protected Map<String,Set<AttributeBean>> getAttributeMap(com.sun.xacml.EvaluationCtx eval)
                                                  throws URISyntaxException
This method extracts the attributes listed in the indexMap from the given evaluation context.

Parameters:
eval - the Evaluation Context from which to extract Attributes
Returns:
a Map of Attributes for each category (Subject, Resource, Action, Environment)
Throws:
URISyntaxException

makeComponents

protected static String[] makeComponents(String resourceId)
Splits a XACML hierarchical resource-id value into a set of resource-id values that can be matched against a policy. Eg an incoming request for /res1/res2/res3/.* should match /res1/.* /res1/res2/.* /res1/res2/res3/.* in policies.

Parameters:
resourceId - XACML hierarchical resource-id value
Returns:
array of individual resource-id values that can be used to match against policies


Copyright © 2011 DuraSpace. All Rights Reserved.