# Default XACML Properties File for PDP RESTful servlet
#
# 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
# NOT USED SEE BELOW xacml.pipFinderFactory=org.apache.openaz.xacml.std.pip.StdPIPFinderFactory
xacml.traceEngineFactory=org.apache.openaz.xacml.std.trace.LoggingTraceEngineFactory
#
# 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
# NOT USED SEE BELOW xacml.openaz.policyFinderFactory=org.apache.openaz.xacml.pdp.std.StdPolicyFinderFactory

#
# AT&T RESTful PDP Implementation Factories
#
xacml.pipFinderFactory=org.apache.openaz.xacml.rest.impl.XACMLPdpPIPFinderFactory
xacml.att.policyFinderFactory=org.apache.openaz.xacml.rest.XACMLPdpPolicyFinderFactory
#
# PDP RESTful API properties
# 
# Set this to the address where the XACML-PAP-REST servlet is running
#
xacml.rest.pap.url=http://localhost:9090/pap/
#
# Give the running PDP an ID for the PAP. The url that its running as is a good choice.
# The PAP identifies PDP's using the URL of the PDP.
#
xacml.rest.pdp.id=http://localhost:8080/pdp/
#
# Set the directory where the PDP holds its Policy Cache and PIP Configuration
#
xacml.rest.pdp.config=config
#
# Initialize register with PAP servlet
#
xacml.rest.pdp.register=true
#
# Sleep period in seconds between register attempts
#
xacml.rest.pdp.register.sleep=15
#
# number of attempts to register. -1 means keep trying forever.
#
xacml.rest.pdp.register.retries=-1
#
# max number of bytes in a POST of a XML/JSON request
#
xacml.rest.pdp.maxcontent=32767
