<!--
 ~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 ~
 ~ WSO2 Inc. 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.
 -->
<module name="wso2bampublisherservicestats"
        class="org.wso2.carbon.bam.service.data.publisher.modules.StatisticsModule">

    <InFlow>
        <handler name="StatisticInHandler"
                 class="org.wso2.carbon.bam.service.data.publisher.modules.StatisticsInHandler">
            <!-- this is because we need to run flowComplete after the flowComplete of InOnlyMEPHandler. During execution of the flowComplete's, handlers are invoked in the opposite order -->
            <order phase="MsgInObservation" before="InOnlyMEPHandler"/>
        </handler>
    </InFlow>

    <InFaultFlow>
        <handler name="StatisticInHandler"
                 class="org.wso2.carbon.bam.service.data.publisher.modules.StatisticsInHandler">
            <!-- this is because we need to run flowComplete after the flowComplete of InOnlyMEPHandler. During execution of the flowComplete's, handlers are invoked in the opposite order -->
            <order phase="MsgInObservation" before="InOnlyMEPHandler"/>
        </handler>
    </InFaultFlow>


    <OutFlow>
        <handler name="StatisticOutHandler"
                 class="org.wso2.carbon.bam.service.data.publisher.modules.StatisticsOutHandler">
            <order phase="MsgOutObservation" phaseLast="true"/>
        </handler>
    </OutFlow>

    <OutFaultFlow>
        <handler name="StatisticOutHandler"
                 class="org.wso2.carbon.bam.service.data.publisher.modules.StatisticsOutHandler">
            <order phase="MsgOutObservation" phaseLast="true"/>
        </handler>
    </OutFaultFlow>

    <parameter name="adminModule" locked="true">true</parameter>

</module>