<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans   
                           http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context
                           http://www.springframework.org/schema/context/spring-context.xsd">

  <bean id="userWorkflowDef" class="org.apache.syncope.core.spring.ResourceWithFallbackLoader">
    <property name="primary" value="file:${wf.directory}/userWorkflow.bpmn20.xml"/>
    <property name="fallback" value="classpath:userWorkflow.bpmn20.xml"/>
  </bean>

  <bean id="flowableUtils" class="org.apache.syncope.core.workflow.flowable.FlowableUtils"/>

  <bean id="syncopeFlowableUserManager" class="org.apache.syncope.core.workflow.flowable.SyncopeUserManager"/>
  <bean id="syncopeFlowableGroupManager" class="org.apache.syncope.core.workflow.flowable.SyncopeGroupManager"/>

  <bean class="org.activiti.spring.SpringProcessEngineConfiguration" scope="prototype">
    <property name="transactionsExternallyManaged" value="true"/>
    <property name="databaseSchemaUpdate" value="true"/>

    <property name="jpaHandleTransaction" value="true"/>
    <property name="jpaCloseEntityManager" value="false"/>

    <property name="history" value="${historyLevel}"/>
    <property name="jobExecutorActivate" value="${jobExecutorActivate}"/>

    <property name="customSessionFactories">
      <list>
        <bean class="org.apache.syncope.core.workflow.flowable.SyncopeSessionFactory">
          <property name="syncopeSession" ref="syncopeFlowableUserManager"/>
        </bean>
        <bean class="org.apache.syncope.core.workflow.flowable.SyncopeSessionFactory">
          <property name="syncopeSession" ref="syncopeFlowableGroupManager"/>
        </bean>
      </list>
    </property>
    <property name="customPreVariableTypes">
      <list>
        <bean class="org.apache.syncope.core.workflow.flowable.SyncopeEntitiesVariableType"/>
      </list>
    </property>
  </bean>

  <bean class="org.apache.syncope.core.workflow.flowable.spring.DomainProcessEngineFactoryBean"/>

  <context:component-scan base-package="org.apache.syncope.core.workflow.flowable"/>
    
</beans>
