# Default XACML Properties File
# Standard API Factories
#
xacml.dataTypeFactory=org.apache.openaz.xacml.std.StdDataTypeFactory
xacml.pdpEngineFactory=org.apache.openaz.xacml.pdp.OpenAZPDPEngineFactory
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/test-custom-namespace.xml

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

pep.mapper.classes=org.apache.openaz.pepapi.std.test.mapper.MyActionMapper,\
  org.apache.openaz.pepapi.std.test.mapper.MySubjectMapper,\
  org.apache.openaz.pepapi.std.test.mapper.MyResourceMapper
