• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-java / 30417884481
100%

Build:
DEFAULT BRANCH: 26.x
Ran 29 Jul 2026 02:50AM UTC
Jobs 1
Files 660
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Jul 2026 02:49AM UTC coverage: 99.978% (+0.001%) from 99.977%
30417884481

push

github

web-flow
[Http] Build a dynamic route from a route whose path declares a parameter (#67)

# Description

A route declared with a `{parameter}` in its path but with the plain
`@Route` annotation was
never turned into a dynamic route, so the processor built no regex for
it and the route could
never match. Only `@DynamicRoute` produced a working route.

PHP resolves this in `RouteFactory::fromRoute()`: a path containing `{`
describes a dynamic
route, so one is built (keeping any parameters the route already
carries); every other path
yields a static route. The Java port had no such factory —
`AttributeRouteCollector` built a
plain `io.valkyrja.http.routing.data.Route` and handed it straight to
the processor, which
only builds a regex for a `DynamicRouteContract`.

This port adds the missing factory and uses it, so the two annotations
agree: whichever one
declares the placeholder, the collector produces a dynamic route and
attaches the
`@Parameter`s the method declares.

Found while adding one route per routing permutation to the example
application
(valkyrjaio/valkyrja-starter-app-java), where every dynamic route
declared this way matched
when generated into the cache but not when collected at runtime.

## Types of changes

- [ ] Improvement _(non-breaking change which improves code)_
- [x] Bug fix _(non-breaking change which fixes an issue)_
- [ ] New feature _(non-breaking change which adds functionality)_
- [ ] Deprecation _(breaking change which removes functionality)_
- [ ] Breaking change _(fix or feature that would cause existing
functionality to change)_
- [ ] Documentation improvement

## Changes

- **`http/routing/factory/RouteFactory.java`** — new factory mirroring
PHP's: `fromRoute()` returns a `DynamicRoute` when the path carries a
`{parameter}` (preserving the parameters of a route that is already
dynamic) and a `Route` otherwise, plus the request/response struct
helpers.
- **`http/routing/collector/AttributeRouteCollector.java`** — a route
collecte... (continued)

1924 of 1926 branches covered (99.9%)

Branch coverage included in aggregate %.

34 of 34 new or added lines in 2 files covered. (100.0%)

7005 of 7005 relevant lines covered (100.0%)

4.33 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30417884481.1 29 Jul 2026 02:50AM UTC 660
99.98
GitHub Action Run
Source Files on build 30417884481
  • Tree
  • List 660
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30417884481
  • 4741c8f5 on github
  • Prev Build on 26.x (#30417522940)
  • Next Build on 26.x (#30418577860)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc