<!--
  ~ Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
  ~
  ~ Licensed 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.
  -->
<serviceGroup>
    <service name="EventStreamAdminService" scope="transportsession">
        <transports>
            <transport>https</transport>
        </transports>
        <messageReceivers>
            <messageReceiver mep="http://www.w3.org/ns/wsdl/robust-in-only"
                             class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
            <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only"
                             class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
            <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
                             class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
        </messageReceivers>
        <parameter name="ServiceClass" locked="false">
            org.wso2.carbon.event.stream.admin.EventStreamAdminService
        </parameter>

        <parameter name="AuthorizationAction" locked="false">
            /permission/admin/manage/event-streams
        </parameter>

        <operation name="addEventStreamDefinitionAsDto">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

        <operation name="addEventStreamDefinitionAsString">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

        <operation name="convertStringToEventStreamDefinitionDto">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

        <operation name="convertEventStreamDefinitionDtoToString">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

        <operation name="editEventStreamDefinitionAsString">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

        <operation name="editEventStreamDefinitionAsDto">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

        <operation name="removeEventStreamDefinition">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

        <operation name="getAllEventStreamDefinitionDto">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

        <operation name="getStreamNames">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

        <operation name="getStreamDefinitionAsString">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

        <operation name="getStreamDetailsForStreamId">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>
        <operation name="generateSampleEvent">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>
        <operation name="getStreamDefinitionDto">
            <parameter name="AuthorizationAction" locked="true">
                /permission/admin/manage/event-streams
            </parameter>
        </operation>

    </service>

    <parameter name="adminService" locked="true">true</parameter>
    <parameter name="hiddenService" locked="true">true</parameter>
</serviceGroup>