дублирование списка groovy при вызове метода добавления внутри состояния веб-потока

я использую плагин webflow, я создаю в начале действия 2 переменные состояния в области потока, одну в виде карты, а другую в виде списка, затем я выбираю значения среди состояний до тех пор, пока состояние 3 не добавляет значения на карту и, наконец, добавляю карту в список, пока здесь все в порядке, проблема в том, что когда я пытаюсь добавить второй элемент, когда я добавляю вторую карту в список, все предыдущие карты перезаписываются.

Если я изменю переменные, созданные в действии запуска, из области потока в карту области сеанса, не будут перезаписаны.

любая идея? я хотел бы использовать переменные потока. Спасибо за ваше время

def controllerNameFlow = {
init {
  flow.items = [:]
  flow.itemsCollection = []
}
on("success").to "state1"
on("error").to "done"

state1 = {
  flow.item = "abc"
}
on("confirm").to "state2"

state2 = {
  flow.presentation = "a123"
}
on("confirm").to "state3"

state3 = {
  flow.items.put("item", flow.item)
  flow.items.put("presentation", flow.presentation)

  flow.itemsCollection.add flow.items
}
on("confirm").to "state1"
}

person Mario    schedule 12.05.2014    source источник


Ответы (1)


Списки могут содержать повторяющиеся элементы, если вы хотите, чтобы коллекция не содержала повторяющихся элементов, вам следует использовать набор вместо списка.

Чейдж

flow.itemsCollection = []

to

flow.itemsCollection = new HashSet()

Надеюсь это поможет

person Micke    schedule 13.05.2014