Skip to content

2.4.x#571

Merged
lhotari merged 7 commits intoapache:masterfrom
vinod2800:2.4.x
Mar 25, 2015
Merged

2.4.x#571
lhotari merged 7 commits intoapache:masterfrom
vinod2800:2.4.x

Conversation

@vinod2800
Copy link
Copy Markdown
Contributor

Resolution of GRAILS-11583,
Prob - While using grails webflow, it's adding additional "execution=e1s1" query string to URL,

Current Solution - provides configurable parameter to users "grails.views.enable.flowExecutionKey.param" to append query string to url.

Recommended Solution - remove "urlAttrs.params = params" mapping ( https://github.com/grails/grails-core/blob/v2.4.4/grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web/taglib/ApplicationTagLib.groovy#L363) line as it's duplicate place.
grails-web-flow-plugin 2.1.0 - has code to handle execution=e1s1, parameter if you need to bookmark or share the pages.

Thank You,
Vinod

Remove additional parameters are added for grails web flow
Ideally we need to take out urlAttrs.params = params  from createLink
operation as webFlow plugin already takes care of adding execution
param.
@H1net
Copy link
Copy Markdown

H1net commented Feb 26, 2015

Kind regards,
Ben

Ben Newbery
Managing Director
Fresh Devs
Tel.: 0161 408 1009
Mob.: 07769 534 789
Web.: www.freshdevs.com
**Sent from my iPad

On 23 Feb 2015, at 17:02, vinod2800 notifications@github.com wrote:

Resolution of GRAILS-11583,
Prob - While using grails webflow, it's adding additional "execution=e1s1" query string to URL,

Current Solution - provides configurable parameter to users "grails.views.enable.flowExecutionKey.param" to append query string to url.

Recommended Solution - remove "urlAttrs.params = params" mapping ( https://github.com/grails/grails-core/blob/v2.4.4/grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web/taglib/ApplicationTagLib.groovy#L363) line as it's duplicate place.
grails-web-flow-plugin 2.1.0 - has code to handle execution=e1s1, parameter if you need to bookmark or share the pages.

Thank You,
Vinod

You can view, comment on, or merge this pull request online at:

#571

Commit Summary

GRAILS-11583
flow execution params are appended to url ( Grails-11583)
File Changes

M grails-plugin-gsp/src/main/groovy/org/codehaus/groovy/grails/plugins/web/taglib/ApplicationTagLib.groovy (13)
M grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/taglib/ApplicationTagLibTests.groovy (22)
Patch Links:

https://github.com/grails/grails-core/pull/571.patch
https://github.com/grails/grails-core/pull/571.diff

Reply to this email directly or view it on GitHub.

This reverts commit d134872.
Removed duplicate web-flow key mapping attribute from 2.4.x fields in
order to provide options to users for having flexibility to avoid
execution params
@graemerocher
Copy link
Copy Markdown
Contributor

The pull request needs to be against the 2.4.x branch not master

@vinod2800
Copy link
Copy Markdown
Contributor Author

Sorry it's my bad, is there easy way to move to 2.4.x branch.

I have created new request for 2.4.x - please check - #579

@lhotari lhotari merged commit 5328b20 into apache:master Mar 25, 2015
@kastone
Copy link
Copy Markdown
Contributor

kastone commented Oct 13, 2015

Adrien, that work around did not work for us. This pull request has broken all of our sub flows and we really don't want to rely on manually adding the execution parameter in all of our webflow links. Is there anyway to revive the externalized config vinod2800? I think the difference might be sub flows. Are either of you using them? The execution param is necessary in sub flows. You can check out my sample app here: https://github.com/kastone/grails-webflow-sample. If you look at hitAlarmClock.gsp, you will see I tried with the workaround to no avail. Clicking on the links will send user to beginning of webflow b/c the execution param is not included and the state cannot be restored.

jdaugherty pushed a commit that referenced this pull request Apr 17, 2025
Just a small change to make things clearer, it seems that in the documentation as it stands that the roles of id and elementId are reversed.  See http://stackoverflow.com/questions/43754126/how-do-i-pass-an-id-to-a-link-when-using-the-method-call-syntax-in-a-taglib/43775473#43775473
jdaugherty pushed a commit that referenced this pull request Apr 17, 2025
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
jdaugherty pushed a commit that referenced this pull request Apr 22, 2025
jdaugherty pushed a commit to jdaugherty/grails-core that referenced this pull request Jun 28, 2025
Use older version of google-github-actions/setup-gcloud
jamesfredley added a commit that referenced this pull request May 3, 2026
Pulled apache/groovy master to commit 40499016 (HEAD as of 2026-05-03 18:03 UTC) and the 6.0.0-SNAPSHOT publication at build #571 (5.0.6-20260503.181740-571 on the snapshot timeline). Two more workarounds become removable:

1. grails-data-hibernate5/.../HibernateConnectionSourceSettings.groovy
   The explicit clone() override on the inner @AutoClone HibernateSettings
   class was the workaround for the Java stub generator regression that
   emitted 'clone() throws CloneNotSupportedException' on a class extending
   LinkedHashMap (whose JDK clone() does not declare the exception). Tracked
   as GROOVY-11980 (https://issues.apache.org/jira/browse/GROOVY-11980),
   committed to apache/groovy master 2026-05-02 21:29 UTC as ced726ce
   ('GROOVY-11980: @AutoClone clone() override adds CloneNotSupportedException
   not declared by superclass'). Build #571 contains the fix. Removed the
   explicit clone() body and the 16-line workaround comment. @AutoClone now
   generates the override with the correct (no-throws) signature, javac
   accepts it as a valid override of LinkedHashMap.clone(), and the deep-
   clone semantics for tenant connection-source settings are preserved by
   @AutoClone(style = CLONE) which is the default style.

2. grails-geb/.../testFixtures/grails/plugin/geb/ContainerGebConfiguration.groovy
   IContainerGebConfiguration converted from trait back to interface with
   default methods. The interface->trait workaround was for an indy=false
   IncompatibleClassChangeError ('Method '...\()' must be
   InterfaceMethodref constant') that fired when downstream classes
   compiled with -PgrailsIndy=false consumed the interface. Tracked as
   GROOVY-11982 (https://issues.apache.org/jira/browse/GROOVY-11982),
   committed to apache/groovy master 2026-05-02 23:16 UTC as 88ca738c
   ('GROOVY-11982: Default methods in interface throw
   IncompatibleClassChangeError under indy=false'). Build #571 contains the
   fix. Standalone reproducer in
   https://github.com/jamesfredley/groovy5-compiledynamic-trait-bug/blob/main/quick-checks/src/main/groovy/InterfaceDefaultsCheck.groovy
   was the basis for both the original workaround and this restoration;
   it now passes against build #571.

Compilation re-verified locally on Groovy 6.0.0-SNAPSHOT build #571:

  ./gradlew :grails-data-hibernate5-core:compileGroovy --refresh-dependencies
  ./gradlew :grails-geb:compileTestFixturesGroovy --refresh-dependencies

Both BUILD SUCCESSFUL. Runtime validation of the indy=false ContainerGebSpec
class init path is deferred to the canary CI matrix - the affected specs
(InheritedConfigSpec, ChildPreferenceInheritedConfigSpec) extend
ContainerGebSpec implements IContainerGebConfiguration and exercise the
exact \() InterfaceMethodref dispatch the upstream fix
addresses. (Pre-existing :grails-fields:compileGroovy failure on this
canary - unrelated to either of these workarounds; reproduces on the
unmodified merged tree.)

Net effect: two more rows leave the 'Real Groovy 6 regressions, no
upstream PR yet' table in the PR description. Combined with the three
inherited-from-#15557 workarounds dropped on the parent branch
(GROOVY-11983 unlocking PersistentEntityCodec + DefaultHalViewHelper),
five workarounds dropped against this round of upstream fixes.

Assisted-by: claude-code:claude-opus-4.6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants