Разобрать строку JSON внутри activiti bpmn - PullRequest
0 голосов
/ 18 декабря 2018

Приветствую сообщество!Я использую Alfresco 6.0.0 Community edition со встроенным Activiti движком.Я создаю много разных процессов / задач с помощью файлов .bpmn, и теперь я бы хотел somehow achieve the following scenario:

1) Развернуть файл .bpmn с помощью 2 usertasks ( usertask1 -> seqflow).-> usertask2 ).

2) Находясь на первом задании, я устанавливаю / обновляю переменную процесса и задаю ей строку в формате JSON (например, "{ id: '100', name:'X'}")

Мой вопрос если есть какой-либо возможный способ разбора этого JSON (например, для получения значений 'id' или 'name') внутри bpmn ?? Я хочу добиться этого внутри usertask2, этоЕсть ли возможный способ?Может быть, что-то в ScriptTaskListener или любом другом слушателе ??Любая помощь будет принята с благодарностью.

Спасибо:)

Вот пользовательская задача

 <userTask id="task2" name="${nameSetOnTask1}"
        activiti:formKey="wf:adhocTask">
       <documentation> Second task </documentation>
       <extensionElements>
           <activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
              <activiti:field name="script">
                 <activiti:string>
                  var json = execution.getVariable('json') <!-- this is the string with json value -->

                 </activiti:string>
              </activiti:field>
           </activiti:taskListener>
       </extensionElements>
    </userTask>

1 Ответ

0 голосов
/ 18 декабря 2018

решено

Мне удалось проанализировать строку Json с помощью функции JSON.parse Javascript

<activiti:string>
   var json = execution.getVariable('json')
   var jsonObject= JSON.parse(json) ;
   var idValue = jsonObject.id                        
</activiti:string>
...