summaryrefslogtreecommitdiffstats
path: root/sandbox/sebastien/java/dynamic/itest/policies/src/main/resources/Payment.composite
blob: 20124467b07f201433b7ef7738d5d261b01f45f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?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.    
-->

<!--  
      NOTE - policy sets all defined at top level as external attach functions
             not working yet so it's difficult to know precisely where to
             attach policy to
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" 
    xmlns:p="http://payment"
    xmlns:c="http://customer"
    xmlns:sca = "http://docs.oasis-open.org/ns/opencsa/sca/200912"
    xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
    requires = "sca:authorization" 
    targetNamespace="http://payment"
    name="Payment"
    policySets="tuscany:JDKLoggingPolicy tuscany:JDKLoggingImplPolicy tuscany:SuspendsTransactionPolicy tuscany:AuthorizationFineGrainPolicy tuscany:ConfidentialityTransportPolicy tuscany:ConfidentialityMessagePolicy tuscany:ClientAuthenticationTransportPolicy tuscany:IntegrityTransportPolicy">

    <component name="Payment">
        <implementation.java class="org.apache.tuscany.sca.itest.policies.impl.PaymentImpl" />
        <reference name="creditCardPayment" target="CreditCardPayment">
            <binding.sca requires="sca:integrity tuscany:logging">
            </binding.sca>
        </reference>
        <reference name="customerRegistry" target="Customer/Registry" requires="sca:suspendsTransaction tuscany:logging"/>
    </component>

    <component name="CreditCardPayment">
        <implementation.java class="org.apache.tuscany.sca.itest.policies.impl.CreditCardPaymentImpl" />
        <service name="CreditCardPayment" requires="tuscany:logging sca:confidentiality.message sca:confidentiality.transport"/>
    </component>

    <component name="Customer" requires="tuscany:logging">
        <implementation.composite name="c:Customer" requires="sca:managedTransaction.global"/>
        <service name="Registry" requires="sca:suspendsTransaction">
            <binding.sca/>
        </service>
    </component>

</composite>