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

    <cm:property-placeholder persistent-id="org.apache.unomi.geonames" update-strategy="reload">
        <cm:default-properties>
            <cm:property name="request.geonamesDatabase.location" value="file:${karaf.etc}/allCountries.zip"/>
            <cm:property name="request.geonamesDatabase.forceImport" value="false"/>
            <cm:property name="service.geonames.refresh.interval" value="5000"/>
        </cm:default-properties>
    </cm:property-placeholder>

    <reference id="persistenceService" interface="org.apache.unomi.persistence.spi.PersistenceService"/>
    <reference id="definitionsService" interface="org.apache.unomi.api.services.DefinitionsService"/>
    <reference id="schedulerService" interface="org.apache.unomi.api.services.SchedulerService"/>


    <!-- User List service -->

    <bean id="geonamesServiceImpl" class="org.apache.unomi.geonames.services.GeonamesServiceImpl" init-method="start"
          destroy-method="stop">
        <property name="persistenceService" ref="persistenceService"/>
        <property name="definitionsService" ref="definitionsService"/>
        <property name="schedulerService" ref="schedulerService"/>
        <property name="pathToGeonamesDatabase" value="${request.geonamesDatabase.location}"/>
        <property name="forceDbImport" value="${request.geonamesDatabase.forceImport}"/>
        <property name="refreshDbInterval" value="${service.geonames.refresh.interval}"/>
    </bean>
    <service id="geonamesService" ref="geonamesServiceImpl" interface="org.apache.unomi.geonames.services.GeonamesService"/>

</blueprint>
