It should be possible to specify custom binding prefixes consisting of one character, or even of the empty string, e.g.:
<binding prefix="" service-id="tapestry.bindings.OGNLBindingFactory"/>
<binding prefix="C" service-id="tapestry.bindings.ComponentBindingFactory"/>
This configuration should cause "C:foo" to be equivalent to "component:foo", and ":bar" to be equivalent to "component:bar". However, Tapestry silently ignores prefixes shorter than two characters, treating "C:foo" as a literal even with the above configuration.
Tapestry should do one of two things:
(1) Hopefully this behavior is unintentional. If so, it is due to a dropped minus sign on line 63 of BindingSourceImpl:
if (colonx > 1)
if (colonx > -1)
(2) If this behavior is intentional, BindingSourceImpl should reject any invalid contributions up front instead of ignoring them.
|Field||Original Value||New Value|
|Fix Version/s||4.1.2 [ 12312202 ]|
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Assignee||Jesse Kuhnert [ jkuhnert ]|
|Resolution||Fixed [ 1 ]|
|Workflow||jira [ 12362210 ]||Default workflow, editable Closed status [ 12567737 ]|
|Workflow||Default workflow, editable Closed status [ 12567737 ]||jira [ 12590865 ]|