<?xml version="1.0" encoding="UTF-8"?>
<StrolchConfiguration>
    <env id="dev">
        <Runtime>
            <applicationName>minimal</applicationName>
            <Properties>
                <locale>en</locale>
            </Properties>
        </Runtime>
        <Component>
            <name>PrivilegeHandler</name>
            <api>li.strolch.runtime.privilege.PrivilegeHandler</api>
            <impl>li.strolch.runtime.privilege.DefaultStrolchPrivilegeHandler</impl>
            <Properties>
                <privilegeConfigFile>PrivilegeConfig.xml</privilegeConfigFile>
            </Properties>
        </Component>
        <Component>
            <name>RealmHandler</name>
            <api>li.strolch.agent.api.RealmHandler</api>
            <impl>li.strolch.agent.impl.DefaultRealmHandler</impl>
            <depends>PrivilegeHandler</depends>
            <Properties>
                <!--
                    EMPTY = only inmemory
                    TRANSIENT = only inmemory
                    CACHED = inmemory with persistence in DB
                -->
                <realms>cached</realms>

                <dataStoreMode.cached>CACHED</dataStoreMode.cached>
                <enableAuditTrail.cached>true</enableAuditTrail.cached>
            </Properties>
        </Component>
        <Component>
            <name>PersistenceHandler</name>
            <api>li.strolch.persistence.api.PersistenceHandler</api>
            <impl>li.strolch.persistence.postgresql.PostgreSqlPersistenceHandler</impl>
            <Properties>
                <dataType>json</dataType>
                <allowSchemaCreation>true</allowSchemaCreation>
                <allowSchemaDrop>true</allowSchemaDrop>

                <!-- cached -->
                <db.url.cached>jdbc:postgresql://localhost/testdb</db.url.cached>
                <db.username.cached>testuser</db.username.cached>
                <db.password.cached>test</db.password.cached>
                <db.pool.maximumPoolSize.cached>5</db.pool.maximumPoolSize.cached>
                <db.pool.keepaliveTime>600000</db.pool.keepaliveTime>
            </Properties>
        </Component>
        <Component>
            <name>ServiceHandler</name>
            <api>li.strolch.service.api.ServiceHandler</api>
            <impl>li.strolch.service.api.DefaultServiceHandler</impl>
            <depends>RealmHandler</depends>
            <depends>PrivilegeHandler</depends>
        </Component>
    </env>
</StrolchConfiguration>
