From 9159df5ee472ff210afd2147027c38e56a8331fe Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 26 Feb 2015 23:32:27 -0800 Subject: [PATCH] GUAC-1101: Add parameters upon insertion of new connection. --- .../auth/mysql/service/ConnectionService.java | 57 +++++++++++++++---- .../mysql/service/DirectoryObjectService.java | 10 +++- 2 files changed, 53 insertions(+), 14 deletions(-) diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/ConnectionService.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/ConnectionService.java index 91879ca08..f4c1515f6 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/ConnectionService.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/ConnectionService.java @@ -163,16 +163,22 @@ public class ConnectionService extends DirectoryObjectService getParameterModels(MySQLConnection connection) { - // Update connection - super.updateObject(user, object); - - // Get identifier and connection parameters - String identifier = object.getIdentifier(); - Map parameters = object.getConfiguration().getParameters(); + Map parameters = connection.getConfiguration().getParameters(); // Convert parameters to model objects Collection parameterModels = new ArrayList(parameters.size()); @@ -188,7 +194,7 @@ public class ConnectionService extends DirectoryObjectService parameterModels = getParameterModels(connection); + if (!parameterModels.isEmpty()) + parameterMapper.insert(parameterModels); + + return connection; + + } + + @Override + public void updateObject(AuthenticatedUser user, MySQLConnection object) + throws GuacamoleException { + + // Update connection + super.updateObject(user, object); + // Replace existing parameters with new parameters - parameterMapper.delete(identifier); + Collection parameterModels = getParameterModels(object); + parameterMapper.delete(object.getIdentifier()); parameterMapper.insert(parameterModels); } diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/DirectoryObjectService.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/DirectoryObjectService.java index 59def80dc..ae251390c 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/DirectoryObjectService.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/service/DirectoryObjectService.java @@ -327,11 +327,14 @@ public abstract class DirectoryObjectService