Changeset 358

Show
Ignore:
Timestamp:
08/27/08 13:18:13 (4 months ago)
Author:
arneke
Message:

Vendorparameters were not being passed properly. This is a reminder to clean up the Request , WMSParameters, Parameters story.

Location:
trunk/geowebcache/src/main/java/org/geowebcache/service
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/geowebcache/src/main/java/org/geowebcache/service/Parameters.java

    r337 r358  
    134134    } 
    135135 
    136     /** 
    137      * Outputs an HTTP parameter string 
    138      */ 
    139     public StringBuffer getURLString(boolean prefixAmpersand) { 
    140         StringBuffer arg_str = new StringBuffer(256); 
    141         String param_name; 
    142  
    143         Iterator itr = params.keySet().iterator(); 
    144         while (itr.hasNext()) { 
    145             param_name = (String) itr.next(); 
    146             if (param_name != null && param_name.length() > 0) { 
    147                 if (arg_str.length() > 0) { 
    148                     arg_str.append('&'); 
    149                 } else { 
    150                     if (prefixAmpersand) { 
    151                         arg_str.append('&'); 
    152                     } 
    153                 } 
    154  
    155                 try { 
    156                     arg_str.append(URLEncoder.encode(param_name, CHARSET)); 
    157                     arg_str.append('='); 
    158                     arg_str.append(URLEncoder.encode( 
    159                             convertToString(get(param_name)), CHARSET)); 
    160  
    161                 } catch (UnsupportedEncodingException uee) { 
    162                     log.fatal("Unsupported URL Encoding: ", uee); 
    163                     return null; 
    164                 } catch (NullPointerException npe) { 
    165                     System.out.println("Missing value for parameter: " 
    166                             + param_name); 
    167                     log.error("Missing value for parameter: " + param_name); 
    168                 } 
    169             } 
    170         } 
    171         return arg_str; 
    172     } 
     136//    /** 
     137//     * Outputs an HTTP parameter string 
     138//     */ 
     139//    public StringBuffer getURLString(boolean prefixAmpersand) { 
     140//        StringBuffer arg_str = new StringBuffer(256); 
     141//        String param_name; 
     142// 
     143//        Iterator itr = params.keySet().iterator(); 
     144//        while (itr.hasNext()) { 
     145//            param_name = (String) itr.next(); 
     146//            if (param_name != null && param_name.length() > 0) { 
     147//                if (arg_str.length() > 0) { 
     148//                    arg_str.append('&'); 
     149//                } else { 
     150//                    if (prefixAmpersand) { 
     151//                        arg_str.append('&'); 
     152//                    } 
     153//                } 
     154// 
     155//                try { 
     156//                    arg_str.append(URLEncoder.encode(param_name, CHARSET)); 
     157//                    arg_str.append('='); 
     158//                    arg_str.append(URLEncoder.encode(convertToString(get(param_name)), CHARSET)); 
     159// 
     160//                } catch (UnsupportedEncodingException uee) { 
     161//                    log.fatal("Unsupported URL Encoding: ", uee); 
     162//                    return null; 
     163//                } catch (NullPointerException npe) { 
     164//                    System.out.println("Missing value for parameter: "+ param_name); 
     165//                    log.error("Missing value for parameter: " + param_name); 
     166//                } 
     167//            } 
     168//        } 
     169//        return arg_str; 
     170//    } 
    173171 
    174172    /** 
  • trunk/geowebcache/src/main/java/org/geowebcache/service/Request.java

    r337 r358  
    2323import org.apache.commons.logging.Log; 
    2424import org.apache.commons.logging.LogFactory; 
     25import org.geowebcache.service.wms.WMSParameters; 
    2526 
    2627public class Request { 
     
    3132    private URL server = null; 
    3233 
    33     private Parameters params = null; 
     34    private WMSParameters params = null; 
    3435 
    35     public Request(String server, Parameters params) { 
     36    public Request(String server, WMSParameters params) { 
    3637        this.setServer(server); 
    3738        // this.setParametersFromConfiguration(); 
     
    7172    } 
    7273 
    73     public void setParameters(Parameters params) { 
     74    public void setParameters(WMSParameters params) { 
    7475        this.params = params; 
    7576    } 
     
    8081            String serverAdr = server.toExternalForm(); 
    8182            if(serverAdr.charAt(serverAdr.length() - 1) != '?') {  
    82                 address = new URL( serverAdr +'?'+ params.getURLString(false)); 
     83                address = new URL( serverAdr +'?'+ params.getURLString()); 
    8384            } else { 
    84                 address = new URL( serverAdr + params.getURLString(false)); 
     85                address = new URL( serverAdr + params.getURLString()); 
    8586            } 
    8687             
  • trunk/geowebcache/src/main/java/org/geowebcache/service/wms/WMSParameters.java

    r348 r358  
    389389        String param_name; 
    390390 
     391        boolean prev = false; 
     392         
    391393        Iterator itr = super.params.keySet().iterator(); 
    392394        while (itr.hasNext()) { 
    393395            param_name = (String) itr.next(); 
    394396            if (param_name != null && param_name.length() > 0) { 
    395                 if (arg_str == null || arg_str.length() == 0) { 
    396                     arg_str.append('?'); 
    397                 } else { 
     397                if (prev) { 
    398398                    arg_str.append('&'); 
     399                    prev = false; 
    399400                } 
    400401 
     
    402403                    if (param_name.equalsIgnoreCase(VENDOR_PARAMS)) { 
    403404                        arg_str.append(get(VENDOR_PARAMS)); 
     405                        prev = true; 
    404406                    } else { 
    405407                        arg_str.append(URLEncoder.encode(param_name, CHARSET)); 
     
    407409                        arg_str.append(URLEncoder.encode( 
    408410                                convertToString(get(param_name)), CHARSET)); 
     411                        prev = true; 
    409412                    } 
    410413