<?xml version="1.0" encoding="ISO-8859-1"?>
<OpenPTK xmlns='http://xml.netbeans.org/schema/openptk'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://xml.netbeans.org/schema/openptk openptk.xsd'>
<Contexts default="Person-SPML-Sun"
logger="UnixLogFile"
debug="4"
audit="false"
timestamp="true">
<Context id="Person-SPML"
classname="org.openptk.provision.common.TimeoutContext">
<Subject id="Person"/>
<Service id="SPML">
<Properties>
<Property name="url" value="http://sample.openptk.org:80/idm/servlet/rpcrouter2"/>
<Property name="objectclass" value="user"/>
</Properties>
</Service>
<Query type="AND">
<Query type="EQ" name="MemberObjectGroups" serviceName="MemberObjectGroups" value="All People"/>
<Query type="EQ" name="objectclass" value="user"/>
</Query>
</Context>
<Context id="Person-SPML-Sun"
classname="org.openptk.provision.common.TimeoutContext">
<Subject id="Person"/>
<Service id="SPML-Sun">
<Properties>
<Property name="url" value="http://sample.openptk.org:80/idm/servlet/rpcrouter2"/>
<Property name="user.name" value="SPML-Proxy"/>
<Property name="user.password" value="password"/>
<Property name="objectclass" value="user"/>
</Properties>
</Service>
<Query type="AND">
<Query type="EQ" name="MemberObjectGroups" serviceName="MemberObjectGroups" value="All People"/>
<Query type="EQ" name="objectclass" value="user"/>
</Query>
</Context>
<Context id="Person-SPML-Sun-SPE"
classname="org.openptk.provision.common.TimeoutContext">
<Subject id="Person-SPE"/>
<Service id="SPML-Sun-SPE">
<Properties>
<Property name="url" value="http://sample.openptk.org:80/idm/servlet/rpcrouter2"/>
<Property name="user.name" value="SPML-Proxy"/>
<Property name="user.password" value="password"/>
<Property name="objectclass" value="speperson"/>
</Properties>
</Service>
<Query type="EQ" name="objectclass" value="speperson"/>
</Context>
<Context id="Person-JNDI"
classname="org.openptk.provision.common.TimeoutContext">
<Subject id="Person"/>
<Service id="JNDI">
<Properties>
<Property name="url" value="ldap://localhost:1389"/>
<Property name="username" value="cn=Directory Manager"/>
<Property name="password" value="password"/>
<Property name="rdn" value="uid=${uniqueid}"/>
<Property name="basedn" value="ou=People,dc=openptk,dc=org"/>
<Property name="objectclass" value="inetOrgPerson"/>
</Properties>
</Service>
<Query type="EQ" name="objectClass" value="inetOrgPerson"/>
</Context>
<Context id="Person-JDBC-MySQL"
classname="org.openptk.provision.common.TimeoutContext">
<Subject id="Person"/>
<Service id="JDBC-MySQL">
<Properties>
<Property name="url" value="jdbc:mysql://localhost:3306/openptk"/>
<Property name="username" value="test"/>
<Property name="password" value="password"/>
<Property name="driver" value="com.mysql.jdbc.Driver"/>
<Property name="table" value="testdata"/>
</Properties>
</Service>
</Context>
</Contexts>
<Subjects>
<Subject id="Person" key="uniqueid" password="password" role="Roles"
classname="org.openptk.provision.api.Person">
<Attributes>
<Attribute id="uniqueid" required="true" type="String">
<Transformations>
<Transform type="toService" useexisting="true" classname="org.openptk.provision.transform.FirstInitialLastname">
<Operations>
<Operation type="create"/>
</Operations>
<Arguments>
<Argument name="maxlength" arg="literal" value="8"/>
<Argument name="first" arg="attribute" value="firstname"/>
<Argument name="last" arg="attribute" value="lastname"/>
</Arguments>
</Transform>
</Transformations>
</Attribute>
<Attribute id="firstname" required="true" />
<Attribute id="lastname" required="true" />
<Attribute id="title"/>
<Attribute id="password" encrypted="true">
<Transformations>
<Transform type="toService" classname="org.openptk.provision.transform.ConcatStrings">
<Operations>
<Operation type="create"/>
</Operations>
<Arguments>
<Argument name="initialPassword" arg="literal" value="Passw0rd"/>
</Arguments>
</Transform>
</Transformations>
</Attribute>
<Attribute id="email" required="true" >
<Transformations>
<Transform type="toService" useexisting="true" classname="org.openptk.provision.transform.ConcatStrings">
<Operations>
<Operation type="create"/>
<Operation type="update"/>
</Operations>
<Arguments>
<Argument name="first" arg="attribute" value="firstname"/>
<Argument name="dot" arg="literal" value="."/>
<Argument name="last" arg="attribute" value="lastname"/>
<Argument name="at" arg="literal" value="@"/>
<Argument name="domainname" arg="literal" value="openptk.org"/>
</Arguments>
</Transform>
</Transformations>
</Attribute>
<Attribute id="fullname" required="true" >
<Transformations>
<Transform type="toService" useexisting="true" classname="org.openptk.provision.transform.ConcatStrings">
<Operations>
<Operation type="create"/>
<Operation type="update"/>
</Operations>
<Arguments>
<Argument name="arg1" arg="attribute" value="firstname"/>
<Argument name="arg2" arg="literal" value=" "/>
<Argument name="arg3" arg="attribute" value="lastname"/>
</Arguments>
</Transform>
<Transform type="toFramework" useexisting="true" classname="org.openptk.provision.transform.ConcatStrings">
<Operations>
<Operation type="read"/>
<Operation type="search"/>
</Operations>
<Arguments>
<Argument name="arg1" arg="attribute" value="firstname"/>
<Argument name="arg2" arg="literal" value=" "/>
<Argument name="arg3" arg="attribute" value="lastname"/>
</Arguments>
</Transform>
</Transformations>
</Attribute>
<Attribute id="forgottenPasswordQuestions" type="StringArray">
<Transformations>
<Transform type="toService" classname="org.openptk.provision.transform.ModifyAttributes">
<Operations>
<Operation type="read"/>
</Operations>
<Arguments>
<Argument name="include" arg="literal" value="forgottenPasswordData"/>
</Arguments>
</Transform>
<Transform type="toFramework" classname="org.openptk.provision.transform.ForgottenPassword">
<Operations>
<Operation type="read"/>
</Operations>
<Arguments>
<Argument name="source" arg="literal" value="forgottenPasswordData"/>
<Argument name="type" arg="literal" value="questions"/>
<Argument name="innerdelimiter" arg="literal" value="|"/>
<Argument name="outerdelimiter" arg="literal" value="^"/>
</Arguments>
</Transform>
</Transformations>
</Attribute>
<Attribute id="forgottenPasswordAnswers" type="StringArray" access="private">
<Transformations>
<Transform type="toService" classname="org.openptk.provision.transform.ModifyAttributes">
<Operations>
<Operation type="read"/>
</Operations>
<Arguments>
<Argument name="include" arg="literal" value="forgottenPasswordData"/>
</Arguments>
</Transform>
<Transform type="toFramework" classname="org.openptk.provision.transform.ForgottenPassword">
<Operations>
<Operation type="read"/>
</Operations>
<Arguments>
<Argument name="source" arg="literal" value="forgottenPasswordData"/>
<Argument name="type" arg="literal" value="answers"/>
<Argument name="innerdelimiter" arg="literal" value="|"/>
<Argument name="outerdelimiter" arg="literal" value="^"/>
</Arguments>
</Transform>
</Transformations>
</Attribute>
<Attribute id="forgottenPasswordData" type="String" access="private"/>
<Attribute id="roles" type="StringArray"/>
<Attribute id="manager" type="String"/>
<Attribute id="telephone" type="String"/>
<Attribute id="organization" type="String"/>
</Attributes>
</Subject>
<Subject id="Person-SPE" key="uniqueid" password="password" role="Roles" classname="org.openptk.provision.api.Person">
<Attributes>
<Attribute id="uniqueid" required="true" type="String">
<Transformations>
<Transform type="toService" useexisting="true" classname="org.openptk.provision.transform.FirstInitialLastname">
<Operations>
<Operation type="create"/>
</Operations>
<Arguments>
<Argument name="maxlength" arg="literal" value="8"/>
<Argument name="first" arg="attribute" value="firstname"/>
<Argument name="last" arg="attribute" value="lastname"/>
</Arguments>
</Transform>
</Transformations>
</Attribute>
<Attribute id="firstname" required="true" />
<Attribute id="lastname" required="true" />
<Attribute id="password" encrypted="true">
<Transformations>
<Transform type="toService" classname="org.openptk.provision.transform.ConcatStrings">
<Operations>
<Operation type="create"/>
</Operations>
<Arguments>
<Argument name="initialPassword" arg="literal" value="Passw0rd"/>
</Arguments>
</Transform>
</Transformations>
</Attribute>
<Attribute id="email" required="true" >
<Transformations>
<Transform type="toService" useexisting="true" classname="org.openptk.provision.transform.ConcatStrings">
<Operations>
<Operation type="create"/>
<Operation type="update"/>
</Operations>
<Arguments>
<Argument name="first" arg="attribute" value="firstname"/>
<Argument name="dot" arg="literal" value="."/>
<Argument name="last" arg="attribute" value="lastname"/>
<Argument name="at" arg="literal" value="@"/>
<Argument name="domainname" arg="literal" value="openptk.org"/>
</Arguments>
</Transform>
</Transformations>
</Attribute>
<Attribute id="fullname" required="true" >
<Transformations>
<Transform type="toService" useexisting="true" classname="org.openptk.provision.transform.ConcatStrings">
<Operations>
<Operation type="create"/>
<Operation type="update"/>
</Operations>
<Arguments>
<Argument name="arg1" arg="attribute" value="firstname"/>
<Argument name="arg2" arg="literal" value=" "/>
<Argument name="arg3" arg="attribute" value="lastname"/>
</Arguments>
</Transform>
<Transform type="toFramework" useexisting="true" classname="org.openptk.provision.transform.ConcatStrings">
<Operations>
<Operation type="read"/>
<Operation type="search"/>
</Operations>
<Arguments>
<Argument name="arg1" arg="attribute" value="firstname"/>
<Argument name="arg2" arg="literal" value=" "/>
<Argument name="arg3" arg="attribute" value="lastname"/>
</Arguments>
</Transform>
</Transformations>
</Attribute>
<Attribute id="telephone" type="String"/>
<Attribute id="org" type="String"/>
<Attribute id="access" type="String"/>
<Attribute id="accountnumber" type="String"/>
<Attribute id="roles" type="StringArray"/>
<Attribute id="manager" type="String"/>
<Attribute id="title" type="String"/>
<Attribute id="organization" type="String"/>
</Attributes>
</Subject>
<Subject id="Role" key="rolename" classname="org.openptk.provision.api.Role">
<Attributes>
<Attribute id="rolename"/>
<Attribute id="resources"/>
<Attribute id="fullname"/>
</Attributes>
</Subject>
</Subjects>
<Services>
<Service id="SPML"
classname="org.openptk.provision.spi.SpmlService"
description="SJS Identity Manager SPML client"
sort="lastname,firstname">
<Properties>
<Property name="timeout" value="5000"/>
<Property name="spmlTrace" value="false"/>
<Property name="extreq.oper.changepwd" value="changeUserPassword"/>
<Property name="extreq.oper.resetpwd" value="resetUserPassword"/>
<Property name="extreq.attr.uid.name" value="accountId"/>
<Property name="extreq.attr.pwd.name" value="password"/>
<Property name="extreq.attr.pwd.subject.attr" value="password"/>
<Property name="extreq.attr.resources.key" value="accounts"/>
<Property name="extreq.attr.resources.value" value="Lighthouse"/>
</Properties>
<Operations>
<Operation type="create" />
<Operation type="read" timeout="2000"/>
<Operation type="update"/>
<Operation type="delete"/>
<Operation type="search" timeout="2000"/>
<Operation type="passwordChange" timeout="8000"/>
<Operation type="passwordReset" timeout="8000"/>
</Operations>
<Attributes>
<Attribute id="uniqueid" servicename="uid"/>
<Attribute id="firstname" servicename="gn" />
<Attribute id="lastname" servicename="sn" />
<Attribute id="password" servicename="password"/>
<Attribute id="fullname" servicename="fullname"/>
<Attribute id="forgottenPasswordQuestions"/>
<Attribute id="forgottenPasswordAnswers"/>
<Attribute id="forgottenPasswordData"/>
<Attribute id="roles"/>
<Attribute id="manager"/>
<Attribute id="email"/>
<Attribute id="title"/>
<Attribute id="resources"/>
<Attribute id="telephone"/>
<Attribute id="organization"/>
</Attributes>
</Service>
<Service id="SPML-Sun"
classname="org.openptk.provision.spi.SpmlSunService"
description="SJS Identity Manager Lighthouse client"
sort="lastname,firstname">
<Properties>
<Property name="timeout" value="5000"/>
<Property name="spmlTrace" value="false"/>
<Property name="extreq.oper.changepwd" value="changeUserPassword"/>
<Property name="extreq.oper.resetpwd" value="resetUserPassword"/>
<Property name="extreq.attr.uid.name" value="accountId"/>
<Property name="extreq.attr.pwd.name" value="password"/>
<Property name="extreq.attr.pwd.subject.attr" value="password"/>
<Property name="extreq.attr.resources.key" value="accounts"/>
<Property name="extreq.attr.resources.value" value="Lighthouse"/>
</Properties>
<Operations>
<Operation type="create"/>
<Operation type="read" timeout="2000"/>
<Operation type="update"/>
<Operation type="delete"/>
<Operation type="search" timeout="2000"/>
<Operation type="passwordChange" timeout="8000"/>
<Operation type="passwordReset" timeout="8000"/>
</Operations>
<Attributes>
<Attribute id="uniqueid" servicename="uid"/>
<Attribute id="firstname" servicename="gn" />
<Attribute id="lastname" servicename="sn" />
<Attribute id="password" servicename="password"/>
<Attribute id="fullname" servicename="fullname"/>
<Attribute id="forgottenPasswordQuestions"/>
<Attribute id="forgottenPasswordAnswers"/>
<Attribute id="forgottenPasswordData"/>
<Attribute id="roles"/>
<Attribute id="manager"/>
<Attribute id="email"/>
<Attribute id="title"/>
<Attribute id="resources"/>
<Attribute id="telephone"/>
<Attribute id="organization"/>
</Attributes>
</Service>
<Service id="SPML-Sun-SPE"
classname="org.openptk.provision.spi.SpmlSunService"
description="SJS Identity Manager Lighthouse client"
sort="lastname,firstname">
<Properties>
<Property name="timeout" value="5000"/>
<Property name="spmlTrace" value="true"/>
<Property name="extreq.oper.changepwd" value="changeUserPassword"/>
<Property name="extreq.oper.resetpwd" value="resetUserPassword"/>
<Property name="extreq.attr.uid.name" value="name"/>
<Property name="extreq.attr.pwd.name" value="password"/>
<Property name="extreq.attr.pwd.subject.attr" value="password"/>
<Property name="extreq.attr.resources.key" value="accounts"/>
<Property name="extreq.attr.resources.value" value="Lighthouse"/>
</Properties>
<Operations>
<Operation type="create"/>
<Operation type="read" timeout="2000"/>
<Operation type="update"/>
<Operation type="delete"/>
<Operation type="search" timeout="2000"/>
</Operations>
<Attributes>
<Attribute id="uniqueid" servicename="name"/>
<Attribute id="firstname" servicename="firstname" />
<Attribute id="lastname" servicename="lastname" />
<Attribute id="password" servicename="password"/>
<Attribute id="fullname" servicename="fullname"/>
<Attribute id="email"/>
<Attribute id="telephone"/>
<Attribute id="org"/>
<Attribute id="access"/>
<Attribute id="accountnumber"/>
<Attribute id="roles"/>
<Attribute id="manager"/>
<Attribute id="title"/>
<Attribute id="organization"/>
</Attributes>
</Service>
<Service id="JNDI"
classname="org.openptk.provision.spi.JndiService"
description="OpenDS 1.0 JNDI"
sort="lastname,firstname">
<Properties>
<Property name="timeout" value="5000"/>
<Property name="url" value="ldap://localhost:389"/>
<Property name="username" value="cn=Directory Manager"/>
<Property name="password" value="openptk"/>
<Property name="rdn" value="uid=${uid}"/>
<Property name="basedn" value="ou=People,dc=openptk,dc=org"/>
<Property name="objectclass" value="person"/>
</Properties>
<Operations>
<Operation type="create"/>
<Operation type="read" timeout="1000"/>
<Operation type="update"/>
<Operation type="delete"/>
<Operation type="search" timeout="2000"/>
</Operations>
<Attributes>
<Attribute id="uniqueid" servicename="uid"/>
<Attribute id="firstname" servicename="givenName"/>
<Attribute id="lastname" servicename="sn" required="true"/>
<Attribute id="fullname" servicename="cn" required="true"/>
<Attribute id="email" servicename="mail"/>
<Attribute id="title" servicename="title"/>
<Attribute id="telephone" servicename="telephoneNumber"/>
<Attribute id="roles" servicename="description"/>
<Attribute id="manager" servicename="roomNumber"/>
</Attributes>
</Service>
<Service id="JDBC-MySQL"
classname="org.openptk.provision.spi.JdbcService"
description="JDBC Service, MySQL"
sort="lastname">
<Properties>
<Property name="timeout" value="5000"/>
</Properties>
<Operations>
<Operation type="create"/>
<Operation type="read" timeout="1000"/>
<Operation type="update"/>
<Operation type="delete"/>
<Operation type="search" timeout="2000"/>
</Operations>
<Attributes>
<Attribute id="uniqueid" servicename="id"/>
<Attribute id="firstname" servicename="fname" />
<Attribute id="lastname" servicename="lname" />
<Attribute id="fullname" servicename="fullname" required="true" />
</Attributes>
</Service>
</Services>
<Loggers>
<Logger
id="UnixLogFile"
classname="org.openptk.provision.logging.AtomicLogger">
<Properties>
<Property name="file" value="/var/tmp/openptk.log"/>
</Properties>
</Logger>
</Loggers>
</OpenPTK>