<?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.
  -->

<blueprint xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
           xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
           xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
           http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd">

    <cm:property-placeholder persistent-id="org.apache.unomi.services"
                             update-strategy="reload" placeholder-prefix="${services.">
        <cm:default-properties>
            <cm:property name="profile.purge.interval" value="1"/>
            <cm:property name="profile.purge.inactiveTime" value="180"/>
            <cm:property name="profile.purge.existTime" value="-1"/>
            <cm:property name="event.purge.existTime" value="12"/>
            <cm:property name="segment.update.batchSize" value="1000"/>
        </cm:default-properties>
    </cm:property-placeholder>

    <cm:property-placeholder persistent-id="org.apache.unomi.cluster"
                             update-strategy="reload" placeholder-prefix="${cluster.">
        <cm:default-properties>
            <cm:property name="group" value="default" />
            <cm:property name="jmxUsername" value="karaf" />
            <cm:property name="jmxPassword" value="karaf" />
            <cm:property name="jmxPort" value="1099" />
            <cm:property name="contextserver.publicAddress" value="https://localhost:9443"/>
            <cm:property name="contextserver.internalAddress" value="http://127.0.0.1:8181"/>
        </cm:default-properties>
    </cm:property-placeholder>

    <reference id="persistenceService"
               interface="org.apache.unomi.persistence.spi.PersistenceService"/>
    <reference id="httpService" interface="org.osgi.service.http.HttpService"/>
    <reference id="karafCellarClusterManager" interface="org.apache.karaf.cellar.core.ClusterManager" />
    <reference id="karafCellarEventProducer" interface="org.apache.karaf.cellar.core.event.EventProducer" />
    <reference id="karafCellarGroupManager" interface="org.apache.karaf.cellar.core.GroupManager" />
    <reference id="osgiConfigurationAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>

    <!-- Service definitions -->

    <bean id="definitionsServiceImpl" class="org.apache.unomi.services.services.DefinitionsServiceImpl"
          init-method="postConstruct" destroy-method="preDestroy">
        <property name="persistenceService" ref="persistenceService"/>
        <property name="bundleContext" ref="blueprintBundleContext"/>
    </bean>
    <service id="definitionsService" ref="definitionsServiceImpl" auto-export="interfaces"/>

    <bean id="eventServiceImpl" class="org.apache.unomi.services.services.EventServiceImpl"
        init-method="init" destroy-method="destroy">
        <property name="persistenceService" ref="persistenceService"/>
        <property name="definitionsService" ref="definitionsServiceImpl"/>
        <property name="bundleContext" ref="blueprintBundleContext"/>
        <property name="predefinedEventTypeIds">
            <set>
                <value>view</value>
                <value>login</value>
                <value>sessionCreated</value>
                <value>facebookLogin</value>
                <value>profileUpdated</value>
            </set>
        </property>
        <property name="restrictedEventTypeIds">
            <set>
                <value>sessionCreated</value>
                <value>sessionReassigned</value>
                <value>profileUpdated</value>
                <value>ruleFired</value>
            </set>
        </property>
        <property name="thirdPartyConfiguration">
            <cm:cm-properties persistent-id="org.apache.unomi.thirdparty" update="true" />
        </property>
    </bean>
    <service id="eventService" ref="eventServiceImpl" auto-export="interfaces"/>

    <bean id="goalsServiceImpl" class="org.apache.unomi.services.services.GoalsServiceImpl"
          init-method="postConstruct" destroy-method="preDestroy">
        <property name="persistenceService" ref="persistenceService"/>
        <property name="definitionsService" ref="definitionsServiceImpl"/>
        <property name="rulesService" ref="rulesServiceImpl"/>
        <property name="bundleContext" ref="blueprintBundleContext"/>
    </bean>
    <service id="goalsService" ref="goalsServiceImpl" auto-export="interfaces"/>

    <bean id="actionExecutorDispatcherImpl"
          class="org.apache.unomi.services.actions.ActionExecutorDispatcher">
    </bean>

    <bean id="rulesServiceImpl" class="org.apache.unomi.services.services.RulesServiceImpl"
          init-method="postConstruct" destroy-method="preDestroy">
        <property name="persistenceService" ref="persistenceService"/>
        <property name="definitionsService" ref="definitionsServiceImpl"/>
        <property name="eventService" ref="eventServiceImpl"/>
        <property name="actionExecutorDispatcher" ref="actionExecutorDispatcherImpl"/>
        <property name="bundleContext" ref="blueprintBundleContext"/>
    </bean>
    <service id="rulesService" ref="rulesServiceImpl" auto-export="interfaces"/>

    <bean id="segmentServiceImpl" class="org.apache.unomi.services.services.SegmentServiceImpl"
          init-method="postConstruct" destroy-method="preDestroy">
        <property name="persistenceService" ref="persistenceService"/>
        <property name="definitionsService" ref="definitionsServiceImpl"/>
        <property name="eventService" ref="eventServiceImpl"/>
        <property name="rulesService" ref="rulesServiceImpl"/>
        <property name="bundleContext" ref="blueprintBundleContext"/>
        <property name="taskExecutionPeriod" value="86400000"/>
        <property name="segmentUpdateBatchSize" value="${services.segment.update.batchSize}" />
    </bean>
    <service id="segmentService" ref="segmentServiceImpl" auto-export="interfaces"/>

    <bean id="userListServiceImpl" class="org.apache.unomi.services.services.UserListServiceImpl"
          init-method="postConstruct" destroy-method="preDestroy">
        <property name="persistenceService" ref="persistenceService"/>
        <property name="definitionsService" ref="definitionsServiceImpl"/>
        <property name="bundleContext" ref="blueprintBundleContext"/>
    </bean>
    <service id="userListService" ref="userListServiceImpl" auto-export="interfaces"/>

    <bean id="profileServiceImpl" class="org.apache.unomi.services.services.ProfileServiceImpl"
          init-method="postConstruct" destroy-method="preDestroy">
        <property name="persistenceService" ref="persistenceService"/>
        <property name="definitionsService" ref="definitionsServiceImpl"/>
        <property name="segmentService" ref="segmentServiceImpl"/>
        <property name="queryService" ref="queryServiceImpl"/>
        <property name="bundleContext" ref="blueprintBundleContext"/>
        <property name="purgeProfileInterval" value="${services.profile.purge.interval}"/>
        <property name="purgeProfileInactiveTime" value="${services.profile.purge.inactiveTime}"/>
        <property name="purgeProfileExistTime" value="${services.profile.purge.existTime}"/>
        <property name="purgeSessionsAndEventsTime" value="${services.event.purge.existTime}"/>
    </bean>
    <service id="profileService" ref="profileServiceImpl" auto-export="interfaces"/>

    <bean id="queryServiceImpl" class="org.apache.unomi.services.services.QueryServiceImpl"
          init-method="postConstruct" destroy-method="preDestroy">
        <property name="persistenceService" ref="persistenceService"/>
        <property name="definitionsService" ref="definitionsServiceImpl"/>
    </bean>
    <service id="queryService" ref="queryServiceImpl" auto-export="interfaces"/>

    <bean id="clusterServiceImpl" class="org.apache.unomi.services.services.ClusterServiceImpl"
          init-method="init" destroy-method="destroy">
        <property name="publicAddress" value="${cluster.contextserver.publicAddress}"/>
        <property name="internalAddress" value="${cluster.contextserver.internalAddress}"/>
        <property name="persistenceService" ref="persistenceService"/>
        <property name="karafCellarClusterManager" ref="karafCellarClusterManager" />
        <property name="karafCellarEventProducer" ref="karafCellarEventProducer" />
        <property name="karafCellarGroupManager" ref="karafCellarGroupManager" />
        <property name="karafCellarGroupName" value="${cluster.group}" />
        <property name="osgiConfigurationAdmin" ref="osgiConfigurationAdmin" />
        <property name="karafJMXUsername" value="${cluster.jmxUsername}" />
        <property name="karafJMXPassword" value="${cluster.jmxPassword}" />
        <property name="karafJMXPort" value="${cluster.jmxPort}" />
    </bean>
    <service id="clusterService" ref="clusterServiceImpl" auto-export="interfaces"/>

    <!-- We use a listener here because using the list directly for listening to proxies coming from the same bundle didn't seem to work -->
    <reference-list id="eventListenerServices"
                    interface="org.apache.unomi.api.services.EventListenerService"
                    availability="optional">
        <reference-listener
                bind-method="bind" unbind-method="unbind" ref="eventServiceImpl"/>
    </reference-list>

    <reference-list id="actionExecutors"
                    interface="org.apache.unomi.api.actions.ActionExecutor"
                    availability="optional">
        <reference-listener
                bind-method="bindExecutor" unbind-method="unbindExecutor" ref="rulesServiceImpl"/>
    </reference-list>

    <!-- Property merge strategy executors -->

    <service auto-export="interfaces">
        <service-properties>
            <entry key="propertyMergeStrategyExecutorId" value="defaultPropertyMergeStrategyExecutor"/>
        </service-properties>
        <bean class="org.apache.unomi.services.mergers.DefaultPropertyMergeStrategyExecutor">
        </bean>
    </service>

    <service auto-export="interfaces">
        <service-properties>
            <entry key="propertyMergeStrategyExecutorId" value="addPropertyMergeStrategyExecutor"/>
        </service-properties>
        <bean class="org.apache.unomi.services.mergers.AddPropertyMergeStrategyExecutor">
        </bean>
    </service>

    <service auto-export="interfaces">
        <service-properties>
            <entry key="propertyMergeStrategyExecutorId" value="mostRecentPropertyMergeStrategyExecutor"/>
        </service-properties>
        <bean class="org.apache.unomi.services.mergers.MostRecentPropertyMergeStrategyExecutor">
        </bean>
    </service>

    <service auto-export="interfaces">
        <service-properties>
            <entry key="propertyMergeStrategyExecutorId" value="oldestPropertyMergeStrategyExecutor"/>
        </service-properties>
        <bean class="org.apache.unomi.services.mergers.OldestPropertyMergeStrategyExecutor">
        </bean>
    </service>

    <service auto-export="interfaces">
        <service-properties>
            <entry key="propertyMergeStrategyExecutorId" value="nonEmptyPropertyMergeStrategyExecutor"/>
        </service-properties>
        <bean class="org.apache.unomi.services.mergers.NonEmptyPropertyMergeStrategyExecutor">
        </bean>
    </service>

    <bean id="configSharingServiceImpl" class="org.apache.unomi.services.services.ConfigSharingServiceImpl" destroy-method="preDestroy">
        <property name="configProperties">
            <map>
                <entry key="internalServerAddress" value="${cluster.contextserver.internalAddress}" />
            </map>
        </property>
        <property name="bundleContext" ref="blueprintBundleContext"/>
    </bean>

    <service id="configSharingService" ref="configSharingServiceImpl" auto-export="interfaces">
    </service>

</blueprint>
