You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2026/09/29 12:08:02 UTC
(grails-core) 01/01: Merge pull request #16272 from codeconsole/fix/resource-link-controller-lookup
This is an automated email from the ASF dual-hosted git repository.
jdaugherty pushed a commit to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 7bbb43f28cd30d9e8ec0924cd11d6dcefc3f5b21
Merge: 12be92bbb8 f56bf2d950
Author: James Daugherty <jd...@jdresources.net>
AuthorDate: Tue Sep 29 08:07:52 2026 -0400
Merge pull request #16272 from codeconsole/fix/resource-link-controller-lookup
Resolve links to the most specific controller, namespace and URL mapping
.../main/groovy/grails/artefact/Controller.groovy | 29 +-
.../grails/artefact/ControllerRedirectSpec.groovy | 81 ++-
grails-doc/src/en/guide/REST/hypermedia/hal.adoc | 2 +-
.../extendingRestfulController.adoc | 2 +-
.../src/en/guide/REST/versioningResources.adoc | 2 +-
grails-doc/src/en/guide/scaffolding.adoc | 3 +
.../urlmappings/namespacedControllers.adoc | 14 +-
.../theWebLayer/urlmappings/restfulMappings.adoc | 64 ++
.../src/en/guide/upgrading/upgrading80x.adoc | 5 +-
grails-fields/build.gradle | 1 +
.../plugin/formfields/FormFieldsTagLib.groovy | 16 +-
.../taglib/AssociationLinkTargetSpec.groovy | 106 +++
.../templates/artifacts/RestfulController.groovy | 2 +-
.../render/util/AbstractLinkingRenderer.groovy | 2 +-
grails-scaffolding/build.gradle | 3 +
.../templates/scaffolding/AsyncController.groovy | 4 +-
.../main/templates/scaffolding/Controller.groovy | 4 +-
.../GeneratedAsyncControllerRedirectSpec.groovy | 28 +-
.../GeneratedControllerRedirectSpec.groovy | 101 +++
.../plugin/scaffolding/redirect/Fixtures.groovy | 39 +-
grails-test-examples/hyphenated/build.gradle | 1 +
.../hyphenated/CityGuidesController.groovy | 21 +-
.../hyphenated/LinkPageController.groovy | 21 +-
.../backoffice/GuideLedgerController.groovy | 22 +-
.../backoffice/TourDeskController.groovy | 22 +-
.../grails-app/domain/hyphenated/TourGuide.groovy | 21 +-
.../grails-app/views/links/guideLinks.gsp | 30 +
.../hyphenated/HyphenatedLinkResolutionSpec.groovy | 92 +++
grails-test-examples/namespaces/build.gradle | 1 +
.../grails-app/controllers/UrlMappings.groovy | 12 +
.../namespaces/AssessmentController.groovy | 22 +-
.../controllers/namespaces/AuthorController.groovy | 20 +-
.../controllers/namespaces/GadgetController.groovy | 20 +-
.../controllers/namespaces/HomeController.groovy | 30 +-
.../controllers/namespaces/MoviesController.groovy | 20 +-
.../namespaces/admin/AuthorController.groovy | 20 +-
.../namespaces/admin/GadgetReportController.groovy | 26 +-
.../namespaces/admin/PageController.groovy | 21 +
.../namespaces/archive/ItemController.groovy | 25 +-
.../namespaces/catalog/ItemController.groovy | 23 +-
.../namespaces/manage/DashboardController.groovy | 25 +-
.../manage/ManageAssessmentController.groovy | 26 +-
.../grails-app/domain/namespaces/Assessment.groovy | 20 +-
.../grails-app/domain/namespaces/Film.groovy | 20 +-
.../grails-app/domain/namespaces/Gadget.groovy | 20 +-
.../grails-app/domain/namespaces/Screening.groovy | 21 +-
.../domain/namespaces/archive/Item.groovy | 24 +-
.../domain/namespaces/catalog/Item.groovy | 20 +-
.../services/namespaces/LinkFixtureService.groovy | 28 +-
.../grails-app/views/links/methodLinks.gsp | 28 +
.../grails-app/views/links/resourceLinks.gsp | 44 ++
.../groovy/namespaces/LinkResolutionSpec.groovy | 216 ++++++
.../src/main/groovy/namespaces/ReportBase.groovy | 24 +-
.../scaffolding-fields/build.gradle | 1 +
.../scaffoldingfields/CrewController.groovy | 22 +-
.../scaffoldingfields/DeckhandsController.groovy | 25 +-
.../domain/scaffoldingfields/Crew.groovy | 21 +-
.../domain/scaffoldingfields/Sailor.groovy | 21 +-
.../RenamedScaffoldLinksSpec.groovy | 118 ++++
.../grails-app/conf/spring/resources.groovy | 25 +-
.../functional/tests/PapersController.groovy | 25 +-
.../functional/tests/PeriodicalsController.groovy | 24 +-
.../functional/tests/PublishersController.groovy | 21 +-
.../functional/tests/UrlMappings.groovy | 3 +
.../domain/functional/tests/Journal.groovy | 22 +-
.../domain/functional/tests/Magazine.groovy | 22 +-
.../domain/functional/tests/Publisher.groovy | 21 +-
.../grails-app/views/periodicals/index.gson | 24 +-
.../grails-app/views/periodicals/show.gson | 24 +-
.../tests/RenamedControllerHalLinksSpec.groovy | 102 +++
.../RestfulControllerRedirectTargetSpec.groovy | 119 ++++
.../RestfulControllerResourceLinkSpec.groovy | 156 +++++
...directToControllerInDefaultNamespaceSpec.groovy | 48 ++
...RedirectToControllerInOtherNamespaceSpec.groovy | 67 ++
.../servlet/mvc/alpha/NamespacedController.groovy | 4 +
.../servlet/mvc/beta/NamespacedController.groovy | 4 +
.../view/api/internal/DefaultHalViewHelper.groovy | 5 +-
.../plugin/json/view/HalCollectionLinkSpec.groovy | 58 ++
.../plugin/json/view/hallinks/Fixtures.groovy | 29 +-
grails-web-url-mappings/build.gradle | 3 +-
.../groovy/grails/web/mapping/LinkGenerator.java | 13 +-
.../grails/web/mapping/CachingLinkGenerator.java | 67 +-
.../grails/web/mapping/DefaultLinkGenerator.groovy | 751 +++++++++++++++++----
.../web/mapping/DefaultUrlMappingsHolder.java | 2 +-
.../web/mapping/CachingLinkGeneratorSpec.groovy | 106 ++-
.../LinkGeneratorNamespaceInferenceSpec.groovy | 85 ++-
.../LinkGeneratorResourceControllerSpec.groovy | 674 ++++++++++++++++++
.../grails/web/mapping/LinkGeneratorSpec.groovy | 6 +-
.../mapping/ReverseMappingPrecedenceSpec.groovy | 150 ++++
.../mapping/UrlMappingsWithHttpMethodSpec.groovy | 46 ++
.../mapping/domainlink/DomainLinkFixtures.groovy | 370 ++++++++++
.../domainlink/archive/ItemController.groovy | 31 +-
.../domainlink/archive/PamphletsController.groovy | 26 +-
.../domainlink/catalog/ItemController.groovy | 30 +-
.../domainlink/print/PamphletsController.groovy | 24 +-
.../src/test/resources/logback-test.xml | 22 +
.../src/test/resources/simplelogger.properties | 20 -
97 files changed, 3965 insertions(+), 966 deletions(-)