From 5e5c36f5679bcdcaeddb048691a5e6a5791ceae1 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Wed, 24 Dec 2014 22:59:05 -0800 Subject: [PATCH] GUAC-932: Update connection location upon save. --- .../basic/rest/connection/ConnectionRESTService.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/ConnectionRESTService.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/ConnectionRESTService.java index 95efdd54b..25ff2f5f6 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/ConnectionRESTService.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/ConnectionRESTService.java @@ -250,7 +250,7 @@ public class ConnectionRESTService { ConnectionGroup rootGroup = userContext.getRootConnectionGroup(); // Use root group if identifier is null (or the standard root identifier) - if (identifier == null || identifier.equals(APIConnectionGroup.ROOT_IDENTIFIER)) + if (identifier != null && identifier.equals(APIConnectionGroup.ROOT_IDENTIFIER)) return rootGroup; // Pull specified connection group otherwise @@ -340,12 +340,12 @@ public class ConnectionRESTService { Directory connectionDirectory = rootGroup.getConnectionDirectory(); - // Make sure the connection is there before trying to update + // Retrieve connection to update Connection existingConnection = connectionDirectory.get(connectionID); if (existingConnection == null) throw new GuacamoleResourceNotFoundException("No such connection: \"" + connectionID + "\""); - // Retrieve connection configuration + // Build updated configuration GuacamoleConfiguration config = new GuacamoleConfiguration(); config.setProtocol(connection.getProtocol()); config.setParameters(connection.getParameters()); @@ -355,6 +355,10 @@ public class ConnectionRESTService { existingConnection.setName(connection.getName()); connectionDirectory.update(existingConnection); + // Update connection parent + ConnectionGroup updatedParentGroup = retrieveConnectionGroup(userContext, connection.getParentIdentifier()); + connectionDirectory.move(connectionID, updatedParentGroup.getConnectionDirectory()); + } }