abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ed_ruder <eru...@hi5.com>
Subject Re: Route matching too liberal?
Date Thu, 19 Jun 2008 19:32:35 GMT

James,

Sure.

I've downloaded the Abdera source (as of yesterday), but "mvn install"
doesn't build successfully--it fails running tests for "Abdera Server". Is
this a known problem? Building using "ant -f build/build.xml" succeeds. "ant
f build/build.xml test" says it succeeds, but several tests fail (throwing
exceptions). It would be nice to be able to count on the tests, not to
mention be able to add some of my own for this change.

Maybe there's something I've not set up correctly?

Ed

P.S. I ran "mvn clean" then "mvn -fae install" and this was the summary:

[INFO]
------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
------------------------------------------------------------------------
[INFO] Apache Abdera ......................................... SUCCESS
[4.413s]
[INFO] I18N Libraries ........................................ SUCCESS
[3.467s]
[INFO] Abdera Core ........................................... SUCCESS
[1.264s]
[INFO] Abdera Parser ......................................... SUCCESS
[6.538s]
[INFO] Abdera Client ......................................... SUCCESS
[1.832s]
[INFO] Abdera Server ......................................... FAILED
[2.590s]
[INFO] Abdera Spring Integration ............................. SKIPPED
(dependency build failed or was skipped)
[INFO] Abdera Adapters ....................................... SKIPPED
(dependency build failed or was skipped)
[INFO] Abdera JCR Adapter .................................... SKIPPED
(dependency build failed or was skipped)
[INFO] Abdera CouchDB Adapter ................................ SKIPPED
(dependency build failed or was skipped)
[INFO] Abdera Filesystem Adapter ............................. SKIPPED
(dependency build failed or was skipped)
[INFO] Abdera JDBC Adapter ................................... SKIPPED
(dependency build failed or was skipped)
[INFO] Abdera Security ....................................... SKIPPED
(dependency build failed or was skipped)
[INFO] Abdera Extensions - GData ............................. SUCCESS
[0.648s]
[INFO] Abdera Extensions - Geo ............................... SUCCESS
[0.514s]
[INFO] Abdera Extensions - HTML .............................. SUCCESS
[0.522s]
[INFO] Abdera Extensions - Main .............................. SUCCESS
[1.130s]
[INFO] Abdera Extensions - JSON .............................. SKIPPED
(dependency build failed or was skipped)
[INFO] Abdera Extensions - Media ............................. SUCCESS
[1.770s]
[INFO] Abdera Extensions - OAuth ............................. SUCCESS
[1.205s]
[INFO] Abdera Extensions - OpenSearch ........................ SUCCESS
[0.978s]
[INFO] Abdera Extensions - Serializer ........................ SKIPPED
(dependency build failed or was skipped)
[INFO] Abdera Extensions - Sharing ........................... SUCCESS
[1.254s]
[INFO] Abdera Extensions - WSSE .............................. SUCCESS
[0.733s]
[INFO] Abdera Bundle Jar ..................................... SKIPPED
(dependency build failed or was skipped)
[INFO] Abdera Extensions - Features .......................... FAILED
[1.017s]
[INFO] Abdera Extensions ..................................... SUCCESS
[0.031s]
[INFO] Abdera Examples ....................................... SKIPPED
(dependency build failed or was skipped)
[INFO]
------------------------------------------------------------------------
[INFO] Error for project: Abdera Server (during install)
[INFO]
------------------------------------------------------------------------
[INFO] There are test failures.

Please refer to /Users/edruder/Dev/hi5/abdera/server/target/surefire-reports
for the individual test results.
[INFO]
------------------------------------------------------------------------
[INFO] Error for project: Abdera Extensions - Features (during install)
[INFO]
------------------------------------------------------------------------
[INFO] There are test failures.



James M Snell wrote:
> 
> Works for me. Would you be interested in writing up a patch and 
> submitting it to jira?  If not, I could work up the change but it may 
> take a few days longer as I'm trying disparately to get caught up on 
> some day job stuff.
> 
> - James
> 
> ed_ruder wrote:
>> James,
>> 
>> I'm not very familiar with Abdera, but I have browsed the source a bit
>> after
>> hitting the same limitation that Jim reported, while working on Shindig.
>> I
>> *think* that a simple change in RouteManager could alleviate some (and
>> for
>> me, I think, all) of the limitation.
>> 
>> When resolving a route, Rails walks through its routes in the order that
>> they are defined. RouteManager walks through the targets.entrySet, which
>> is
>> unordered. If RouteManager kept a targets List<> instead of a targets
>> Map<>,
>> it could walk through the routes in order. (There would need to be a new
>> class defined, to hold both the Route and TargetType, but it would be
>> very
>> simple.)
>> 
>> To work around the limitation Jim describes, a client would define a
>> /base/:collection/:entry route before the /base/:collection route.
>> 
>> WDYT?
>> 
>> Ed
>> 
>> 
>> James M Snell wrote:
>>> Ruby matching can span segments if a default value for the missing 
>>> variables is provided.  We, however, don't have default values for our 
>>> variables.  It would make sense for us to tighten up the matching rules.
>>>
>>> - James
>>>
>>> Jim Ancona wrote:
>>>> I have run into some problems with my Routes matching unexpectedly. 
>>>> Before filing a bug, I thought I'd ask for feedback on whether the 
>>>> current behavior is correct.
>>>>
>>>> The current algorithm attempts to match the non-variable parts of the 
>>>> pattern, setting the variable to whatever is in between.
>>>>
>>>> So the pattern "/base/:collection/" matches both "/base/test/" and 
>>>> "/base/test/123/". In the second case, the value of the collection 
>>>> variable is "test/123". In my opinion, not allowing matches to span URI 
>>>> segments would be less prone to unintuitive results.
>>>>
>>>> FWIW, a quick glance at some docs on Ruby Routes seems to indicate that 
>>>> they do not span URI path segments.
>>>>
>>>> Thoughts?
>>>>
>>>> Jim
>>>>
>>>
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Route-matching-too-liberal--tp15348853p18016416.html
Sent from the abdera-dev mailing list archive at Nabble.com.


Mime
View raw message