Hi all,
The recent initiative on URI templates standardization [1], the potential
confusion between Java Regex and the support for URI templates added in beta
20, a close reading of the URI RFC [2] and the recent comments from Chris
Grindstaff and Yuri de Wit led me to fully rething the URI routing in the
framework.
Here are some conclusions that I have reached:
- resources are identified by a URI, not just the hierarchical path of a
URI
- valid URIs such as URNs should be easily routable, like HTTP URLs
- the query part of URIs should be easily routable, like the path part
- the fragment part of URIs shouldn't be routable, as defined by URI RFC,
section 6.1 [3]
- several query part formats are possible and should be supported
- the common one ("p1=v1&p1=v2&p2=v3") should have additional support (via
Reference.getQueryAsForm() method for example)
I'm planning to refactor this part of the framework for 1.0 RC1. I will add
a Route class (subclass of Scorer containing a list of variable description)
and a Variable class describing the type of template variable (regex to
match, etc).
Any thought?
Best regards,
Jerome
[1]
http://bitworking.org/projects/URI-Templates/draft-gregorio-uritemplate-00.h
tml
[2] http://www.gbiv.com/protocols/uri/rfc/rfc3986.html
[3] http://www.gbiv.com/protocols/uri/rfc/rfc3986.html#equivalence
[4] https://wadl.dev.java.net/wadl20061109.pdf