diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java index 60bb6966d..061eebc2b 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/JDBCAuthenticationProviderModule.java @@ -22,15 +22,15 @@ package org.glyptodon.guacamole.auth.jdbc; -import org.glyptodon.guacamole.auth.jdbc.user.MySQLUserContext; -import org.glyptodon.guacamole.auth.jdbc.connectiongroup.MySQLRootConnectionGroup; -import org.glyptodon.guacamole.auth.jdbc.connectiongroup.MySQLConnectionGroup; +import org.glyptodon.guacamole.auth.jdbc.user.UserContext; +import org.glyptodon.guacamole.auth.jdbc.connectiongroup.RootConnectionGroup; +import org.glyptodon.guacamole.auth.jdbc.connectiongroup.ModeledConnectionGroup; import org.glyptodon.guacamole.auth.jdbc.connectiongroup.ConnectionGroupDirectory; import org.glyptodon.guacamole.auth.jdbc.connection.ConnectionDirectory; -import org.glyptodon.guacamole.auth.jdbc.connection.MySQLGuacamoleConfiguration; -import org.glyptodon.guacamole.auth.jdbc.connection.MySQLConnection; -import org.glyptodon.guacamole.auth.jdbc.permission.MySQLSystemPermissionSet; -import org.glyptodon.guacamole.auth.jdbc.user.MySQLUser; +import org.glyptodon.guacamole.auth.jdbc.connection.ModeledGuacamoleConfiguration; +import org.glyptodon.guacamole.auth.jdbc.connection.ModeledConnection; +import org.glyptodon.guacamole.auth.jdbc.permission.SystemPermissionSet; +import org.glyptodon.guacamole.auth.jdbc.user.ModeledUser; import org.glyptodon.guacamole.auth.jdbc.user.UserDirectory; import org.glyptodon.guacamole.auth.jdbc.connectiongroup.ConnectionGroupMapper; import org.glyptodon.guacamole.auth.jdbc.connection.ConnectionMapper; @@ -100,13 +100,13 @@ public class JDBCAuthenticationProviderModule extends MyBatisModule { bind(Environment.class).toInstance(environment); bind(ConnectionDirectory.class); bind(ConnectionGroupDirectory.class); - bind(MySQLConnection.class); - bind(MySQLConnectionGroup.class); - bind(MySQLGuacamoleConfiguration.class); - bind(MySQLUser.class); - bind(MySQLUserContext.class); - bind(MySQLRootConnectionGroup.class); - bind(MySQLSystemPermissionSet.class); + bind(ModeledConnection.class); + bind(ModeledConnectionGroup.class); + bind(ModeledGuacamoleConfiguration.class); + bind(ModeledUser.class); + bind(RootConnectionGroup.class); + bind(SystemPermissionSet.class); + bind(UserContext.class); bind(UserDirectory.class); // Bind services diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/package-info.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/package-info.java index 72f8f4816..122dc3ec9 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/package-info.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/base/package-info.java @@ -21,8 +21,8 @@ */ /** - * Base classes supporting the MySQL authentication provider and defining the - * relationships between the model and the implementations of guacamole-ext + * Base classes supporting JDBC-driven authentication providers and defining + * the relationships between the model and the implementations of guacamole-ext * classes. */ package org.glyptodon.guacamole.auth.jdbc.base; diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionDirectory.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionDirectory.java index 4fba7e243..f0d167c95 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionDirectory.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionDirectory.java @@ -34,7 +34,8 @@ import org.glyptodon.guacamole.net.auth.Directory; import org.mybatis.guice.transactional.Transactional; /** - * A MySQL based implementation of the Connection Directory. + * Implementation of the Connection Directory which is driven by an underlying, + * arbitrary database. * * @author James Muehlner * @author Michael Jumper @@ -72,7 +73,7 @@ public class ConnectionDirectory implements Directory { @Override @Transactional public Collection getAll(Collection identifiers) throws GuacamoleException { - Collection objects = connectionService.retrieveObjects(currentUser, identifiers); + Collection objects = connectionService.retrieveObjects(currentUser, identifiers); return Collections.unmodifiableCollection(objects); } @@ -91,7 +92,7 @@ public class ConnectionDirectory implements Directory { @Override @Transactional public void update(Connection object) throws GuacamoleException { - MySQLConnection connection = (MySQLConnection) object; + ModeledConnection connection = (ModeledConnection) object; connectionService.updateObject(currentUser, connection); } diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionService.java index 3109638b8..634087ab7 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ConnectionService.java @@ -52,7 +52,7 @@ import org.glyptodon.guacamole.protocol.GuacamoleClientInformation; * * @author Michael Jumper, James Muehlner */ -public class ConnectionService extends DirectoryObjectService { +public class ConnectionService extends DirectoryObjectService { /** * Mapper for accessing connections. @@ -76,7 +76,7 @@ public class ConnectionService extends DirectoryObjectService mySQLConnectionProvider; + private Provider connectionProvider; /** * Service for creating and tracking sockets. @@ -90,9 +90,9 @@ public class ConnectionService extends DirectoryObjectService getParameterModels(MySQLConnection connection) { + private Collection getParameterModels(ModeledConnection connection) { Map parameters = connection.getConfiguration().getParameters(); @@ -202,11 +202,11 @@ public class ConnectionService extends DirectoryObjectService retrieveHistory(AuthenticatedUser user, - MySQLConnection connection) throws GuacamoleException { + ModeledConnection connection) throws GuacamoleException { String identifier = connection.getIdentifier(); @@ -345,7 +345,7 @@ public class ConnectionService extends DirectoryObjectService +public class ModeledConnection extends DirectoryObject implements Connection { /** @@ -58,7 +61,7 @@ public class MySQLConnection extends DirectoryObject * Provider for lazy-loaded, permission-controlled configurations. */ @Inject - private Provider configProvider; + private Provider configProvider; /** * The manually-set GuacamoleConfiguration, if any. @@ -66,9 +69,9 @@ public class MySQLConnection extends DirectoryObject private GuacamoleConfiguration config = null; /** - * Creates a new, empty MySQLConnection. + * Creates a new, empty ModeledConnection. */ - public MySQLConnection() { + public ModeledConnection() { } @Override @@ -87,7 +90,7 @@ public class MySQLConnection extends DirectoryObject // Translate null parent to proper identifier String parentIdentifier = getModel().getParentIdentifier(); if (parentIdentifier == null) - return MySQLRootConnectionGroup.IDENTIFIER; + return RootConnectionGroup.IDENTIFIER; return parentIdentifier; @@ -98,7 +101,7 @@ public class MySQLConnection extends DirectoryObject // Translate root identifier back into null if (parentIdentifier != null - && parentIdentifier.equals(MySQLRootConnectionGroup.IDENTIFIER)) + && parentIdentifier.equals(RootConnectionGroup.IDENTIFIER)) parentIdentifier = null; getModel().setParentIdentifier(parentIdentifier); @@ -113,7 +116,7 @@ public class MySQLConnection extends DirectoryObject return config; // Otherwise, return permission-controlled configuration - MySQLGuacamoleConfiguration restrictedConfig = configProvider.get(); + ModeledGuacamoleConfiguration restrictedConfig = configProvider.get(); restrictedConfig.init(getCurrentUser(), getModel()); return restrictedConfig; diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnectionRecord.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ModeledConnectionRecord.java similarity index 86% rename from extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnectionRecord.java rename to extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ModeledConnectionRecord.java index b600af326..c86e46588 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLConnectionRecord.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ModeledConnectionRecord.java @@ -27,27 +27,27 @@ import java.util.Date; import org.glyptodon.guacamole.net.auth.ConnectionRecord; /** - * A ConnectionRecord which is based on data stored in MySQL. + * A ConnectionRecord which is backed by a database model. * * @author James Muehlner * @author Michael Jumper */ -public class MySQLConnectionRecord implements ConnectionRecord { +public class ModeledConnectionRecord implements ConnectionRecord { /** * The model object backing this connection record. */ - private ConnectionRecordModel model; + private final ConnectionRecordModel model; /** - * Creates a new MySQLConnectionRecord backed by the given model object. + * Creates a new ModeledConnectionRecord backed by the given model object. * Changes to this record will affect the backing model object, and changes * to the backing model object will affect this record. * * @param model * The model object to use to back this connection record. */ - public MySQLConnectionRecord(ConnectionRecordModel model) { + public ModeledConnectionRecord(ConnectionRecordModel model) { this.model = model; } diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLGuacamoleConfiguration.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ModeledGuacamoleConfiguration.java similarity index 95% rename from extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLGuacamoleConfiguration.java rename to extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ModeledGuacamoleConfiguration.java index 27f9abb6c..b88a936e7 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/MySQLGuacamoleConfiguration.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connection/ModeledGuacamoleConfiguration.java @@ -33,7 +33,7 @@ import org.glyptodon.guacamole.protocol.GuacamoleConfiguration; * * @author Michael Jumper */ -public class MySQLGuacamoleConfiguration extends GuacamoleConfiguration { +public class ModeledGuacamoleConfiguration extends GuacamoleConfiguration { /** * The user this configuration belongs to. Access is based on his/her @@ -59,9 +59,9 @@ public class MySQLGuacamoleConfiguration extends GuacamoleConfiguration { private Map parameters = null; /** - * Creates a new, empty MySQLGuacamoleConfiguration. + * Creates a new, empty ModelGuacamoleConfiguration. */ - public MySQLGuacamoleConfiguration() { + public ModeledGuacamoleConfiguration() { } /** diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java index 7b752a329..e4ff0bbe9 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupDirectory.java @@ -34,7 +34,8 @@ import org.glyptodon.guacamole.net.auth.Directory; import org.mybatis.guice.transactional.Transactional; /** - * A MySQL based implementation of the ConnectionGroup Directory. + * Implementation of the ConnectionGroup Directory which is driven by an + * underlying, arbitrary database. * * @author James Muehlner * @author Michael Jumper @@ -72,7 +73,7 @@ public class ConnectionGroupDirectory implements Directory { @Override @Transactional public Collection getAll(Collection identifiers) throws GuacamoleException { - Collection objects = connectionGroupService.retrieveObjects(currentUser, identifiers); + Collection objects = connectionGroupService.retrieveObjects(currentUser, identifiers); return Collections.unmodifiableCollection(objects); } @@ -91,7 +92,7 @@ public class ConnectionGroupDirectory implements Directory { @Override @Transactional public void update(ConnectionGroup object) throws GuacamoleException { - MySQLConnectionGroup connectionGroup = (MySQLConnectionGroup) object; + ModeledConnectionGroup connectionGroup = (ModeledConnectionGroup) object; connectionGroupService.updateObject(currentUser, connectionGroup); } diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java index 4f50e9e65..296f87e28 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/ConnectionGroupService.java @@ -46,7 +46,7 @@ import org.glyptodon.guacamole.protocol.GuacamoleClientInformation; * * @author Michael Jumper, James Muehlner */ -public class ConnectionGroupService extends DirectoryObjectService { /** @@ -59,7 +59,7 @@ public class ConnectionGroupService extends DirectoryObjectService connectionGroupProvider; + private Provider connectionGroupProvider; /** * Service for creating and tracking sockets. @@ -73,9 +73,9 @@ public class ConnectionGroupService extends DirectoryObjectService +public class ModeledConnectionGroup extends DirectoryObject implements ConnectionGroup { /** @@ -59,9 +60,9 @@ public class MySQLConnectionGroup extends DirectoryObject private GuacamoleSocketService socketService; /** - * Creates a new, empty MySQLConnection. + * Creates a new, empty ModeledConnectionGroup. */ - public MySQLConnectionGroup() { + public ModeledConnectionGroup() { } @Override @@ -80,7 +81,7 @@ public class MySQLConnectionGroup extends DirectoryObject // Translate null parent to proper identifier String parentIdentifier = getModel().getParentIdentifier(); if (parentIdentifier == null) - return MySQLRootConnectionGroup.IDENTIFIER; + return RootConnectionGroup.IDENTIFIER; return parentIdentifier; @@ -91,7 +92,7 @@ public class MySQLConnectionGroup extends DirectoryObject // Translate root identifier back into null if (parentIdentifier != null - && parentIdentifier.equals(MySQLRootConnectionGroup.IDENTIFIER)) + && parentIdentifier.equals(RootConnectionGroup.IDENTIFIER)) parentIdentifier = null; getModel().setParentIdentifier(parentIdentifier); diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLRootConnectionGroup.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/RootConnectionGroup.java similarity index 96% rename from extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLRootConnectionGroup.java rename to extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/RootConnectionGroup.java index eeaf6e939..be0ed819e 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/MySQLRootConnectionGroup.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/connectiongroup/RootConnectionGroup.java @@ -38,7 +38,7 @@ import org.glyptodon.guacamole.protocol.GuacamoleClientInformation; * * @author Michael Jumper */ -public class MySQLRootConnectionGroup implements ConnectionGroup { +public class RootConnectionGroup implements ConnectionGroup { /** * The identifier used to represent the root connection group. There is no @@ -73,9 +73,9 @@ public class MySQLRootConnectionGroup implements ConnectionGroup { private ConnectionGroupService connectionGroupService; /** - * Creates a new, empty MySQLRootConnectionGroup. + * Creates a new, empty RootConnectionGroup. */ - public MySQLRootConnectionGroup() { + public RootConnectionGroup() { } /** diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionService.java index 14b893c55..88b391600 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/ObjectPermissionService.java @@ -26,7 +26,7 @@ import java.util.Collection; import java.util.Collections; import java.util.HashSet; import org.glyptodon.guacamole.auth.jdbc.user.AuthenticatedUser; -import org.glyptodon.guacamole.auth.jdbc.user.MySQLUser; +import org.glyptodon.guacamole.auth.jdbc.user.ModeledUser; import org.glyptodon.guacamole.GuacamoleException; import org.glyptodon.guacamole.GuacamoleSecurityException; import org.glyptodon.guacamole.net.auth.permission.ObjectPermission; @@ -89,7 +89,7 @@ public abstract class ObjectPermissionService * If an error occurs while checking permission status, or if * permission is denied to read the current user's permissions. */ - protected boolean canAlterPermissions(AuthenticatedUser user, MySQLUser targetUser, + protected boolean canAlterPermissions(AuthenticatedUser user, ModeledUser targetUser, Collection permissions) throws GuacamoleException { @@ -123,7 +123,7 @@ public abstract class ObjectPermissionService } @Override - public void createPermissions(AuthenticatedUser user, MySQLUser targetUser, + public void createPermissions(AuthenticatedUser user, ModeledUser targetUser, Collection permissions) throws GuacamoleException { @@ -140,7 +140,7 @@ public abstract class ObjectPermissionService } @Override - public void deletePermissions(AuthenticatedUser user, MySQLUser targetUser, + public void deletePermissions(AuthenticatedUser user, ModeledUser targetUser, Collection permissions) throws GuacamoleException { diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionService.java index 1e1266215..3207ffc8d 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/PermissionService.java @@ -27,7 +27,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.Set; import org.glyptodon.guacamole.auth.jdbc.user.AuthenticatedUser; -import org.glyptodon.guacamole.auth.jdbc.user.MySQLUser; +import org.glyptodon.guacamole.auth.jdbc.user.ModeledUser; import org.glyptodon.guacamole.GuacamoleException; import org.glyptodon.guacamole.GuacamoleSecurityException; import org.glyptodon.guacamole.net.auth.permission.Permission; @@ -112,7 +112,7 @@ public abstract class PermissionService getModelInstances(MySQLUser targetUser, + protected Collection getModelInstances(ModeledUser targetUser, Collection permissions) { // Create new collection of models by manually converting each permission @@ -163,7 +163,7 @@ public abstract class PermissionService retrievePermissions(AuthenticatedUser user, - MySQLUser targetUser) throws GuacamoleException { + ModeledUser targetUser) throws GuacamoleException { // Only an admin can read permissions that aren't his own if (user.getUser().getIdentifier().equals(targetUser.getIdentifier()) @@ -211,7 +211,7 @@ public abstract class PermissionService permissions) throws GuacamoleException; /** @@ -232,7 +232,7 @@ public abstract class PermissionService permissions) throws GuacamoleException; } diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java index 90ebdc146..52edda6d0 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java @@ -26,7 +26,7 @@ import com.google.inject.Inject; import com.google.inject.Provider; import java.util.Collection; import org.glyptodon.guacamole.auth.jdbc.user.AuthenticatedUser; -import org.glyptodon.guacamole.auth.jdbc.user.MySQLUser; +import org.glyptodon.guacamole.auth.jdbc.user.ModeledUser; import org.glyptodon.guacamole.GuacamoleException; import org.glyptodon.guacamole.GuacamoleSecurityException; import org.glyptodon.guacamole.net.auth.permission.SystemPermission; @@ -39,7 +39,7 @@ import org.glyptodon.guacamole.net.auth.permission.SystemPermission; * @author Michael Jumper */ public class SystemPermissionService - extends PermissionService { + extends PermissionService { /** * Mapper for system-level permissions. @@ -51,7 +51,7 @@ public class SystemPermissionService * Provider for creating system permission sets. */ @Inject - private Provider systemPermissionSetProvider; + private Provider systemPermissionSetProvider; @Override protected SystemPermissionMapper getPermissionMapper() { @@ -64,7 +64,7 @@ public class SystemPermissionService } @Override - protected SystemPermissionModel getModelInstance(final MySQLUser targetUser, + protected SystemPermissionModel getModelInstance(final ModeledUser targetUser, final SystemPermission permission) { SystemPermissionModel model = new SystemPermissionModel(); @@ -79,11 +79,11 @@ public class SystemPermissionService } @Override - public MySQLSystemPermissionSet getPermissionSet(AuthenticatedUser user, - MySQLUser targetUser) throws GuacamoleException { + public SystemPermissionSet getPermissionSet(AuthenticatedUser user, + ModeledUser targetUser) throws GuacamoleException { // Create permission set for requested user - MySQLSystemPermissionSet permissionSet = systemPermissionSetProvider.get(); + SystemPermissionSet permissionSet = systemPermissionSetProvider.get(); permissionSet.init(user, targetUser); return permissionSet; @@ -91,7 +91,7 @@ public class SystemPermissionService } @Override - public void createPermissions(AuthenticatedUser user, MySQLUser targetUser, + public void createPermissions(AuthenticatedUser user, ModeledUser targetUser, Collection permissions) throws GuacamoleException { // Only an admin can create system permissions @@ -107,7 +107,7 @@ public class SystemPermissionService } @Override - public void deletePermissions(AuthenticatedUser user, MySQLUser targetUser, + public void deletePermissions(AuthenticatedUser user, ModeledUser targetUser, Collection permissions) throws GuacamoleException { // Only an admin can delete system permissions @@ -143,7 +143,7 @@ public class SystemPermissionService * If an error occurs while retrieving the requested permission. */ public SystemPermission retrievePermission(AuthenticatedUser user, - MySQLUser targetUser, SystemPermission.Type type) throws GuacamoleException { + ModeledUser targetUser, SystemPermission.Type type) throws GuacamoleException { // Only an admin can read permissions that aren't his own if (user.getUser().getIdentifier().equals(targetUser.getIdentifier()) diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/MySQLSystemPermissionSet.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionSet.java similarity index 90% rename from extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/MySQLSystemPermissionSet.java rename to extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionSet.java index 0bcf0a44b..55fa50077 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/MySQLSystemPermissionSet.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionSet.java @@ -22,14 +22,13 @@ package org.glyptodon.guacamole.auth.jdbc.permission; -import org.glyptodon.guacamole.auth.jdbc.user.MySQLUser; +import org.glyptodon.guacamole.auth.jdbc.user.ModeledUser; import com.google.inject.Inject; import java.util.Collections; import java.util.Set; import org.glyptodon.guacamole.auth.jdbc.user.AuthenticatedUser; import org.glyptodon.guacamole.GuacamoleException; import org.glyptodon.guacamole.net.auth.permission.SystemPermission; -import org.glyptodon.guacamole.net.auth.permission.SystemPermissionSet; /** * A database implementation of SystemPermissionSet which uses an injected @@ -38,7 +37,8 @@ import org.glyptodon.guacamole.net.auth.permission.SystemPermissionSet; * * @author Michael Jumper */ -public class MySQLSystemPermissionSet implements SystemPermissionSet { +public class SystemPermissionSet + implements org.glyptodon.guacamole.net.auth.permission.SystemPermissionSet { /** * The user that queried this permission set. Access is based on his/her @@ -50,7 +50,7 @@ public class MySQLSystemPermissionSet implements SystemPermissionSet { * The user associated with this permission set. Each of the permissions in * this permission set is granted to this user. */ - private MySQLUser user; + private ModeledUser user; /** * Service for reading and manipulating system permissions. @@ -59,11 +59,11 @@ public class MySQLSystemPermissionSet implements SystemPermissionSet { private SystemPermissionService systemPermissionService; /** - * Creates a new MySQLSystemPermissionSet. The resulting permission set + * Creates a new SystemPermissionSet. The resulting permission set * must still be initialized by a call to init(), or the information * necessary to read and modify this set will be missing. */ - public MySQLSystemPermissionSet() { + public SystemPermissionSet() { } /** @@ -77,7 +77,7 @@ public class MySQLSystemPermissionSet implements SystemPermissionSet { * @param user * The user to whom the permissions in this set are granted. */ - public void init(AuthenticatedUser currentUser, MySQLUser user) { + public void init(AuthenticatedUser currentUser, ModeledUser user) { this.currentUser = currentUser; this.user = user; } diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/AbstractGuacamoleSocketService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/AbstractGuacamoleSocketService.java index 9ef4903a7..5f1b623e6 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/AbstractGuacamoleSocketService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/AbstractGuacamoleSocketService.java @@ -31,8 +31,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import org.glyptodon.guacamole.auth.jdbc.user.AuthenticatedUser; -import org.glyptodon.guacamole.auth.jdbc.connection.MySQLConnection; -import org.glyptodon.guacamole.auth.jdbc.connectiongroup.MySQLConnectionGroup; +import org.glyptodon.guacamole.auth.jdbc.connection.ModeledConnection; +import org.glyptodon.guacamole.auth.jdbc.connectiongroup.ModeledConnectionGroup; import org.glyptodon.guacamole.auth.jdbc.connection.ConnectionRecordMapper; import org.glyptodon.guacamole.auth.jdbc.connection.ParameterMapper; import org.glyptodon.guacamole.auth.jdbc.connection.ConnectionModel; @@ -154,7 +154,7 @@ public abstract class AbstractGuacamoleSocketService implements GuacamoleSocketS * If access is denied to the given user for any reason. */ protected abstract void acquire(AuthenticatedUser user, - MySQLConnection connection) throws GuacamoleException; + ModeledConnection connection) throws GuacamoleException; /** * Releases possibly-exclusive access to the given connection on behalf of @@ -168,11 +168,11 @@ public abstract class AbstractGuacamoleSocketService implements GuacamoleSocketS * The connection being released. */ protected abstract void release(AuthenticatedUser user, - MySQLConnection connection); + ModeledConnection connection); @Override public GuacamoleSocket getGuacamoleSocket(final AuthenticatedUser user, - final MySQLConnection connection, GuacamoleClientInformation info) + final ModeledConnection connection, GuacamoleClientInformation info) throws GuacamoleException { // Create record for active connection @@ -273,7 +273,7 @@ public abstract class AbstractGuacamoleSocketService implements GuacamoleSocketS @Override public GuacamoleSocket getGuacamoleSocket(AuthenticatedUser user, - MySQLConnectionGroup connectionGroup, + ModeledConnectionGroup connectionGroup, GuacamoleClientInformation info) throws GuacamoleException { // STUB throw new UnsupportedOperationException("STUB"); diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/GuacamoleSocketService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/GuacamoleSocketService.java index 2ef2025ce..31e240ba2 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/GuacamoleSocketService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/GuacamoleSocketService.java @@ -24,8 +24,8 @@ package org.glyptodon.guacamole.auth.jdbc.socket; import java.util.List; import org.glyptodon.guacamole.auth.jdbc.user.AuthenticatedUser; -import org.glyptodon.guacamole.auth.jdbc.connection.MySQLConnection; -import org.glyptodon.guacamole.auth.jdbc.connectiongroup.MySQLConnectionGroup; +import org.glyptodon.guacamole.auth.jdbc.connection.ModeledConnection; +import org.glyptodon.guacamole.auth.jdbc.connectiongroup.ModeledConnectionGroup; import org.glyptodon.guacamole.GuacamoleException; import org.glyptodon.guacamole.net.GuacamoleSocket; import org.glyptodon.guacamole.net.auth.Connection; @@ -68,7 +68,7 @@ public interface GuacamoleSocketService { * rules. */ GuacamoleSocket getGuacamoleSocket(AuthenticatedUser user, - MySQLConnection connection, GuacamoleClientInformation info) + ModeledConnection connection, GuacamoleClientInformation info) throws GuacamoleException; /** @@ -111,7 +111,7 @@ public interface GuacamoleSocketService { * rules, or if the connection group is not balancing. */ GuacamoleSocket getGuacamoleSocket(AuthenticatedUser user, - MySQLConnectionGroup connectionGroup, + ModeledConnectionGroup connectionGroup, GuacamoleClientInformation info) throws GuacamoleException; diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/UnrestrictedGuacamoleSocketService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/UnrestrictedGuacamoleSocketService.java index 02bb5263a..a1d619378 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/UnrestrictedGuacamoleSocketService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/socket/UnrestrictedGuacamoleSocketService.java @@ -24,7 +24,7 @@ package org.glyptodon.guacamole.auth.jdbc.socket; import com.google.inject.Singleton; import org.glyptodon.guacamole.auth.jdbc.user.AuthenticatedUser; -import org.glyptodon.guacamole.auth.jdbc.connection.MySQLConnection; +import org.glyptodon.guacamole.auth.jdbc.connection.ModeledConnection; import org.glyptodon.guacamole.GuacamoleException; @@ -39,13 +39,13 @@ public class UnrestrictedGuacamoleSocketService extends AbstractGuacamoleSocketService { @Override - protected void acquire(AuthenticatedUser user, MySQLConnection connection) + protected void acquire(AuthenticatedUser user, ModeledConnection connection) throws GuacamoleException { // Do nothing } @Override - protected void release(AuthenticatedUser user, MySQLConnection connection) { + protected void release(AuthenticatedUser user, ModeledConnection connection) { // Do nothing } diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/AuthenticatedUser.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/AuthenticatedUser.java index d6181ccfb..7b01d4598 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/AuthenticatedUser.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/AuthenticatedUser.java @@ -34,7 +34,7 @@ public class AuthenticatedUser { /** * The user that authenticated. */ - private final MySQLUser user; + private final ModeledUser user; /** * The credentials given when this user authenticated. @@ -51,7 +51,7 @@ public class AuthenticatedUser { * @param credentials * The credentials given by the user when they authenticated. */ - public AuthenticatedUser(MySQLUser user, Credentials credentials) { + public AuthenticatedUser(ModeledUser user, Credentials credentials) { this.user = user; this.credentials = credentials; } @@ -62,7 +62,7 @@ public class AuthenticatedUser { * @return * The user that authenticated. */ - public MySQLUser getUser() { + public ModeledUser getUser() { return user; } diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUser.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/ModeledUser.java similarity index 95% rename from extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUser.java rename to extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/ModeledUser.java index 8243cc5fd..8f3eeb6f1 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUser.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/ModeledUser.java @@ -35,10 +35,12 @@ import org.glyptodon.guacamole.net.auth.permission.SystemPermissionSet; import org.glyptodon.guacamole.net.auth.simple.SimpleObjectPermissionSet; /** - * A MySQL based implementation of the User object. + * An implementation of the User object which is backed by a database model. + * * @author James Muehlner + * @author Michael Jumper */ -public class MySQLUser extends DirectoryObject implements User { +public class ModeledUser extends DirectoryObject implements User { /** * Service for hashing passwords. @@ -68,9 +70,9 @@ public class MySQLUser extends DirectoryObject implements User { private String password = null; /** - * Creates a new, empty MySQLUser. + * Creates a new, empty ModeledUser. */ - public MySQLUser() { + public ModeledUser() { } @Override diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUserContext.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContext.java similarity index 89% rename from extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUserContext.java rename to extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContext.java index 4151a8ee1..84e14a157 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/MySQLUserContext.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContext.java @@ -23,7 +23,7 @@ package org.glyptodon.guacamole.auth.jdbc.user; -import org.glyptodon.guacamole.auth.jdbc.connectiongroup.MySQLRootConnectionGroup; +import org.glyptodon.guacamole.auth.jdbc.connectiongroup.RootConnectionGroup; import org.glyptodon.guacamole.auth.jdbc.connectiongroup.ConnectionGroupDirectory; import org.glyptodon.guacamole.auth.jdbc.connection.ConnectionDirectory; import com.google.inject.Inject; @@ -33,13 +33,16 @@ import org.glyptodon.guacamole.net.auth.Connection; import org.glyptodon.guacamole.net.auth.ConnectionGroup; import org.glyptodon.guacamole.net.auth.Directory; import org.glyptodon.guacamole.net.auth.User; -import org.glyptodon.guacamole.net.auth.UserContext; /** - * The MySQL representation of a UserContext. + * UserContext implementation which is driven by an arbitrary, underlying + * database. + * * @author James Muehlner + * @author Michael Jumper */ -public class MySQLUserContext implements UserContext { +public class UserContext + implements org.glyptodon.guacamole.net.auth.UserContext { /** * The the user owning this context. @@ -71,7 +74,7 @@ public class MySQLUserContext implements UserContext { * Provider for creating the root group. */ @Inject - private Provider rootGroupProvider; + private Provider rootGroupProvider; /** * Initializes the user and directories associated with this context. @@ -114,7 +117,7 @@ public class MySQLUserContext implements UserContext { public ConnectionGroup getRootConnectionGroup() throws GuacamoleException { // Build and return a root group for the current user - MySQLRootConnectionGroup rootGroup = rootGroupProvider.get(); + RootConnectionGroup rootGroup = rootGroupProvider.get(); rootGroup.init(currentUser); return rootGroup; diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContextService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContextService.java index 8895b4674..c0a31074f 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContextService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserContextService.java @@ -26,7 +26,6 @@ import com.google.inject.Inject; import com.google.inject.Provider; import org.glyptodon.guacamole.GuacamoleException; import org.glyptodon.guacamole.net.auth.Credentials; -import org.glyptodon.guacamole.net.auth.UserContext; /** * Service which creates new UserContext instances for valid users based on @@ -46,7 +45,7 @@ public class UserContextService { * Provider for retrieving UserContext instances. */ @Inject - private Provider userContextProvider; + private Provider userContextProvider; /** * Authenticates the user having the given credentials, returning a new @@ -62,15 +61,16 @@ public class UserContextService { * @throws GuacamoleException * If an error occurs during authentication. */ - public UserContext getUserContext(Credentials credentials) - throws GuacamoleException { + public org.glyptodon.guacamole.net.auth.UserContext + getUserContext(Credentials credentials) + throws GuacamoleException { // Authenticate user - MySQLUser user = userService.retrieveUser(credentials); + ModeledUser user = userService.retrieveUser(credentials); if (user != null) { // Upon successful authentication, return new user context - MySQLUserContext context = userContextProvider.get(); + UserContext context = userContextProvider.get(); context.init(user.getCurrentUser()); return context; diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserDirectory.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserDirectory.java index ae02e066c..0693a9737 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserDirectory.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserDirectory.java @@ -33,7 +33,8 @@ import org.glyptodon.guacamole.net.auth.User; import org.mybatis.guice.transactional.Transactional; /** - * A MySQL based implementation of the User Directory. + * Implementation of the User Directory which is driven by an underlying, + * arbitrary database. * * @author James Muehlner * @author Michael Jumper @@ -71,7 +72,7 @@ public class UserDirectory implements Directory { @Override @Transactional public Collection getAll(Collection identifiers) throws GuacamoleException { - Collection objects = userService.retrieveObjects(currentUser, identifiers); + Collection objects = userService.retrieveObjects(currentUser, identifiers); return Collections.unmodifiableCollection(objects); } @@ -90,7 +91,7 @@ public class UserDirectory implements Directory { @Override @Transactional public void update(User object) throws GuacamoleException { - MySQLUser user = (MySQLUser) object; + ModeledUser user = (ModeledUser) object; userService.updateObject(currentUser, user); } diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserService.java index e3ff5a23a..a74f5cd89 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/user/UserService.java @@ -42,7 +42,7 @@ import org.glyptodon.guacamole.net.auth.permission.SystemPermissionSet; * * @author Michael Jumper, James Muehlner */ -public class UserService extends DirectoryObjectService { +public class UserService extends DirectoryObjectService { /** * Mapper for accessing users. @@ -54,7 +54,7 @@ public class UserService extends DirectoryObjectService mySQLUserProvider; + private Provider userProvider; @Override protected DirectoryObjectMapper getObjectMapper() { @@ -62,9 +62,9 @@ public class UserService extends DirectoryObjectService