@@ -21,6 +21,7 @@ export const saveWorkflow = jsonGraph => {
21
21
22
22
const log = [ ] ;
23
23
const Steps = { Step : [ ] } ;
24
+ const _steps = [ ] ;
24
25
// NODE
25
26
26
27
for ( const [ i , { attributes : box } ] of orderedElements . entries ( ) ) {
@@ -32,6 +33,8 @@ export const saveWorkflow = jsonGraph => {
32
33
const No = i ;
33
34
const Inputs = { Parameter : [ ] , Data : [ ] } ;
34
35
36
+ const _inputs = { parameters : { } , data : [ ] } ;
37
+
35
38
// get actual defaultParams in store
36
39
const defaultParams = app . elements . find ( el => el . boxId == boxId )
37
40
. defaultParams ;
@@ -44,6 +47,7 @@ export const saveWorkflow = jsonGraph => {
44
47
Name : paramName ,
45
48
Value
46
49
} ) ;
50
+ _inputs . parameters [ paramName ] = JSON . parse ( Value ) ;
47
51
}
48
52
const validity = Validation . checkValue ( Value , paramType , values ) ;
49
53
if ( ! validity ) {
@@ -59,9 +63,18 @@ export const saveWorkflow = jsonGraph => {
59
63
}
60
64
61
65
// key in webservices list
62
- const Key = getWebserviceByName ( type ) . id ;
66
+ const currentService = getWebserviceByName ( type ) ;
67
+ const { id : Key , method } = currentService ;
63
68
const Service = { Key } ;
64
69
70
+ const _step = {
71
+ name : Name ,
72
+ type : "regular" ,
73
+ method,
74
+ inputs : _inputs
75
+ } ;
76
+ _steps . push ( _step ) ;
77
+
65
78
const step = { Id : boxId , No, Name, Service, Inputs } ;
66
79
Steps . Step . push ( step ) ;
67
80
// });
@@ -89,9 +102,12 @@ export const saveWorkflow = jsonGraph => {
89
102
// search in steps step because it contains the inputs.data array
90
103
const targetWebservice = Steps . Step . find ( el => el . Id == targetId ) ;
91
104
const sourceWebservice = Steps . Step . find ( el => el . Id == sourceId ) ;
105
+ const _targetWebservice = _steps . find (
106
+ el => el . name == targetWebservice . Name
107
+ ) ;
92
108
93
109
if ( sourceWebservice ) {
94
- const { No : Ref } = sourceWebservice ;
110
+ const { No : Ref , Name : name } = sourceWebservice ;
95
111
const p = {
96
112
Name : link . target . portName ,
97
113
Value : {
@@ -102,6 +118,10 @@ export const saveWorkflow = jsonGraph => {
102
118
}
103
119
} ;
104
120
targetWebservice . Inputs . Data . push ( p ) ;
121
+
122
+ _targetWebservice . inputs . data . push ( {
123
+ [ link . target . portName ] : `$${ name } /$${ link . source . portName } `
124
+ } ) ;
105
125
} else {
106
126
const sourceDataBox = app . currentDataElements . find (
107
127
el => el . boxId == sourceId
@@ -122,6 +142,9 @@ export const saveWorkflow = jsonGraph => {
122
142
Name : dataName ,
123
143
Path : file . identifier
124
144
} ) ;
145
+ _targetWebservice . inputs . data . push ( {
146
+ [ link . target . portName ] : file . identifier
147
+ } ) ;
125
148
}
126
149
} ) ;
127
150
@@ -133,10 +156,19 @@ export const saveWorkflow = jsonGraph => {
133
156
delete step . Id ;
134
157
}
135
158
159
+ console . log ( JSON . stringify ( _steps ) ) ;
160
+
136
161
const builder = new xml2js . Builder ( { rootName : "Steps" } ) ;
137
162
const xml = builder . buildObject ( Steps ) ;
138
163
console . log ( "TCL: xml" , xml ) ;
139
164
165
+ // add json request to xml
166
+ const finalXml = `<Request>
167
+ <JsonRequest>${ JSON . stringify ( _steps ) } </JsonRequest>
168
+ ${ xml }
169
+ </Request>` ;
170
+ console . log ( finalXml ) ;
171
+
140
172
app . $refs . log . setLogMessages ( log ) ;
141
173
142
174
//@TODO add xml headers
0 commit comments