diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/ModeledDirectoryObjectService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/ModeledDirectoryObjectService.java index b5cb2822f..034784310 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/ModeledDirectoryObjectService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/ModeledDirectoryObjectService.java @@ -32,6 +32,7 @@ import org.glyptodon.guacamole.GuacamoleSecurityException; import org.glyptodon.guacamole.auth.jdbc.permission.ObjectPermissionMapper; import org.glyptodon.guacamole.auth.jdbc.permission.ObjectPermissionModel; import org.glyptodon.guacamole.auth.jdbc.user.UserModel; +import org.glyptodon.guacamole.net.auth.Identifiable; import org.glyptodon.guacamole.net.auth.permission.ObjectPermission; import org.glyptodon.guacamole.net.auth.permission.ObjectPermissionSet; @@ -54,7 +55,7 @@ import org.glyptodon.guacamole.net.auth.permission.ObjectPermissionSet; * database. */ public abstract class ModeledDirectoryObjectService, - ExternalType, ModelType extends ObjectModel> + ExternalType extends Identifiable, ModelType extends ObjectModel> implements DirectoryObjectService { /** @@ -384,6 +385,9 @@ public abstract class ModeledDirectoryObjectService, - ExternalType, ModelType extends GroupedObjectModel> + ExternalType extends Identifiable, ModelType extends GroupedObjectModel> extends ModeledDirectoryObjectService { /** diff --git a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/Directory.java b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/Directory.java index 4dbb60ce9..958a9ad5e 100644 --- a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/Directory.java +++ b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/Directory.java @@ -28,16 +28,15 @@ import org.glyptodon.guacamole.GuacamoleException; /** * Provides access to a collection of all objects with associated identifiers, - * and allows user manipulation and removal. Objects stored within a - * Directory are not necessarily returned to the use as references to - * the stored objects, thus updating an object requires calling an update - * function. + * and allows user manipulation and removal. Objects returned by a Directory + * are not necessarily backed by the stored objects, thus updating an object + * always requires calling the update() function. * * @author Michael Jumper * @param * The type of objects stored within this Directory. */ -public interface Directory { +public interface Directory { /** * Returns the object having the given identifier. Note that changes to @@ -91,12 +90,16 @@ public interface Directory { Set getIdentifiers() throws GuacamoleException; /** - * Adds the given object to the overall set. + * Adds the given object to the overall set. If a new identifier is + * created for the added object, that identifier will be automatically + * assigned via setIdentifier(). * - * @param object The object to add. + * @param object + * The object to add. * - * @throws GuacamoleException If an error occurs while adding the object , or - * if adding the object is not allowed. + * @throws GuacamoleException + * If an error occurs while adding the object, or if adding the object + * is not allowed. */ void add(ObjectType object) throws GuacamoleException; diff --git a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/simple/SimpleDirectory.java b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/simple/SimpleDirectory.java index cf207785e..f688350ba 100644 --- a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/simple/SimpleDirectory.java +++ b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/simple/SimpleDirectory.java @@ -30,6 +30,7 @@ import java.util.Set; import org.glyptodon.guacamole.GuacamoleException; import org.glyptodon.guacamole.GuacamoleSecurityException; import org.glyptodon.guacamole.net.auth.Directory; +import org.glyptodon.guacamole.net.auth.Identifiable; /** * An extremely simple read-only implementation of a Directory which provides @@ -40,7 +41,8 @@ import org.glyptodon.guacamole.net.auth.Directory; * @param * The type of objects stored within this SimpleDirectory. */ -public class SimpleDirectory implements Directory { +public class SimpleDirectory + implements Directory { /** * The Map of objects to provide access to. diff --git a/guacamole/src/main/webapp/app/rest/services/connectionGroupService.js b/guacamole/src/main/webapp/app/rest/services/connectionGroupService.js index 1d48c160d..f157e7590 100644 --- a/guacamole/src/main/webapp/app/rest/services/connectionGroupService.js +++ b/guacamole/src/main/webapp/app/rest/services/connectionGroupService.js @@ -145,8 +145,8 @@ angular.module('rest').factory('connectionGroupService', ['$injector', }) // Set the identifier on the new connection group and clear the cache - .success(function connectionGroupCreated(identifier){ - connectionGroup.identifier = identifier; + .success(function connectionGroupCreated(newConnectionGroup){ + connectionGroup.identifier = newConnectionGroup.identifier; cacheService.connections.removeAll(); }); } diff --git a/guacamole/src/main/webapp/app/rest/services/connectionService.js b/guacamole/src/main/webapp/app/rest/services/connectionService.js index cbf40eb81..aa12639e3 100644 --- a/guacamole/src/main/webapp/app/rest/services/connectionService.js +++ b/guacamole/src/main/webapp/app/rest/services/connectionService.js @@ -152,8 +152,8 @@ angular.module('rest').factory('connectionService', ['$injector', }) // Set the identifier on the new connection and clear the cache - .success(function connectionCreated(identifier){ - connection.identifier = identifier; + .success(function connectionCreated(newConnection){ + connection.identifier = newConnection.identifier; cacheService.connections.removeAll(); }); }