# Default XACML Properties File
# Standard API Factories
#
xacml.dataTypeFactory=org.apache.openaz.xacml.std.StdDataTypeFactory
xacml.pdpEngineFactory=org.apache.openaz.xacmlatt.pdp.ATTPDPEngineFactory
xacml.pepEngineFactory=org.apache.openaz.xacml.std.pep.StdEngineFactory
xacml.pipFinderFactory=org.apache.openaz.xacml.std.pip.StdPIPFinderFactory

# OpenAZ PDP Implementation Factories
#
xacml.openaz.evaluationContextFactory=org.apache.openaz.xacml.pdp.std.StdEvaluationContextFactory
xacml.openaz.combiningAlgorithmFactory=org.apache.openaz.xacml.pdp.std.StdCombiningAlgorithmFactory
xacml.openaz.functionDefinitionFactory=org.apache.openaz.xacml.pdp.std.StdFunctionDefinitionFactory
xacml.openaz.policyFinderFactory=org.apache.openaz.xacml.pdp.std.StdPolicyFinderFactory

xacml.rootPolicies=testPolicy
testPolicy.file=src/test/resources/policies/TestPolicy003.xml

# If there is a standard policy for the engine:
# xacml.att.stdPolicyFinderFactory.rootPolicyFile=/etc/stdpolicyset.xml
