-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathmailbox-get-index-cdp-adv.bpml
136 lines (118 loc) · 4.73 KB
/
mailbox-get-index-cdp-adv.bpml
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<process name="MAILBOX_GET_INDEX_CDP_ADV">
<rule name="os_windows">
<condition>contains(/ProcessData/CDServerNodeData/RemoteFileName/text(),'os=windows')</condition>
</rule>
<rule name="os_unix">
<condition>contains(/ProcessData/CDServerNodeData/RemoteFileName/text(),'os=unix')</condition>
</rule>
<rule name="os_other">
<condition>contains(/ProcessData/CDServerNodeData/RemoteFileName/text(),'os=other')</condition>
</rule>
<rule name="has_filter">
<condition>contains(/ProcessData/CDServerNodeData/RemoteFileName/text(),'fi=')</condition>
</rule>
<rule name="has_mailboxpath">
<condition>contains(/ProcessData/CDServerNodeData/RemoteFileName/text(),'mbx=')</condition>
</rule>
<sequence name="CDServerSnodeCallbackBP">
<operation name="AssignService">
<participant name="AssignService"/>
<output message="AssignOutputMessage">
<assign to="." from="*"/>
<assign to="This/SlashType">\</assign>
<assign to="This/Dummy">/* Dummy Comment */</assign>
<assign to="This/MailboxPath">/Inbox</assign>
<assign to="This/MessageNamePattern">*</assign>
</output>
<input message="AssignInputMessage">
<assign to="." from="*"/>
</input>
</operation>
<choice name="OSType">
<select>
<case ref="os_windows" activity="osWindows"/>
<case ref="os_unix" activity="osUnix"/>
<case ref="os_other" activity="osOther"/>
</select>
<sequence name="osWindows">
<assign to="This/SlashType">\</assign>
</sequence>
<sequence name="osUnix">
<assign to="This/SlashType">/</assign>
<assign to="This/Dummy">RUNECHO RUN TASK PNODE SYSOPTS="echo Dummy"</assign>
</sequence>
<sequence name="osOther">
<assign to="This/SlashType">_</assign>
</sequence>
</choice>
<choice name="HasFilter">
<select>
<case ref="has_filter" activity="setFilter"/>
</select>
<sequence name="setFilter">
<assign to="This/MessageNamePattern" from="substring-before(substring-after(/ProcessData/CDServerNodeData/RemoteFileName/text(),'fi='),';')"/>
</sequence>
</choice>
<choice name="HasMailboxPath">
<select>
<case ref="has_mailboxpath" activity="setMailboxPath"/>
</select>
<sequence name="setMailboxPath">
<assign to="This/MailboxPath" from="translate(substring-before(substring-after(/ProcessData/CDServerNodeData/RemoteFileName/text(),'mbx='),';'),'@','/')"/>
</sequence>
</choice>
<operation name="Mailbox Query Service">
<participant name="MailboxQuery"/>
<output message="MailboxQueryServiceTypeInputMessage">
<assign to="." from="*"></assign>
<assign to="MailboxPath" from="This/MailboxPath/text()"></assign>
<assign to="MessageExtractable">YES</assign>
<assign to="MessageNamePattern" from="This/MessageNamePattern/text()"></assign>
<assign to="OrderBy">MessageId</assign>
</output>
<input message="inmsg">
<assign to="This/PullList" from="Message/MessageName"></assign>
</input>
</operation>
<operation name="XSLT Service">
<participant name="XSLTService"/>
<output message="XSLTServiceTypeInputMessage">
<assign to="input_pd_xpath">/ProcessData/This</assign>
<assign to="xml_input_from">ProcData</assign>
<assign to="xml_input_validation">NO</assign>
<assign to="xslt_name">PullListCdpAdv</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<assign to="RemoteFileName">PullFileList</assign>
<!-- Return (0) as failure success to caller -->
<assign to="CDServerNodeData/CallbackReturnCount">0</assign>
<operation name="CD Server BP Response Service">
<participant name="CDServerBPResponse"/>
<output message="CDServerBPResponseServiceTypeInputMessage">
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<onFault>
<sequence name="On Fault Sequence Start">
<!-- Return (8) as failure status to caller -->
<assign to="CDServerNodeData/CallbackReturnCount">8</assign>
<operation name="CD Server BP Response Service">
<participant name="CDServerBPResponse"/>
<output message="CDServerBPResponseServiceTypeInputMessage">
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="OnFaultCDServerBPResponseResults" from="*"></assign>
</input>
</operation>
</sequence>
</onFault>
</sequence>
</process>