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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:ext="http://ode.apache.org/activityRecovery"
           targetNamespace="http://www.apache.org/ode/schemas/dd/2007/03"
           xmlns:dd="http://www.apache.org/ode/schemas/dd/2007/03"
           elementFormDefault="qualified">

    <xs:import namespace="http://ode.apache.org/activityRecovery" schemaLocation="activityRecovery.xsd"></xs:import>

    <xs:element name="deploy" id="deploy" type="dd:tDeployment">
    </xs:element>

    <xs:complexType name="tDeployment">
        <xs:sequence>

            <xs:element name="process"  minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>

                        <xs:element name="active" minOccurs="0" maxOccurs="1" type="xs:boolean"
                                    default="true">
                            <xs:annotation>
                                <xs:documentation> Active flag, if set process will be activated once
                                    deployed. </xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="retired" minOccurs="0" maxOccurs="1" type="xs:boolean"
                                    default="false">
                            <xs:annotation>
                                <xs:documentation> Retired flag, if set process will be retired once
                                    deployed. </xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element name="in-memory" minOccurs="0" maxOccurs="1" type="xs:boolean"
                                    default="false">
                            <xs:annotation>
                                <xs:documentation>Should the process be persistent or only execute
                                    in-memory.</xs:documentation>
                            </xs:annotation>
                        </xs:element>

                        <xs:element name="property"  minOccurs="0" maxOccurs="unbounded">
                            <xs:annotation>
                                <xs:documentation>
                                    A user-defined property that will be attached to a process upon
                                    deployment.
                                </xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
                                </xs:sequence>
                                <xs:attribute name="name" type="xs:QName" use="required"/>
                            </xs:complexType>
                        </xs:element>

                        <xs:element name="process-events" minOccurs="0" maxOccurs="1" type="dd:tProcessEvents"/>

                        <xs:element name="provide"  minOccurs="0" maxOccurs="unbounded" type="dd:tProvide"/>
                        <xs:element name="invoke"  minOccurs="0" maxOccurs="unbounded" type="dd:tInvoke"/>

                        <xs:element name="mex-interceptors" minOccurs="0" maxOccurs="1" >
                            <xs:annotation>
                                <xs:documentation>
                                    List of message exchange interceptors that should be registered for this process.
                                </xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="mex-interceptor" minOccurs="0" maxOccurs="unbounded" type="dd:tMexInterceptor" />
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="type" minOccurs="0" maxOccurs="1"  type="xs:QName">
                            <xs:annotation>
                                <xs:documentation> Process type -- indicates which process defintion should be used
                                    for the process.</xs:documentation>
                            </xs:annotation>
                        </xs:element>

                        <xs:element name="cleanup" minOccurs="0" maxOccurs="3" type="dd:tCleanup" />
                        <xs:element name="schedule" minOccurs="0" maxOccurs="unbounded" type="dd:tSchedule">
                        </xs:element>
                    </xs:sequence>

                    <xs:attribute name="name" type="xs:QName" use="required"/>
                    <xs:attribute name="fileName" type="xs:string" use="optional"/>
                    <xs:attribute name="bpel11wsdlFileName" type="xs:string" use="optional">
                            <xs:annotation>
                                <xs:documentation>
                                Allows you to specify a WSDL for BPEL 1.1 processes which do not support an "import" element.
                                </xs:documentation>
                            </xs:annotation>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>

        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="tProvide">
        <xs:sequence>
            <xs:element name="service" minOccurs="1" maxOccurs="1" type="dd:tService"/>
            <xs:element name="enableSharing" minOccurs="0" maxOccurs="1" type="dd:tEnableSharing"/>
        </xs:sequence>
        <xs:attribute name="partnerLink" type="xs:string" use="required"/>
    </xs:complexType>

    <xs:complexType name="tInvoke">
        <xs:sequence>
            <xs:element name="service" minOccurs="1" maxOccurs="1" type="dd:tService"/>
            <xs:element name="binding" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:attribute name="name" type="xs:QName" use="required"/>
                </xs:complexType>
            </xs:element>
            <xs:element ref="ext:failureHandling" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="partnerLink" type="xs:string" use="required"/>
        <xs:attribute name="usePeer2Peer" type="xs:boolean" use="optional" default="true"/>
    </xs:complexType>

    <xs:complexType name="tService">
        <xs:sequence>
            <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
        </xs:sequence>
        <xs:attribute name="name" type="xs:QName" use="required"/>
        <xs:attribute name="port" type="xs:NCName" use="required"/>
    </xs:complexType>

    <xs:complexType name="tEnableSharing">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="tMexInterceptor" >
        <xs:annotation>
            <xs:documentation>
                Message exchange interceptor configuration.
            </xs:documentation>
        </xs:annotation>

        <xs:sequence>
            <xs:element name="class-name" type="xs:string" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="tEnableEventList">
        <xs:sequence>
            <xs:element name="enable-event" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="tScopeEvents">
        <xs:complexContent>
            <xs:extension base="dd:tEnableEventList">
                <xs:attribute name="name" use="required" type="xs:string"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="tProcessEvents">
        <xs:complexContent>
            <xs:extension base="dd:tEnableEventList">
                <xs:sequence>
                    <xs:element name="scope-events" minOccurs="0" maxOccurs="unbounded" type="dd:tScopeEvents"/>
                </xs:sequence>
                <xs:attribute name="generate" use="optional">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="all"/>
                            <xs:enumeration value="none"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="tCleanup">
        <xs:sequence>
            <xs:element name="category" default="all" minOccurs="0" maxOccurs="unbounded">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="instance" />
                        <xs:enumeration value="variables" />
                        <xs:enumeration value="messages" />
                        <xs:enumeration value="correlations" />
                        <xs:enumeration value="events" />
                        <xs:enumeration value="all" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="filter" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="on" use="optional">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="success" />
                    <xs:enumeration value="failure" />
                    <xs:enumeration value="always" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="tSchedule">
        <xs:sequence>
            <xs:element name="cleanup" type="dd:tCleanup" minOccurs="0" maxOccurs="unbounded">
            </xs:element>
        </xs:sequence>
        <xs:attribute name="when" type="xs:string" use="required"></xs:attribute>
    </xs:complexType>
</xs:schema>
