private static String getUsername(FileURL url) { Credentials credentials = url.getCredentials(); String username; if (credentials == null || (username = credentials.getLogin()).equals("")) username = getDefaultUsername(); return username; }
/** * Ensure that non URL-safe characters in login and password parts are properly handled, both when * parsing and representing URLs as string. * * @throws MalformedURLException should not happen */ @Test public void testCredentialsURLEncoding() throws MalformedURLException { FileURL url = getRootURL(); String urlDecodedString = ":@&=+$,/?t%#[]"; String urlEncodedString = "%3A%40%26%3D%2B%24%2C%2F%3Ft%25%23%5B%5D"; url.setCredentials(new Credentials(urlDecodedString, urlDecodedString)); String urlRep = url.getScheme() + "://" + urlEncodedString + ":" + urlEncodedString + "@"; assert urlRep.equals(url.toString(true, false)); url = FileURL.getFileURL(urlRep); Credentials credentials = url.getCredentials(); assert credentials.getLogin().equals(urlDecodedString); assert credentials.getPassword().equals(urlDecodedString); }