From 3a91dfbb68cfe23753bf710b2e840176986ebb2b Mon Sep 17 00:00:00 2001 From: James Muehlner Date: Sun, 2 Mar 2014 22:38:19 -0800 Subject: [PATCH] Ticket #362: Added parentID property for connection and group. --- .../net/auth/mysql/MySQLConnection.java | 5 ++-- .../net/auth/mysql/MySQLConnectionGroup.java | 8 ++++--- .../net/auth/AbstractConnection.java | 16 +++++++++++++ .../net/auth/AbstractConnectionGroup.java | 16 +++++++++++++ .../guacamole/net/auth/Connection.java | 20 +++++++++++++++- .../guacamole/net/auth/ConnectionGroup.java | 20 +++++++++++++++- .../basic/rest/connection/APIConnection.java | 23 +++++++++++++++++++ .../rest/connection/APIConnectionWrapper.java | 10 ++++++++ .../connectiongroup/APIConnectionGroup.java | 22 ++++++++++++++++++ .../APIConnectionGroupWrapper.java | 10 ++++++++ 10 files changed, 143 insertions(+), 7 deletions(-) diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConnection.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConnection.java index 3b3f1ce8b..66879cf4a 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConnection.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConnection.java @@ -99,10 +99,11 @@ public class MySQLConnection extends AbstractConnection { /** * Sets the ID of the parent connection group for this connection. - * @param connectionID The ID of the parent connection group for this connection. + * @param parentID The ID of the parent connection group for this connection. */ public void setParentID(Integer parentID) { this.parentID = parentID; + this.setParentIdentifier(String.valueOf(parentID)); } /** @@ -120,7 +121,7 @@ public class MySQLConnection extends AbstractConnection { List history, int userID) { this.connectionID = connectionID; - this.parentID = parentID; + this.setParentID(parentID); setName(name); setIdentifier(identifier); setConfiguration(config); diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConnectionGroup.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConnectionGroup.java index 22853ba48..aabd40ab3 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConnectionGroup.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConnectionGroup.java @@ -104,7 +104,7 @@ public class MySQLConnectionGroup extends AbstractConnectionGroup { /** * Sets the ID of the corresponding connection group record. - * @param connectionID The ID to assign to this connection group. + * @param connectionGroupID The ID to assign to this connection group. */ public void setConnectionID(Integer connectionGroupID) { this.connectionGroupID = connectionGroupID; @@ -120,10 +120,11 @@ public class MySQLConnectionGroup extends AbstractConnectionGroup { /** * Sets the ID of the parent connection group for this connection group. - * @param connectionID The ID of the parent connection group for this connection group. + * @param parentID The ID of the parent connection group for this connection group. */ public void setParentID(Integer parentID) { this.parentID = parentID; + this.setParentIdentifier(String.valueOf(parentID)); } /** @@ -131,6 +132,7 @@ public class MySQLConnectionGroup extends AbstractConnectionGroup { * * @param connectionGroupID The ID of the associated database record, if any. * @param parentID The ID of the parent connection group for this connection group, if any. + * @param name The name of this connection group. * @param identifier The unique identifier associated with this connection group. * @param type The type of this connection group. * @param userID The IID of the user who queried this connection. @@ -138,7 +140,7 @@ public class MySQLConnectionGroup extends AbstractConnectionGroup { public void init(Integer connectionGroupID, Integer parentID, String name, String identifier, ConnectionGroup.Type type, int userID) { this.connectionGroupID = connectionGroupID; - this.parentID = parentID; + this.setParentID(parentID); setName(name); setIdentifier(identifier); setType(type); diff --git a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/AbstractConnection.java b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/AbstractConnection.java index d8a34a2c1..5cf08e855 100644 --- a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/AbstractConnection.java +++ b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/AbstractConnection.java @@ -41,6 +41,12 @@ public abstract class AbstractConnection implements Connection { */ private String identifier; + /** + * The unique identifier of the parent ConnectionGroup for + * this Connection. + */ + private String parentIdentifier; + /** * The GuacamoleConfiguration associated with this connection. */ @@ -66,6 +72,16 @@ public abstract class AbstractConnection implements Connection { this.identifier = identifier; } + @Override + public String getParentIdentifier() { + return parentIdentifier; + } + + @Override + public void setParentIdentifier(String parentIdentifier) { + this.parentIdentifier = parentIdentifier; + } + @Override public GuacamoleConfiguration getConfiguration() { return configuration; diff --git a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/AbstractConnectionGroup.java b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/AbstractConnectionGroup.java index 1ba70a58c..0719394ca 100644 --- a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/AbstractConnectionGroup.java +++ b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/AbstractConnectionGroup.java @@ -38,6 +38,12 @@ public abstract class AbstractConnectionGroup implements ConnectionGroup { * The unique identifier associated with this connection group. */ private String identifier; + + /** + * The unique identifier of the parent connection group for + * this connection group. + */ + private String parentIdentifier; /** * The type of this connection group. @@ -63,6 +69,16 @@ public abstract class AbstractConnectionGroup implements ConnectionGroup { public void setIdentifier(String identifier) { this.identifier = identifier; } + + @Override + public String getParentIdentifier() { + return parentIdentifier; + } + + @Override + public void setParentIdentifier(String parentIdentifier) { + this.parentIdentifier = parentIdentifier; + } @Override public ConnectionGroup.Type getType() { diff --git a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/Connection.java b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/Connection.java index bf17cc9f4..6bf36bec6 100644 --- a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/Connection.java +++ b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/Connection.java @@ -47,7 +47,7 @@ public interface Connection { /** * Sets the name assigned to this Connection. * - * @param identifier The name to assign. + * @param name The name to assign. */ public void setName(String name); @@ -64,6 +64,24 @@ public interface Connection { */ public void setIdentifier(String identifier); + /** + * Returns the unique identifier of the parent ConnectionGroup for + * this Connection. + * + * @return The unique identifier of the parent ConnectionGroup for + * this Connection. + */ + public String getParentIdentifier(); + + /** + * Sets the unique identifier of the parent ConnectionGroup for + * this Connection. + * + * @param parentIdentifier The unique identifier of the parent + * ConnectionGroup for this Connection. + */ + public void setParentIdentifier(String parentIdentifier); + /** * Returns the GuacamoleConfiguration associated with this Connection. Note * that because configurations may contain sensitive information, some data diff --git a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/ConnectionGroup.java b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/ConnectionGroup.java index 4279e43d0..b5da32b68 100644 --- a/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/ConnectionGroup.java +++ b/guacamole-ext/src/main/java/org/glyptodon/guacamole/net/auth/ConnectionGroup.java @@ -47,7 +47,7 @@ public interface ConnectionGroup { /** * Sets the name assigned to this ConnectionGroup. * - * @param identifier The name to assign. + * @param name The name to assign. */ public void setName(String name); @@ -63,6 +63,24 @@ public interface ConnectionGroup { * @param identifier The identifier to assign. */ public void setIdentifier(String identifier); + + /** + * Returns the unique identifier of the parent ConnectionGroup for + * this ConnectionGroup. + * + * @return The unique identifier of the parent ConnectionGroup for + * this ConnectionGroup. + */ + public String getParentIdentifier(); + + /** + * Sets the unique identifier of the parent ConnectionGroup for + * this ConnectionGroup. + * + * @param parentIdentifier The unique identifier of the parent + * ConnectionGroup for this ConnectionGroup. + */ + public void setParentIdentifier(String parentIdentifier); /** * Set the type of this ConnectionGroup. diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/APIConnection.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/APIConnection.java index dc5348d42..4b49a877b 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/APIConnection.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/APIConnection.java @@ -46,6 +46,11 @@ public class APIConnection { */ private String identifier; + /** + * The identifier of the parent connection group for this connection. + */ + private String parentIdentifier; + /** * The history records associated with this connection. */ @@ -71,6 +76,7 @@ public class APIConnection { throws GuacamoleException { this.name = connection.getName(); this.identifier = connection.getIdentifier(); + this.parentIdentifier = connection.getParentIdentifier(); this.history = connection.getHistory(); } @@ -99,10 +105,27 @@ public class APIConnection { } /** * Sets the unique identifier for this connection. + * @param identifier The unique identifier for this connection. */ public void setIdentifier(String identifier) { this.identifier = identifier; } + + /** + * Returns the unique identifier for this connection. + * @return The unique identifier for this connection. + */ + public String getParentIdentifier() { + return parentIdentifier; + } + /** + * Sets the parent connection group identifier for this connection. + * @param parentIdentifier The parent connection group identifier + * for this connection. + */ + public void setParentIdentifier(String parentIdentifier) { + this.parentIdentifier = parentIdentifier; + } /** * Returns the history records associated with this connection. diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/APIConnectionWrapper.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/APIConnectionWrapper.java index bd87b9759..68eb4eb98 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/APIConnectionWrapper.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connection/APIConnectionWrapper.java @@ -66,6 +66,16 @@ public class APIConnectionWrapper implements Connection { apiConnection.setIdentifier(identifier); } + @Override + public String getParentIdentifier() { + return apiConnection.getParentIdentifier(); + } + + @Override + public void setParentIdentifier(String parentIdentifier) { + apiConnection.setParentIdentifier(parentIdentifier); + } + @Override public GuacamoleConfiguration getConfiguration() { diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connectiongroup/APIConnectionGroup.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connectiongroup/APIConnectionGroup.java index 4bdc01caf..bc254538e 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connectiongroup/APIConnectionGroup.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connectiongroup/APIConnectionGroup.java @@ -42,6 +42,11 @@ public class APIConnectionGroup { */ private String identifier; + /** + * The identifier of the parent connection group for this connection group. + */ + private String parentIdentifier; + /** * The type of this connection group. */ @@ -60,6 +65,7 @@ public class APIConnectionGroup { */ public APIConnectionGroup(ConnectionGroup connectionGroup) { this.identifier = connectionGroup.getIdentifier(); + this.parentIdentifier = connectionGroup.getParentIdentifier(); this.name = connectionGroup.getName(); this.type = connectionGroup.getType(); } @@ -95,6 +101,22 @@ public class APIConnectionGroup { public void setIdentifier(String identifier) { this.identifier = identifier; } + + /** + * Returns the unique identifier for this connection group. + * @return The unique identifier for this connection group. + */ + public String getParentIdentifier() { + return parentIdentifier; + } + /** + * Sets the parent connection group identifier for this connection group. + * @param parentIdentifier The parent connection group identifier + * for this connection group. + */ + public void setParentIdentifier(String parentIdentifier) { + this.parentIdentifier = parentIdentifier; + } /** * Returns the type of this connection group. diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connectiongroup/APIConnectionGroupWrapper.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connectiongroup/APIConnectionGroupWrapper.java index 823961f68..6fc5b6130 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connectiongroup/APIConnectionGroupWrapper.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/rest/connectiongroup/APIConnectionGroupWrapper.java @@ -71,6 +71,16 @@ public class APIConnectionGroupWrapper implements ConnectionGroup { apiConnectionGroup.setIdentifier(identifier); } + @Override + public String getParentIdentifier() { + return apiConnectionGroup.getParentIdentifier(); + } + + @Override + public void setParentIdentifier(String parentIdentifier) { + apiConnectionGroup.setParentIdentifier(parentIdentifier); + } + @Override public void setType(Type type) { apiConnectionGroup.setType(type);