Grails

Webflows are broken

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: 1.2-M2
  • Fix Version/s: 1.2-M4
  • Component/s: WebFlow
  • Labels:
    None
  • Environment:
    Updated example of DGGV2
  • Testcase included:
    yes

Description

After upgrading to Grails V1.2-M3 webflows don't work anymore. (grails clean / rm -rf .grails didn't help)

Check the application attached.
You can reproduce the error using an integration-test or by running the application

1.) Integration-Tests

Use: grails test-app

Result: StoreBuyFlowTests fails with something like
Compilation Error: java.lang.NoClassDefFoundError: org/springframework/webflow/test/execution/AbstractFlowExecutionTests

2.) Running application

Use: grails run-app

  • Login with: mos123/mos123
  • Klick on Store
    *Chose Michael Jackson
  • Click on Buy-Button

Result: The Flow isn't found (404)

Activity

Hide
Graeme Rocher added a comment -

You need to install the webflow plugin:

grails install-plugin webflow

Webflow has been made optional in 1.2

Show
Graeme Rocher added a comment - You need to install the webflow plugin:
grails install-plugin webflow
Webflow has been made optional in 1.2
Hide
Mos added a comment -

Thanks, I missed the information that Webflow is a plugin since V1.2-M3.

Nevertheless there seems to be a bug that breaks existing webflows (another Grails user reported similar observation).

  • Follow the steps in 2.) above
  • When hitting the yes button the following exception is thrown:
    • {{org.springframework.webflow.engine.NoMatchingTransitionException: No transition found on occurence of event 'yes' in state 'enterShipping' of flow 'store/buy' – valid transitional criteria are array<TransitionCriteria>[next, back] – likely programmer error, check the set of TransitionCriteria for this state}}

It looks like the flow is jumping to next state before processing the event?
With V1.2-M2 it works fine.

Show
Mos added a comment - Thanks, I missed the information that Webflow is a plugin since V1.2-M3. Nevertheless there seems to be a bug that breaks existing webflows (another Grails user reported similar observation).
  • Follow the steps in 2.) above
  • When hitting the yes button the following exception is thrown:
    • {{org.springframework.webflow.engine.NoMatchingTransitionException: No transition found on occurence of event 'yes' in state 'enterShipping' of flow 'store/buy' – valid transitional criteria are array<TransitionCriteria>[next, back] – likely programmer error, check the set of TransitionCriteria for this state}}
It looks like the flow is jumping to next state before processing the event? With V1.2-M2 it works fine.
Hide
Stefano Gualdi added a comment -

I'm also having a strange behavior with webflows.

In my case the following code:

def createFlow = {
               start {
                       on("next") {
                               log.debug "moving to middle"
                       }.to "middle"
               }

               middle {
                       on("previous") {
                               log.debug "moving to start"
                       }.to "start"
                       on("next") {
                               log.debug "moving to end"
                       }.to("end")
               }

               end {
               }
       }

after triggering the next event in start state the flow automatically execute until the end state.

The output is:

moving to middle
moving to end

while the flow should stop on middle and show the middle.gsp page

Show
Stefano Gualdi added a comment - I'm also having a strange behavior with webflows. In my case the following code:
def createFlow = {
               start {
                       on("next") {
                               log.debug "moving to middle"
                       }.to "middle"
               }

               middle {
                       on("previous") {
                               log.debug "moving to start"
                       }.to "start"
                       on("next") {
                               log.debug "moving to end"
                       }.to("end")
               }

               end {
               }
       }
after triggering the next event in start state the flow automatically execute until the end state. The output is:
moving to middle
moving to end
while the flow should stop on middle and show the middle.gsp page
Hide
Pete Joe added a comment -

Hi,

I just want to make sure:

There is no Spring Webflow Plugin for the current Grails v.1.3.3 ?

This plugin(http://www.grails.org/WebFlow) is only available for Grails up to v1.2 ?

Is spring-webflow plugin being abandoned - it's not going to be part of Grails, nor as a plugin?
(https://svn.codehaus.org/grails-plugins/)

Regards,
Pete

Show
Pete Joe added a comment - Hi, I just want to make sure: There is no Spring Webflow Plugin for the current Grails v.1.3.3 ? This plugin(http://www.grails.org/WebFlow) is only available for Grails up to v1.2 ? Is spring-webflow plugin being abandoned - it's not going to be part of Grails, nor as a plugin? (https://svn.codehaus.org/grails-plugins/) Regards, Pete
Hide
Graeme Rocher added a comment -

The webflow plugin hasn't been abandoned, it is just no longer installed by default but can be found here:

http://svn.codehaus.org/grails/trunk/grails-plugins/

Show
Graeme Rocher added a comment - The webflow plugin hasn't been abandoned, it is just no longer installed by default but can be found here: http://svn.codehaus.org/grails/trunk/grails-plugins/

People

Vote (6)
Watch (11)

Dates

  • Created:
    Updated:
    Resolved: