[43/50] guacamole-client git commit: GUACAMOLE-38: Put userInfo directly into configuration.
GUACAMOLE-38: Put userInfo directly into configuration. Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/84e71a02 Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/84e71a02 Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/84e71a02 Branch: refs/heads/staging/1.0.0 Commit: 84e71a029c9a664d4dafa9638511ff468525d115 Parents: aaada49 Author: Nick Couchman Authored: Thu May 17 19:58:12 2018 -0400 Committer: Nick Couchman Committed: Fri Jun 1 13:40:53 2018 -0400 -- .../auth/quickconnect/utility/QCParser.java | 37 .../auth/quickconnect/utility/QCParserTest.java | 37 +++- 2 files changed, 35 insertions(+), 39 deletions(-) -- http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/84e71a02/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java -- diff --git a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java index 2c0b6dc..60b4b9c 100644 --- a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java +++ b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java @@ -137,13 +137,7 @@ public class QCParser { if (userInfo != null && !userInfo.isEmpty()) { try { -Map userInfoParams = parseUserInfo(userInfo); - -if (userInfoParams.containsKey("username")) -qcConfig.setParameter("username", userInfoParams.get("username")); - -if (userInfoParams.containsKey("password")) -qcConfig.setParameter("password", userInfoParams.get("password")); +parseUserInfo(userInfo, qcConfig); } catch (UnsupportedEncodingException e) { throw new GuacamoleServerException("Unexpected lack of UTF-8 encoding support.", e); @@ -186,39 +180,38 @@ public class QCParser { /** * Parse the given string for username and password values, - * and return a map containing the username, password - * or both. + * and, if values are present, decode them and set them in + * the provided GuacamoleConfiguration object. * * @param userInfo * The string to parse for username/password values. - * - * @return - * A map with the username, password, or both. + * + * @param config + * The GuacamoleConfiguration object to store the username + * and password in. * * @throws UnsupportedEncodingException * If Java lacks UTF-8 support. */ -public static Map parseUserInfo(String userInfo) +public static void parseUserInfo(String userInfo, +GuacamoleConfiguration config) throws UnsupportedEncodingException { -Map userInfoMap = new HashMap(); Matcher userinfoMatcher = userinfoPattern.matcher(userInfo); if (userinfoMatcher.matches()) { -String username = URLDecoder.decode( -userinfoMatcher.group(USERNAME_GROUP), "UTF-8"); -String password = URLDecoder.decode( -userinfoMatcher.group(PASSWORD_GROUP), "UTF-8"); +String username = userinfoMatcher.group(USERNAME_GROUP); +String password = userinfoMatcher.group(PASSWORD_GROUP); if (username != null && !username.isEmpty()) -userInfoMap.put("username", username); +config.setParameter("username", +URLDecoder.decode(username, "UTF-8")); if (password != null && !password.isEmpty()) -userInfoMap.put("password", password); +config.setParameter("password", +URLDecoder.decode(password, "UTF-8")); } -return userInfoMap; - } /** http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/84e71a02/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java -- diff --git a/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java index d63a521..50ad7d6 100644 ---
[43/50] guacamole-client git commit: GUACAMOLE-38: Put userInfo directly into configuration.
GUACAMOLE-38: Put userInfo directly into configuration. Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/84e71a02 Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/84e71a02 Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/84e71a02 Branch: refs/heads/master Commit: 84e71a029c9a664d4dafa9638511ff468525d115 Parents: aaada49 Author: Nick Couchman Authored: Thu May 17 19:58:12 2018 -0400 Committer: Nick Couchman Committed: Fri Jun 1 13:40:53 2018 -0400 -- .../auth/quickconnect/utility/QCParser.java | 37 .../auth/quickconnect/utility/QCParserTest.java | 37 +++- 2 files changed, 35 insertions(+), 39 deletions(-) -- http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/84e71a02/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java -- diff --git a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java index 2c0b6dc..60b4b9c 100644 --- a/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java +++ b/extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/utility/QCParser.java @@ -137,13 +137,7 @@ public class QCParser { if (userInfo != null && !userInfo.isEmpty()) { try { -Map userInfoParams = parseUserInfo(userInfo); - -if (userInfoParams.containsKey("username")) -qcConfig.setParameter("username", userInfoParams.get("username")); - -if (userInfoParams.containsKey("password")) -qcConfig.setParameter("password", userInfoParams.get("password")); +parseUserInfo(userInfo, qcConfig); } catch (UnsupportedEncodingException e) { throw new GuacamoleServerException("Unexpected lack of UTF-8 encoding support.", e); @@ -186,39 +180,38 @@ public class QCParser { /** * Parse the given string for username and password values, - * and return a map containing the username, password - * or both. + * and, if values are present, decode them and set them in + * the provided GuacamoleConfiguration object. * * @param userInfo * The string to parse for username/password values. - * - * @return - * A map with the username, password, or both. + * + * @param config + * The GuacamoleConfiguration object to store the username + * and password in. * * @throws UnsupportedEncodingException * If Java lacks UTF-8 support. */ -public static Map parseUserInfo(String userInfo) +public static void parseUserInfo(String userInfo, +GuacamoleConfiguration config) throws UnsupportedEncodingException { -Map userInfoMap = new HashMap(); Matcher userinfoMatcher = userinfoPattern.matcher(userInfo); if (userinfoMatcher.matches()) { -String username = URLDecoder.decode( -userinfoMatcher.group(USERNAME_GROUP), "UTF-8"); -String password = URLDecoder.decode( -userinfoMatcher.group(PASSWORD_GROUP), "UTF-8"); +String username = userinfoMatcher.group(USERNAME_GROUP); +String password = userinfoMatcher.group(PASSWORD_GROUP); if (username != null && !username.isEmpty()) -userInfoMap.put("username", username); +config.setParameter("username", +URLDecoder.decode(username, "UTF-8")); if (password != null && !password.isEmpty()) -userInfoMap.put("password", password); +config.setParameter("password", +URLDecoder.decode(password, "UTF-8")); } -return userInfoMap; - } /** http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/84e71a02/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java -- diff --git a/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java b/extensions/guacamole-auth-quickconnect/src/test/java/org/apache/guacamole/auth/quickconnect/utility/QCParserTest.java index d63a521..50ad7d6 100644 ---