src/share/jaxws_classes/com/sun/tools/internal/ws/wscompile/AuthInfo.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this

@@ -26,10 +26,11 @@
 package com.sun.tools.internal.ws.wscompile;
 
 import com.sun.istack.internal.NotNull;
 
 import java.net.URL;
+import java.util.regex.Pattern;
 
 /**
  * Represents authorization information needed by {@link com.sun.tools.internal.ws.wscompile.DefaultAuthenticator} to
  * authenticate wsimport to access the wsdl.
  *

@@ -37,14 +38,15 @@
  */
 
 public final class AuthInfo {
     private final String user;
     private final String password;
-    private final URL url;
+    private final Pattern urlPattern;
 
-    public AuthInfo(@NotNull URL url, @NotNull String user, @NotNull String password){
-        this.url = url;
+    public AuthInfo(@NotNull URL url, @NotNull String user, @NotNull String password) {
+        String u = url.toExternalForm().replaceFirst("\\?", "\\\\?");
+        this.urlPattern = Pattern.compile(u.replace("*", ".*"), Pattern.CASE_INSENSITIVE);
         this.user = user;
         this.password = password;
     }
 
     public String getUser() {

@@ -57,9 +59,9 @@
 
     /**
      * Returns if the requesting host and port are associated with this {@link AuthInfo}
      */
     public boolean matchingHost(@NotNull URL requestingURL) {
-        return requestingURL.equals(url);
+        return urlPattern.matcher(requestingURL.toExternalForm()).matches();
     }
 
 }