# 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
#xacml.traceEngineFactory=org.apache.openaz.xacml.std.trace.LoggingTraceEngineFactory

# If there is a standard set of PIPEngines:
# xacml.pip.engines=engine1,engine2,...,engineN
# engine1.classname=org.apache.openaz.xacmlpip.OraclePIP
# engine1.prop1=foo
# engine1.prop2=bar
# ...
# engine2.classname=org.apache.openaz.xacmlpip.ActiveDirectoryPIP
# ...
xacml.pip.engines=ConformancePIPEngine
ConformancePIPEngine.classname=org.apache.openaz.xacml.pdp.test.conformance.ConformancePIPEngine
ConformancePIPEngine.file=testsets/conformance/xacml3.0-ct-v.0.4/PIP.txt

# 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

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