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

<service-eca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="https://ofbiz.apache.org/dtds/service-eca.xsd">
    <eca service="createExample" event="return">
        <action service="createExampleStatus" mode="sync"/>
    </eca>
    <!-- FIXME: This ECA assumes the updateExample service was called with a statusId parameter.
         The condition should be improved to check for statusId being not empty. -->
    <!--
    <eca service="updateExample" event="return">
        <condition-field field-name="statusId" operator="not-equals" to-field-name="oldStatusId"/>
        <action service="createExampleStatus" mode="sync"/>
    </eca>
    -->
    <!-- Send push notification on create example -->
    <eca service="updateExample" event="global-commit-post-run">
        <set field-name="message" value="Example is updated"/>
        <action service="sendExamplePushNotifications" mode="sync"/>
    </eca>
    <!-- Send push notification on update example -->
    <eca service="createExample" event="global-commit-post-run">
        <set field-name="message" value="New example created"/>
        <action service="sendExamplePushNotifications" mode="sync"/>
    </eca>
</service-eca>
