Show last authors
1 = __Introduction__ =
2
3
4 Variable is a container that holds a value and can be called in the iXPath Scenario. The importance of
5
6 variables is to make flexibility in using some values without referring to their origins.
7
8 There are 2 types of  variables: 
9
10 * System variables
11 * Local variables
12
13 == __System variables__ ==
14
15
16 System variables define some default values in the system, and they can be called by users several times.
17
18 Here is the list of system variables :
19
20 1. At the declaration of the scenario:
21 1*. iXSession: it returns the ID of the current session.
22 1*. iXSessionPath: gets the Path of the session folder.
23 1*. env: name of the environment.
24 1*. inputFile: this variable collect all input files in one list.
25 1. For a **mail listener : **
26 1*. iXFrom: refers to the sender of the mail that we are listening on.
27 1*. iXSubject: refers to the Subject of the mail that we are listening on.
28 1. For an **AS2 listener **: 
29 1*. iXFrom: return the value of the source of the AS2 that we are listening on.
30 1. All connectors declare a system variable of type BpmnFile, the connector variable uses a bunch of functions to handle the list of BpmnFiles that will be detailed in the table below :
31 1*. (((
32 (% style="width:884px" %)
33 |(% style="width:150px" %)**Function**|(% style="width:365px" %)**Description**|(% style="width:367px" %)**Use**
34 |(% style="width:150px" %)Get( x ) |(% style="width:365px" %)Get a file with index number "x" from the BpmnFile list, the indexes begin from 0 as the first element, and so on.|(% style="width:367px" %)(((
35 if we have an XmlToXml connector named "XmlToXml1" we can get __the second__ BpmnFile as :
36
37 ${XmlToXml1.get(1)}
38
39 NB: we will make examples on the same connector "XmlToXml1".
40 )))
41 |(% style="width:150px" %)getTrkValues()|(% style="width:365px" %)Return the Tracking values from a BpmnFile.|(% style="width:367px" %)Eg : ${XmlToXml1.get(0).getTrkValues()} returns the tracking values of the first BpmnFile.
42 |(% style="width:150px" %)path()|(% style="width:365px" %)Return the absolute path of the BpmnFile.|(% style="width:367px" %)Eg : ${XmlToXml.get(3).path()} returns the path of the __fourth__ BpmnFile
43 |(% style="width:150px" %)fileName()|(% style="width:365px" %)Return the name of the BpmnFile. |(% style="width:367px" %)Eg : ${XmlToXml1.get(2).fileName()} retrieves the name of the third BpmnFile.
44 |(% style="width:150px" %)extension()|(% style="width:365px" %)Returns the extension of the BpmnFile.|(% style="width:367px" %)(((
45 Eg : if we want to get the extension of the first BpmnFile, we will proceed as below :
46
47 ${XmlToXml1.get(0).extension()}
48 )))
49 |(% style="width:150px" %)fullName()|(% style="width:365px" %)Returns the file name + its extension  |(% style="width:367px" %)Eg : ${XmlToXml1.get(0).fullName()} returns the full name of the BpmnFile.
50 |(% style="width:150px" %)size()|(% style="width:365px" %)Returns the size of the BpmnFile in megabit.|(% style="width:367px" %)(((
51 Eg : ${XmlToXml1.get(0).size()} returns the size of the first BpmnFile.
52 )))
53 |(% style="width:150px" %)type()|(% style="width:365px" %)Returns the type of the BpmnFile|(% style="width:367px" %)(((
54 Eg : To get the type of the second BpmnFile ,
55
56 ${XmlToXml1.get(1).type()}
57 )))
58 )))
59 1. Variables used to charge the connectors properties in the xsl file without charging them in the scenario manually. Those variables helps reduce time consuming and avoid reputation in the scenario elements:
60 1*. For the SendFTP et SendSFTP, there are 3 variables:
61 1**. __**i​​XTo**__: used to charge the property **Destination **of the connector in the XSL file.
62 1**. __**iXServerConfig**__: used to charge the property **Server Config** of the connector in the XSL file.
63 1**. __**iXDirectory**__: used to charge the property **Folder** of the connector in the XSL file.
64 1**. [[image:SendFtp.png]]
65 1*. For the CallScenario Connector, there are 3 variables:
66 1**. **iXScenario**: used to charge the property **Scenario **of the connector in the XSL file.
67 1**. **iXSwitchEnv**: is a boolean variable used to charge the checkbox property **switch environnement** of the connector in the XSL file.
68 1**. **iXEnv**: used especially when the developper wants to switch the environment and use another scenario in another environment. It is a variable that precise the name of the new environment
69 1**. [[image:1649942613906-103.png]]
70
71 (% class="wikigeneratedid" id="H" %)
72 When you change the environment, make sure to verify that the variable iXSwitchEnv has the value true.
73
74 == __Local variables__ ==
75
76
77 Local variable is a type of variable that can be newly created and used for a certain need.
78
79 So as to create a local variable "newVar" with a value equals to "var number 1", we should write this piece of XSL code :
80
81
82 {{code language="XML"}}
83 <xsl:value-of select=" ixf:SetVar('newVar', 'var Number 1','false')"></xsl:value-of>
84
85 {{/code}}
86
87 === ===
88
89 The call of this new variable in the scenario is similar to previous system variables:  **${newVar}.**
90
91 To get 'newVar' inside an XSL file :
92
93
94 {{code language="XML"}}
95 <xsl:value-of select="ixf:getVar('newVar')"></xsl:value-of>
96 {{/code}}
97
98 = __How to call the variables? :__ =
99
100
101 To call a variable inside a connector, we should put it inside ${}. Eg: for a variable named ‘Var’, it can be called as ${Var}.
102
103 For the condition in the connector's property, to check if the variable verify the condition, we can use " VarName== 'Value' " or " VarName!='Value' ".
104
105 To call a variable in an xsl file, we should use the local variables SetVar ou GetVar.
106
107 = __Examples__ =
108
109
110
111 * (((
112 ===== __**1^^st^^ Example:**__ =====
113
114
115
116 )))
117
118 We set a simple example of a scenario to illustrate how to use variables.
119
120 We want to receive a file by a FileListener and send it by mail that contains a message body.
121
122 here is the scenario:
123
124 [[image:2021-04-27_21h31_55.png||height="140" width="446"]]
125
126 The configuration of the "SendMail" is :
127
128 [[image:2021-04-27_21h32_07.png||height="373" width="281"]]
129
130 As shown in the mail body, we called 3 variables which are :
131
132 * Env: the current environment
133 * iXSession : ID session
134 * path : the path of BpmnFile in FileListener1.
135
136 * (((
137 ===== __**2^^nd^^ Example**__ =====
138
139
140
141 )))
142
143 This is an example to charge the call scenario variables:
144
145
146 [[image:1649943564529-130.png]]
147
148
149 As shown in the mail body, we called 3 variables which are :
150
151 * **iXEnv**: the Environment when the new scenario exists
152 * **iXScenario**: ='**error_sc_out_trk_and_statut**'. It means that the current scenariowhere the **connector CallScenario** will be changed to "error_sc_out_trk_and_statut'"
153 * **iXSwitchEnv**: ='**true**'. It means that the current env will be switched to "**Danone**"
154
155 = =
156
157 = __String Class__ =
158
159
160
161 in java language, The String class represents character strings. It contains a lot of functions to handle String object.
162
163 you can discover all these functions on the following URL :
164
165 __[[https:~~/~~/docs.oracle.com/javase/8/docs/api/java/lang/String.html#method.summary>>https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#method.summary]] __
166
167 Eg: to check if a variable "myVar" is empty or not, we refer to the isEmpty() method as ${myVar.isEmpty()}, if so then it returns true, if not it will return false.
168
169
170
This wiki is hosted and managed by iXPath
Powered by XWiki 13.3 debian