Может ли состояние действия веб-потока иметь несколько перенаправлений при успехе? - PullRequest
0 голосов
/ 10 июня 2010

Скажем, у меня есть этот тип веб-потока:

def myFlow = {
    state1 {
    }
    on("next").to("stateAct")

    stateAct {
        action {
            ... DB stuff ...
        }
    }
    on("success").to("state2")

    state2 {
    }
    on("prev").to("state1")
}

Теперь содержимое "stateAct" является общим для state1 и state2.Это означает, что если я нажимаю «next» из state1, мне нужно пройти через stateAct, прежде чем я смогу перейти в state2 (который является текущей реализацией), и если я нажму «prev» в state2, мне нужно, чтобы он прошел by stateAct до того, как он пойдет.заявить1.Очевидно, что в приведенном выше примере веб-потока он не справляется с последним.

Итак, мой вопрос, есть ли способ определить в StateAct, кто его вызвал (state1 или state2), чтобы я мог перенаправить соответствующим образомна "успех"?Или что-то похожее на это поведение?

Спасибо!

-Лее

1 Ответ

1 голос
/ 12 июня 2010

Почему бы не сохранить эту информацию в переменной потока? Что-то вроде:

def myFlow = {
    state1 {
      on("next") {
          flow.originator = 'state1'
      }.to("stateAct")
    }
    stateAct {
        action {
            if (flow.originator == 'state1') do something
            if (flow.originator == 'state2') do something else
        }
    }
    on("success").to("state2")

    state2 {

      on("prev"){
        flow.originator = 'state2'
      }.to("stateAct")
}
...