IBM BJ0NJML Integration Guide - Page 170

Writing Custom Handlers

Page 170 highlights

Writing Custom Handlers The following tags are available: T CLWORKINGDIR - A directory to change (cd) to on the remote system before the command is run. T CLSSETUPCMD - A setup command to be run before the main command. Use this tag for any environmental setup that must occur on the remote system before the main command is issued. T CLCMDPATTERN - A string that defines the pattern of the command to be run. The format of this pattern is similar to the java.text.MessageFormat class. An example is ls -l {0}, where {0} represents a parameter that is substituted. T CLSUB0 - The value to substitute into positions that are marked by {0} in the CLCMDPATTERN. T CLSUB1- The value to substitute into positions that are marked by {1} in the CLCMDPATTERN. T CLSUBn - The value to substitute into positions that are marked by {n} in the CLCMDPATTERN. A CLSUBn tag must correspond to each substitution position in the CLCMDPATTERN tag. The return byte array representation of an XML document contains the results of the command. The XML document contains tags that correspond to the return value, STDOUT and STDERR. The following tags are available: T CLRETURNCODE - The return code from the remote command. T CLRESPONSEOUT - The data that is returned by the remote command in STDOUT tag. T CLRESPONSEERR - The data that is returned by the remote command in STDERR tag. Writing Custom Handlers To write a custom handler, implement the RouterHandler interface. That interface has the following two methods: getParameter() This method returns a list of properties that the handler needs to send data to the endpoint. T The RouterPropsInfo object represents a property. This method can return a list of RouterPropsInfo objects. T The isCrypto attribute in the RouterPropsInfo object indicates whether to encrypt the property value while storing data. For password properties, the value of this attribute is True. 156 Integration Guide

  • 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
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330

Writing Custom Handlers
156
Integration Guide
The following tags are available:
CLWORKINGDIR – A directory to change (
cd
) to on the remote system before
the command is run.
CLSSETUPCMD – A setup command to be run before the main command.
Use this tag for any environmental setup that must occur on the remote
system before the main command is issued.
CLCMDPATTERN - A string that defines the pattern of the command to be
run. The format of this pattern is similar to the java.text.MessageFormat class.
An example is
ls -l {0}
, where {0} represents a parameter that is
substituted.
CLSUB0 - The value to substitute into positions that are marked by {0} in the
CLCMDPATTERN.
CLSUB1- The value to substitute into positions that are marked by {1} in the
CLCMDPATTERN.
CLSUBn - The value to substitute into positions that are marked by {n} in the
CLCMDPATTERN. A CLSUBn tag must correspond to each substitution
position in the CLCMDPATTERN tag.
The return byte array representation of an XML document contains the results of
the command. The XML document contains tags that correspond to the return
value, STDOUT and STDERR.
The following tags are available:
CLRETURNCODE – The return code from the remote command.
CLRESPONSEOUT – The data that is returned by the remote command in
STDOUT tag.
CLRESPONSEERR – The data that is returned by the remote command in
STDERR tag.
Writing Custom Handlers
To write a custom handler, implement the RouterHandler interface. That interface
has the following two methods:
getParameter()
This method returns a list of properties that the handler needs to send data to
the endpoint.
The RouterPropsInfo object represents a property. This method can
return a list of RouterPropsInfo objects.
The isCrypto attribute in the RouterPropsInfo object indicates whether
to encrypt the property value while storing data. For password
properties, the value of this attribute is True.