You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by ca...@apache.org on 2008/06/20 20:25:37 UTC
svn commit: r670021 -
/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java
Author: calavera
Date: Fri Jun 20 11:25:36 2008
New Revision: 670021
URL: http://svn.apache.org/viewvc?rev=670021&view=rev
Log:
RouteManager envolves the routes and targetTypes into a class, it eliminates target map.
Thanks to Ed Ruder
Modified:
incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java
Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java?rev=670021&r1=670020&r2=670021&view=diff
==============================================================================
--- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java (original)
+++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java Fri Jun 20 11:25:36 2008
@@ -22,7 +22,6 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Collection;
import org.apache.abdera.i18n.templates.CachingContext;
import org.apache.abdera.i18n.templates.Context;
@@ -58,12 +57,19 @@
implements Resolver<Target>,
TargetBuilder {
- protected Collection<Route> orderedTargets =
- new ArrayList<Route>();
-
- protected Map<Route,TargetType> targets =
- new HashMap<Route,TargetType>();
-
+ protected class RouteTargetType {
+ protected Route route;
+ protected TargetType targetType;
+
+ RouteTargetType(Route route, TargetType targetType) {
+ this.route = route;
+ this.targetType = targetType;
+ }
+ }
+
+ protected List<RouteTargetType> targets =
+ new ArrayList<RouteTargetType>();
+
protected Map<String,Route> routes =
new HashMap<String,Route>();
@@ -88,10 +94,8 @@
Route route,
TargetType type) {
routes.put(route.getName(), route);
- if (type != null) {
- targets.put(route, type);
- orderedTargets.add(route);
- }
+ if (type != null)
+ targets.add(new RouteTargetType(route, type));
return this;
}
@@ -124,13 +128,13 @@
if (idx != -1) {
uri = uri.substring(0, idx);
}
- for (Route route : orderedTargets) {
- if (route.match(uri)) {
- CollectionAdapter ca = route2CA.get(route);
+ for(RouteTargetType target : targets) {
+ if (target.route.match(uri)) {
+ CollectionAdapter ca = route2CA.get(target.route);
if (ca != null) {
context.setAttribute(DefaultWorkspaceManager.COLLECTION_ADAPTER_ATTRIBUTE, ca);
}
- return getTarget(context, route, uri, targets.get(route));
+ return getTarget(context, target.route, uri, target.targetType);
}
}
return null;
Re: svn commit: r670021 - /incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java
Posted by Garrett Rooney <ro...@electricjellyfish.net>.
On Fri, Jun 20, 2008 at 2:25 PM, <ca...@apache.org> wrote:
> Author: calavera
> Date: Fri Jun 20 11:25:36 2008
> New Revision: 670021
>
> URL: http://svn.apache.org/viewvc?rev=670021&view=rev
> Log:
> RouteManager envolves the routes and targetTypes into a class, it eliminates target map.
> Thanks to Ed Ruder
>
> Modified:
> incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java
>
> Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java
> URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java?rev=670021&r1=670020&r2=670021&view=diff
> ==============================================================================
> --- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java (original)
> +++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/RouteManager.java Fri Jun 20 11:25:36 2008
> @@ -22,7 +22,6 @@
> import java.util.Iterator;
> import java.util.List;
> import java.util.Map;
> -import java.util.Collection;
>
> import org.apache.abdera.i18n.templates.CachingContext;
> import org.apache.abdera.i18n.templates.Context;
> @@ -58,12 +57,19 @@
> implements Resolver<Target>,
> TargetBuilder {
>
> - protected Collection<Route> orderedTargets =
> - new ArrayList<Route>();
> -
> - protected Map<Route,TargetType> targets =
> - new HashMap<Route,TargetType>();
> -
> + protected class RouteTargetType {
> + protected Route route;
> + protected TargetType targetType;
> +
> + RouteTargetType(Route route, TargetType targetType) {
> + this.route = route;
> + this.targetType = targetType;
> + }
> + }
> +
> + protected List<RouteTargetType> targets =
> + new ArrayList<RouteTargetType>();
> +
> protected Map<String,Route> routes =
> new HashMap<String,Route>();
>
> @@ -88,10 +94,8 @@
> Route route,
> TargetType type) {
> routes.put(route.getName(), route);
> - if (type != null) {
> - targets.put(route, type);
> - orderedTargets.add(route);
> - }
> + if (type != null)
> + targets.add(new RouteTargetType(route, type));
> return this;
> }
>
> @@ -124,13 +128,13 @@
> if (idx != -1) {
> uri = uri.substring(0, idx);
> }
> - for (Route route : orderedTargets) {
> - if (route.match(uri)) {
> - CollectionAdapter ca = route2CA.get(route);
> + for(RouteTargetType target : targets) {
Should try and be consistent about the formatting here. This drops
the space between the for and the paren.
-garrett