Wednesday, 21 November
2007
Wed, 21 Nov
'07
3:51 a.m.
Author: heiko.braun(a)jboss.com
Date: 2007-11-21 04:51:42 -0500 (Wed, 21 Nov 2007)
New Revision: 5090
Modified:
stack/native/branches/rest/src/main/java/org/jboss/rs/model/RegexQualifier.java
stack/native/branches/rest/src/main/java/org/jboss/rs/model/StatefulResourceResolver.java
Log:
qualifier.marksEnd()
Modified: stack/native/branches/rest/src/main/java/org/jboss/rs/model/RegexQualifier.java
===================================================================
---
stack/native/branches/rest/src/main/java/org/jboss/rs/model/RegexQualifier.java 2007-11-20
20:51:27 UTC (rev 5089)
+++
stack/native/branches/rest/src/main/java/org/jboss/rs/model/RegexQualifier.java 2007-11-21
09:51:42 UTC (rev 5090)
@@ -68,6 +68,11 @@
}
+ public boolean marksEnd()
+ {
+ return ("".equals(nextUriToken) || "/".equals(nextUriToken));
+ }
+
public String toString()
{
return "RegexQualifier{groups="+ numGroups +",
patternLength="+patternLength+"}";
Modified:
stack/native/branches/rest/src/main/java/org/jboss/rs/model/StatefulResourceResolver.java
===================================================================
---
stack/native/branches/rest/src/main/java/org/jboss/rs/model/StatefulResourceResolver.java 2007-11-20
20:51:27 UTC (rev 5089)
+++
stack/native/branches/rest/src/main/java/org/jboss/rs/model/StatefulResourceResolver.java 2007-11-21
09:51:42 UTC (rev 5090)
@@ -120,7 +120,7 @@
String nextUriToken = dfsEntry.qualifier.nextUriToken;
// resource and subresource methods first
- resourceMethod = resolveResourceMethod(dfsEntry, nextUriToken);
+ resourceMethod = resolveResourceMethod(dfsEntry);
// root didn't match, so recurse locators to find a resource
if(resourceMethod!=null)
@@ -150,7 +150,7 @@
ResourceLocator bridge = locators.next();
RegexQualifier qualifier = bridge.resolve(uriToken);
- if(qualifier!=null && ! ("".equals(qualifier.nextUriToken) ||
"/".equals(qualifier.nextUriToken)))
+ if(qualifier!=null && ! qualifier.marksEnd() )
{
// a subresource method is the target
weightedResults.add( new ResourceMatch<ResourceModel>( bridge.field(),
qualifier) );
@@ -188,13 +188,14 @@
locatorWorkingPath.put(loc, workingPath);
}
- private ResourceMethod resolveResourceMethod(ResourceMatch<ResourceModel>
methodTarget, String uriToken)
+ private ResourceMethod resolveResourceMethod(ResourceMatch<ResourceModel>
methodTarget)
throws NoMethodException
{
ResourceMethod match = null;
List<ResourceMatch<ResourceMethod>> matches = new
ArrayList<ResourceMatch<ResourceMethod>>();
+ String uriToken = methodTarget.qualifier.nextUriToken;
- if("".equals(uriToken) || "/".equals(uriToken)) // resources
methods
+ if( methodTarget.qualifier.marksEnd() ) // resources methods
{
// use any available resource method for further mathing by mimetype, etc
for(ResourceMethod resourceMethod : methodTarget.model.getResourceMethods())
@@ -212,7 +213,7 @@
{
ResourceMethod method = it.next();
RegexQualifier qualifier = method.resolve(uriToken);
- if(qualifier!=null && ("".equals(qualifier.nextUriToken) ||
"/".equals(qualifier.nextUriToken)))
+ if(qualifier!=null && qualifier.marksEnd() )
{
matches.add(
new ResourceMatch<ResourceMethod>(method, qualifier)
Show replies by date