[Yanel-commits] rev 43281 - public/yanel/trunk/src/core/java/org/wyona/yanel/core/source

guillaume at wyona.com guillaume at wyona.com
Tue Jun 23 14:33:31 CEST 2009


Author: guillaume
Date: 2009-06-23 14:33:30 +0200 (Tue, 23 Jun 2009)
New Revision: 43281

Modified:
   public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/ResourceResolver.java
Log:
Applied patch from Simon to allow passing empty parameter values to ResourceResolver.

Also :
 - fixed generics-related warnings
 - now using latest Log4J API for class logger

Issue: 7182


Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/ResourceResolver.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/ResourceResolver.java	2009-06-23 10:50:24 UTC (rev 43280)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/source/ResourceResolver.java	2009-06-23 12:33:30 UTC (rev 43281)
@@ -2,7 +2,7 @@
 
 import java.util.HashMap;
 
-import org.apache.log4j.Category;
+import org.apache.log4j.Logger;
 import org.wyona.yanel.core.Constants;
 import org.wyona.yanel.core.Path;
 import org.wyona.yanel.core.Resource;
@@ -31,7 +31,7 @@
  */
 public class ResourceResolver implements URIResolver {
 
-    private static Category log = Category.getInstance(ResourceResolver.class);
+    private static Logger log = Logger.getLogger(ResourceResolver.class);
     
     private static final String SCHEME = "yanelresource";
 
@@ -51,7 +51,7 @@
         }
         try {
             uri = uri.substring(prefix.length());
-            HashMap parameters = readParameters(uri);
+            HashMap<String, String> parameters = readParameters(uri);
             if (uri.indexOf("?")>-1) {
                 uri = uri.substring(0, uri.indexOf("?"));
             }
@@ -62,7 +62,7 @@
             targetResource.setParameters(parameters);
             
             // Check which if there is a view requested for the resource
-            String viewid = (String)parameters.get(Constants.Request.YANEL_RESOURCE_VIEWID);
+            String viewid = parameters.get(Constants.Request.YANEL_RESOURCE_VIEWID);
             
             if (ResourceAttributeHelper.hasAttributeImplemented(targetResource, "Viewable", "1")) {
                 String viewV1path = resource.getRealm().getMountPoint() + uri.substring(1);
@@ -88,8 +88,8 @@
         }
     }
     
-    protected HashMap readParameters(String uri) {
-        HashMap parameters = new HashMap();
+    protected HashMap<String, String> readParameters(String uri) {
+        HashMap<String, String> parameters = new HashMap<String, String>();
         int queryIndex = uri.indexOf("?"); 
         if (queryIndex > -1 && queryIndex < uri.length()) {
             String query = uri.substring(uri.indexOf("?") + 1);
@@ -97,8 +97,10 @@
             for (int i=0; i<paramPairs.length; i++) {
                 String[] tokens = paramPairs[i].split("=");
                 String name = tokens[0];
-                // TODO: accept empty value
-                String value = tokens[1];
+                String value = "";
+                if (tokens.length > 1) {
+                    value = tokens[1];
+                }
                 if (log.isDebugEnabled()) {
                     log.debug("adding parameter: name: " + name + " value: " + value);
                 }



More information about the Yanel-commits mailing list