Support Wan Connection
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_wan-connection-topology-operation-create.xml
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <service-logic xmlns="http://www.onap.org/sdnc/svclogic" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.onap.org/sdnc/svclogic ./svclogic.xsd" module="GENERIC-RESOURCE-API" version="${project.version}">
4   <method rpc="wan-connection-topology-operation-create" mode="sync"> 
5     <block atomic="true">
6       <switch test="`$network-topology-operation-input.network-information.network-id`"> 
7         <outcome value="">
8           <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID"> 
9             <parameter name="ctx-destination" value="network-topology-operation-input.network-information.network-id"/>  
10             <outcome value="failure"> 
11               <return status="failure"> 
12                 <parameter name="error-code" value=""/>  
13                 <parameter name="error-message" value="An error occured while generation allotted resource ID"/> 
14               </return>
15             </outcome>
16           </execute>
17         </outcome>
18         <outcome value="Other"></outcome>
19       </switch>
20       <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties"> 
21         <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties"/>  
22         <parameter name="contextPrefix" value="prop"/> 
23       </execute>
24       <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
25         <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
26         <parameter name="target" value="specification"/>  
27         <outcome value="true"> 
28           <call module="GENERIC-RESOURCE-API" rpc="wan-connection-save-specification" mode="sync"></call>
29         </outcome>
30         <outcome value="false"> 
31           <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
32             <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
33             <parameter name="target" value="FC"/>  
34             <outcome value="true"> 
35               <call module="GENERIC-RESOURCE-API" rpc="wan-connection-find-specifications" mode="sync"></call>
36             </outcome>
37             <outcome value="false"> 
38               <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
39                 <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
40                 <parameter name="target" value="FD"/>  
41                 <outcome value="true"> 
42                   <call module="GENERIC-RESOURCE-API" rpc="wan-connection-find-specifications" mode="sync"></call>
43                 </outcome>
44                 <outcome value="false"> 
45                   <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
46                     <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
47                     <parameter name="target" value="Link"/>  
48                     <outcome value="true"> 
49                       <call module="GENERIC-RESOURCE-API" rpc="wan-connection-route-calculation" mode="sync"></call>
50                     </outcome>
51                     <outcome value="false"> 
52                       <block></block>
53                     </outcome>
54                   </execute>
55                 </outcome>
56               </execute>
57             </outcome>
58           </execute>
59         </outcome>
60       </execute>
61       <return status="success"> 
62         <parameter name="ack-final-indicator" value="Y"/>  
63         <parameter name="error-code" value="200"/>  
64         <parameter name="error-message" value="`$error-message`"/> 
65       </return>
66     </block>
67   </method>
68 </service-logic>