From 70b34ecf304092bef92def0562b9a31311463fa1 Mon Sep 17 00:00:00 2001 From: James Muehlner Date: Tue, 12 Feb 2013 23:35:13 -0800 Subject: [PATCH] Ticket #269: More things implemented. Still to do: ConnectionDirectory, and enforcing permissions on things in general. --- ...acamole-auth-mysql-create-default-user.sql | 2 +- .../schema/guacamole-auth-mysql-schema.sql | 2 +- .../mysql/MySQLAuthenticationProvider.java | 2 + .../net/auth/mysql/MySQLConnection.java | 85 +++ .../net/auth/mysql/MySQLConstants.java | 71 +++ .../guacamole/net/auth/mysql/MySQLUser.java | 60 +- .../net/auth/mysql/MySQLUserContext.java | 7 +- .../net/auth/mysql/UserDirectory.java | 372 ++++++++++++- .../net/auth/mysql/dao/ConnectionMapper.java | 22 +- .../mysql/dao/ConnectionParameterMapper.java | 22 +- .../mysql/dao/ConnectionPermissionMapper.java | 16 +- .../mysql/dao/SystemPermissionMapper.java | 16 +- .../net/auth/mysql/dao/UserMapper.java | 28 +- .../auth/mysql/dao/UserPermissionMapper.java | 16 +- .../net/auth/mysql/model/Connection.java | 18 +- .../auth/mysql/model/ConnectionExample.java | 34 +- .../auth/mysql/model/ConnectionParameter.java | 6 +- .../model/ConnectionParameterExample.java | 34 +- .../mysql/model/ConnectionParameterKey.java | 12 +- .../model/ConnectionPermissionExample.java | 34 +- .../mysql/model/ConnectionPermissionKey.java | 18 +- .../mysql/model/SystemPermissionExample.java | 34 +- .../auth/mysql/model/SystemPermissionKey.java | 12 +- .../guacamole/net/auth/mysql/model/User.java | 12 +- .../net/auth/mysql/model/UserExample.java | 34 +- .../mysql/model/UserPermissionExample.java | 34 +- .../auth/mysql/model/UserPermissionKey.java | 18 +- .../net/auth/mysql/model/UserWithBLOBs.java | 12 +- .../mysql/utility/PermissionCheckUtility.java | 511 ++++++++++++++++++ .../utility/SecureRandomSaltUtility.java | 2 +- .../net/auth/mysql/xml/ConnectionMapper.xml | 30 +- .../mysql/xml/ConnectionParameterMapper.xml | 30 +- .../mysql/xml/ConnectionPermissionMapper.xml | 24 +- .../auth/mysql/xml/SystemPermissionMapper.xml | 24 +- .../net/auth/mysql/xml/UserMapper.xml | 40 +- .../auth/mysql/xml/UserPermissionMapper.xml | 24 +- 36 files changed, 1386 insertions(+), 332 deletions(-) create mode 100644 extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConnection.java create mode 100644 extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConstants.java create mode 100644 extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/utility/PermissionCheckUtility.java diff --git a/extensions/guacamole-auth-mysql/schema/guacamole-auth-mysql-create-default-user.sql b/extensions/guacamole-auth-mysql/schema/guacamole-auth-mysql-create-default-user.sql index a9a553084..a50584d9f 100644 --- a/extensions/guacamole-auth-mysql/schema/guacamole-auth-mysql-create-default-user.sql +++ b/extensions/guacamole-auth-mysql/schema/guacamole-auth-mysql-create-default-user.sql @@ -1,4 +1,4 @@ insert into guacamole_user values(1, 'guacadmin', x'AE97B20D5B24B2F18BE7921E3C0CF6109696391D7D5A6BE24BD267E49F0D7E42', x'FE24ADC5E11E2B25288D1704ABE67A79E342ECC26064CE69C5B3177795A82264'); -insert into guacamole_system_permission values(1, 'CREATE_CONFIGURATION'); +insert into guacamole_system_permission values(1, 'CREATE_CONNECTION'); insert into guacamole_system_permission values(1, 'CREATE_USER'); diff --git a/extensions/guacamole-auth-mysql/schema/guacamole-auth-mysql-schema.sql b/extensions/guacamole-auth-mysql/schema/guacamole-auth-mysql-schema.sql index ee0a0205e..4d74f1e4c 100644 --- a/extensions/guacamole-auth-mysql/schema/guacamole-auth-mysql-schema.sql +++ b/extensions/guacamole-auth-mysql/schema/guacamole-auth-mysql-schema.sql @@ -54,7 +54,7 @@ CREATE TABLE `guacamole_connection_permission` ( CREATE TABLE `guacamole_system_permission` ( `user_id` int(11) NOT NULL, - `permission` enum('CREATE_CONFIGURATION','CREATE_USER') NOT NULL, + `permission` enum('CREATE_CONNECTION','CREATE_USER') NOT NULL, PRIMARY KEY (`user_id`,`permission`), CONSTRAINT `guacamole_system_permission_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `guacamole_user` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProvider.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProvider.java index 831239300..09497a943 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProvider.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLAuthenticationProvider.java @@ -52,6 +52,7 @@ import net.sourceforge.guacamole.net.auth.mysql.dao.SystemPermissionMapper; import net.sourceforge.guacamole.net.auth.mysql.dao.UserMapper; import net.sourceforge.guacamole.net.auth.mysql.dao.UserPermissionMapper; import net.sourceforge.guacamole.net.auth.mysql.properties.MySQLGuacamoleProperties; +import net.sourceforge.guacamole.net.auth.mysql.utility.PermissionCheckUtility; import net.sourceforge.guacamole.net.auth.mysql.utility.PasswordEncryptionUtility; import net.sourceforge.guacamole.net.auth.mysql.utility.SaltUtility; import net.sourceforge.guacamole.net.auth.mysql.utility.SecureRandomSaltUtility; @@ -112,6 +113,7 @@ public class MySQLAuthenticationProvider implements AuthenticationProvider { bind(MySQLUser.class); bind(SaltUtility.class).to(SecureRandomSaltUtility.class); bind(PasswordEncryptionUtility.class).to(Sha256PasswordEncryptionUtility.class); + bind(PermissionCheckUtility.class); } } ); 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 new file mode 100644 index 000000000..1ca51a0ad --- /dev/null +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConnection.java @@ -0,0 +1,85 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package net.sourceforge.guacamole.net.auth.mysql; + +import com.google.inject.Inject; +import java.util.List; +import net.sourceforge.guacamole.GuacamoleException; +import net.sourceforge.guacamole.net.GuacamoleSocket; +import net.sourceforge.guacamole.net.auth.Connection; +import net.sourceforge.guacamole.net.auth.mysql.dao.ConnectionMapper; +import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionExample; +import net.sourceforge.guacamole.protocol.GuacamoleClientInformation; +import net.sourceforge.guacamole.protocol.GuacamoleConfiguration; + +/** + * A MySQL based implementation of the Connection object. + * @author James Muehlner + */ +public class MySQLConnection implements Connection { + + @Inject + ConnectionMapper connectionDAO; + + private net.sourceforge.guacamole.net.auth.mysql.model.Connection connection; + + /** + * Create a default, empty connection. + */ + MySQLConnection() { + connection = new net.sourceforge.guacamole.net.auth.mysql.model.Connection(); + } + + /** + * Load an existing connection by name. + * @param connectionName + */ + public void init(String connectionName) throws GuacamoleException { + ConnectionExample example = new ConnectionExample(); + example.createCriteria().andConnection_nameEqualTo(connectionName); + List connections; + connections = connectionDAO.selectByExample(example); + if(connections.size() > 1) // the unique constraint should prevent this from happening + throw new GuacamoleException("Multiple connections found named '" + connectionName + "'."); + else if(connections.isEmpty()) + throw new GuacamoleException("No connection found named '" + connectionName + "'."); + + connection = connections.get(0); + } + + /** + * Initialize from a database record. + * @param connection + */ + public void init(net.sourceforge.guacamole.net.auth.mysql.model.Connection connection) { + this.connection = connection; + } + + @Override + public String getIdentifier() { + return connection.getConnection_name(); + } + + @Override + public void setIdentifier(String identifier) { + connection.setConnection_name(identifier); + } + + @Override + public GuacamoleConfiguration getConfiguration() { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setConfiguration(GuacamoleConfiguration config) throws GuacamoleException { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public GuacamoleSocket connect(GuacamoleClientInformation info) throws GuacamoleException { + throw new UnsupportedOperationException("Not supported yet."); + } + +} diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConstants.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConstants.java new file mode 100644 index 000000000..e34b76ee7 --- /dev/null +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLConstants.java @@ -0,0 +1,71 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is guacamole-auth-mysql. + * + * The Initial Developer of the Original Code is + * James Muehlner. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ +package net.sourceforge.guacamole.net.auth.mysql; + +/** + * Constants relevant to the guacamole-auth-mysql project. + * @author James Muehlner + */ +public interface MySQLConstants { + + //*********** Permission Strings *********** + // operations + public static final String CREATE = "CREATE"; + public static final String READ = "READ"; + public static final String WRITE = "WRITE"; + public static final String DELETE = "DELETE"; + public static final String ADMINISTER = "ADMINISTER"; + + // used to separate operations from objects + public static final String SEPARATOR = "_"; + + //object types + public static final String USER = "USER"; + public static final String CONNECTION = "CONNECTION"; + + //combinations + public static final String CREATE_USER = CREATE + SEPARATOR + USER; + public static final String READ_USER = READ + SEPARATOR + USER; + public static final String WRITE_USER = WRITE + SEPARATOR + USER; + public static final String DELETE_USER = DELETE + SEPARATOR + USER; + public static final String ADMINISTER_USER = ADMINISTER + SEPARATOR + USER; + + public static final String CREATE_CONNECTION = CREATE + SEPARATOR + CONNECTION; + public static final String READ_CONNECTION = READ + SEPARATOR + CONNECTION; + public static final String WRITE_CONNECTION = WRITE + SEPARATOR + CONNECTION; + public static final String DELETE_CONNECTION = DELETE + SEPARATOR + CONNECTION; + public static final String ADMINISTER_CONNECTION = ADMINISTER + SEPARATOR + CONNECTION; +} diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUser.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUser.java index ab943d4ac..7fe4bd554 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUser.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUser.java @@ -47,6 +47,7 @@ import net.sourceforge.guacamole.net.auth.mysql.dao.UserMapper; import net.sourceforge.guacamole.net.auth.mysql.model.UserExample; import net.sourceforge.guacamole.net.auth.mysql.model.UserWithBLOBs; import net.sourceforge.guacamole.net.auth.mysql.utility.PasswordEncryptionUtility; +import net.sourceforge.guacamole.net.auth.mysql.utility.PermissionCheckUtility; import net.sourceforge.guacamole.net.auth.mysql.utility.SaltUtility; import net.sourceforge.guacamole.net.auth.permission.Permission; @@ -59,7 +60,7 @@ public class MySQLUser implements User { private UserWithBLOBs user; @Inject - UserMapper userDao; + UserMapper userDAO; @Inject PasswordEncryptionUtility passwordUtility; @@ -67,8 +68,14 @@ public class MySQLUser implements User { @Inject SaltUtility saltUtility; + @Inject + PermissionCheckUtility permissionCheckUtility; + Set permissions; + /** + * Create a default, empty user. + */ MySQLUser() { user = new UserWithBLOBs(); permissions = new HashSet(); @@ -82,7 +89,7 @@ public class MySQLUser implements User { void init (Credentials credentials) throws GuacamoleException { UserExample userExample = new UserExample(); userExample.createCriteria().andUsernameEqualTo(credentials.getUsername()); - List users = userDao.selectByExampleWithBLOBs(userExample); + List users = userDAO.selectByExampleWithBLOBs(userExample); if(users.size() > 1) // the unique constraint on the table should prevent this throw new GuacamoleException("Multiple users found with the same username: " + credentials.getUsername()); if(users.isEmpty()) @@ -91,13 +98,60 @@ public class MySQLUser implements User { // check password if(!passwordUtility.checkCredentials(credentials, user.getPassword_hash(), user.getUsername(), user.getPassword_salt())) throw new GuacamoleException("No user found with the supplied credentials"); + + this.permissions = permissionCheckUtility.getAllPermissions(user.getUser_id()); } - void init (User user) { + /** + * Create a new user from the provided information. This represents a user that has not yet been inserted. + * @param user + * @throws GuacamoleException + */ + public void initNew (User user) throws GuacamoleException { this.setPassword(user.getPassword()); this.setUsername(user.getUsername()); + this.permissions = user.getPermissions(); } + /** + * Loads a user by username. + * @param userName + * @throws GuacamoleException + */ + public void initExisting (String username) throws GuacamoleException { + UserExample example = new UserExample(); + example.createCriteria().andUsernameEqualTo(username); + List userList = userDAO.selectByExampleWithBLOBs(example); + if(userList.size() > 1) // this should never happen; the unique constraint should prevent it + throw new GuacamoleException("Multiple users found with username '" + username + "'."); + if(userList.size() == 0) + throw new GuacamoleException("No user found with username '" + username + "'."); + + this.user = userList.get(0); + this.permissions = permissionCheckUtility.getAllPermissions(user.getUser_id()); + } + + /** + * Initialize from a database record. + * @param user + */ + public void init(UserWithBLOBs user) { + this.user = user; + this.permissions = permissionCheckUtility.getAllPermissions(user.getUser_id()); + } + + /** + * Get the user id. + * @return + */ + public int getUserID() { + return user.getUser_id(); + } + + /** + * Return the database record held by this object. + * @return + */ public UserWithBLOBs getUser() { return user; } diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUserContext.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUserContext.java index 026533aea..5d33b169a 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUserContext.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/MySQLUserContext.java @@ -46,7 +46,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * + * * @author James Muehlner */ public class MySQLUserContext implements UserContext { @@ -56,8 +56,11 @@ public class MySQLUserContext implements UserContext { @Inject private MySQLUser user; + @Inject UserDirectory userDirectory; + void init(Credentials credentials) throws GuacamoleException { user.init(credentials); + userDirectory.init(user); } @Override @@ -67,7 +70,7 @@ public class MySQLUserContext implements UserContext { @Override public Directory getUserDirectory() throws GuacamoleException { - throw new UnsupportedOperationException("Not supported yet."); + return userDirectory; } @Override diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/UserDirectory.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/UserDirectory.java index ef298dc09..dd25e9b46 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/UserDirectory.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/UserDirectory.java @@ -1,72 +1,400 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is guacamole-auth-mysql. + * + * The Initial Developer of the Original Code is + * James Muehlner. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ package net.sourceforge.guacamole.net.auth.mysql; +import com.google.common.base.Preconditions; import com.google.inject.Inject; import com.google.inject.Provider; +import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; import net.sourceforge.guacamole.GuacamoleException; import net.sourceforge.guacamole.net.auth.Directory; import net.sourceforge.guacamole.net.auth.User; +import net.sourceforge.guacamole.net.auth.mysql.dao.ConnectionMapper; +import net.sourceforge.guacamole.net.auth.mysql.dao.ConnectionPermissionMapper; +import net.sourceforge.guacamole.net.auth.mysql.dao.SystemPermissionMapper; import net.sourceforge.guacamole.net.auth.mysql.dao.UserMapper; +import net.sourceforge.guacamole.net.auth.mysql.dao.UserPermissionMapper; +import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionExample; +import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionPermissionExample; +import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionPermissionKey; +import net.sourceforge.guacamole.net.auth.mysql.model.SystemPermissionExample; +import net.sourceforge.guacamole.net.auth.mysql.model.SystemPermissionKey; +import net.sourceforge.guacamole.net.auth.mysql.model.UserExample; +import net.sourceforge.guacamole.net.auth.mysql.model.UserPermissionExample; +import net.sourceforge.guacamole.net.auth.mysql.model.UserPermissionKey; +import net.sourceforge.guacamole.net.auth.mysql.utility.PermissionCheckUtility; +import net.sourceforge.guacamole.net.auth.permission.ConnectionDirectoryPermission; +import net.sourceforge.guacamole.net.auth.permission.ConnectionPermission; +import net.sourceforge.guacamole.net.auth.permission.Permission; +import net.sourceforge.guacamole.net.auth.permission.SystemPermission; +import net.sourceforge.guacamole.net.auth.permission.UserDirectoryPermission; +import net.sourceforge.guacamole.net.auth.permission.UserPermission; +import org.mybatis.guice.transactional.Transactional; /** * A MySQL based implementation of the User Directory. * @author James Muehlner */ public class UserDirectory implements Directory { - - private Map userMap = new HashMap(); + + /** + * The user who this user directory belongs to. + * Access is based on his/her permission settings. + */ + private MySQLUser user; @Inject UserMapper userDAO; + @Inject + ConnectionMapper connectionDAO; + + @Inject + UserPermissionMapper userPermissionDAO; + + @Inject + ConnectionPermissionMapper connectionPermissionDAO; + + @Inject + SystemPermissionMapper systemPermissionDAO; + + @Inject + PermissionCheckUtility permissionCheckUtility; + @Inject Provider mySQLUserProvider; - private MySQLUser getMySQLUser(User user) { + /** + * Set the user for this directory. + * @param user + */ + void init(MySQLUser user) { + this.user = user; + } + + /** + * Create a new user based on the provided object. + * @param user + * @return + * @throws GuacamoleException + */ + private MySQLUser getNewMySQLUser(User user) throws GuacamoleException { MySQLUser mySQLUser = mySQLUserProvider.get(); - mySQLUser.init(user); + mySQLUser.initNew(user); return mySQLUser; } + /** + * Get the user based on the username of the provided object. + * @param user + * @return + * @throws GuacamoleException + */ + private MySQLUser getExistingMySQLUser(User user) throws GuacamoleException { + return getExistingMySQLUser(user.getUsername()); + } + + /** + * Get the user based on the username of the provided object. + * @param user + * @return + * @throws GuacamoleException + */ + private MySQLUser getExistingMySQLUser(String name) throws GuacamoleException { + MySQLUser mySQLUser = mySQLUserProvider.get(); + mySQLUser.initExisting(name); + return mySQLUser; + } + + @Transactional @Override public User get(String identifier) throws GuacamoleException { - return userMap.get(identifier); + return getExistingMySQLUser(identifier); } + @Transactional @Override public Set getIdentifiers() throws GuacamoleException { - return userMap.keySet(); + Set userNameSet = new HashSet(); + List users = permissionCheckUtility.getReadableUsers(user.getUserID()); + for(MySQLUser mySQLUser : users) { + userNameSet.add(mySQLUser.getUsername()); + } + return userNameSet; } @Override + @Transactional public void add(User object) throws GuacamoleException { - MySQLUser mySQLUser = getMySQLUser(object); + Preconditions.checkNotNull(object); + //create user in database + MySQLUser mySQLUser = getNewMySQLUser(object); userDAO.insert(mySQLUser.getUser()); - userMap.put(mySQLUser.getUsername(), mySQLUser); + + //create permissions in database + updatePermissions(mySQLUser); + } + + /** + * Update all the permissions for a given user to be only those specified in the user object. + * Delete any permissions not in the list, and create any in the list that do not exist + * in the database. + * @param user + * @throws GuacamoleException + */ + private void updatePermissions(MySQLUser user) throws GuacamoleException { + List userPermissions = new ArrayList(); + List connectionPermissions = new ArrayList(); + List systemPermissions = new ArrayList(); + + for(Permission permission : user.getPermissions()) { + if(permission instanceof UserPermission) + userPermissions.add((UserPermission)permission); + else if(permission instanceof ConnectionPermission) + connectionPermissions.add((ConnectionPermission)permission); + else if(permission instanceof SystemPermission) + systemPermissions.add((SystemPermission)permission); + } + + updateUserPermissions(userPermissions, user); + updateConnectionPermissions(connectionPermissions, user); + updateSystemPermissions(systemPermissions, user); + } + + /** + * Update all the permissions having to do with users for a given user. + * @param permissions + * @param user + */ + private void updateUserPermissions(Iterable permissions, MySQLUser user) throws GuacamoleException { + + List usernames = new ArrayList(); + for(UserPermission permission : permissions) { + usernames.add(permission.getObjectIdentifier()); + } + + // find all the users by username + UserExample userExample = new UserExample(); + userExample.createCriteria().andUsernameIn(usernames); + List dbUsers = userDAO.selectByExample(userExample); + List userIDs = new ArrayList(); + + Map dbUserMap = new HashMap(); + for(net.sourceforge.guacamole.net.auth.mysql.model.User dbUser : dbUsers) { + dbUserMap.put(dbUser.getUsername(), dbUser); + userIDs.add(dbUser.getUser_id()); + } + + // find any user permissions that may already exist + UserPermissionExample userPermissionExample = new UserPermissionExample(); + userPermissionExample.createCriteria().andAffected_user_idIn(userIDs); + List existingPermissions = userPermissionDAO.selectByExample(userPermissionExample); + Set existingUserIDs = new HashSet(); + for(UserPermissionKey userPermission : existingPermissions) { + existingUserIDs.add(userPermission.getAffected_user_id()); + } + + // delete any permissions that are not in the provided list + userPermissionExample.clear(); + userPermissionExample.createCriteria().andAffected_user_idNotIn(userIDs); + userPermissionDAO.deleteByExample(userPermissionExample); + + // finally, insert the new permissions + for(UserPermission permission : permissions) { + net.sourceforge.guacamole.net.auth.mysql.model.User dbAffectedUser = dbUserMap.get(permission.getObjectIdentifier()); + if(dbAffectedUser == null) + throw new GuacamoleException("User '" + permission.getObjectIdentifier() + "' not found."); + + // the permission for this user already exists, we don't need to create it again + if(existingUserIDs.contains(dbAffectedUser.getUser_id())) + continue; + + UserPermissionKey newPermission = new UserPermissionKey(); + newPermission.setAffected_user_id(dbAffectedUser.getUser_id()); + newPermission.setPermission(permission.getType().name()); + newPermission.setUser_id(user.getUserID()); + userPermissionDAO.insert(newPermission); + } + } + + /** + * Update all the permissions having to do with connections for a given user. + * @param permissions + * @param user + */ + private void updateConnectionPermissions(Iterable permissions, MySQLUser user) throws GuacamoleException { + + List connectionnames = new ArrayList(); + for(ConnectionPermission permission : permissions) { + connectionnames.add(permission.getObjectIdentifier()); + } + + // find all the connections by connectionname + ConnectionExample connectionExample = new ConnectionExample(); + connectionExample.createCriteria().andConnection_nameIn(connectionnames); + List dbConnections = connectionDAO.selectByExample(connectionExample); + List connectionIDs = new ArrayList(); + + Map dbConnectionMap = new HashMap(); + for(net.sourceforge.guacamole.net.auth.mysql.model.Connection dbConnection : dbConnections) { + dbConnectionMap.put(dbConnection.getConnection_name(), dbConnection); + connectionIDs.add(dbConnection.getConnection_id()); + } + + // find any connection permissions that may already exist + ConnectionPermissionExample connectionPermissionExample = new ConnectionPermissionExample(); + connectionPermissionExample.createCriteria().andConnection_idIn(connectionIDs); + List existingPermissions = connectionPermissionDAO.selectByExample(connectionPermissionExample); + Set existingConnectionIDs = new HashSet(); + for(ConnectionPermissionKey connectionPermission : existingPermissions) { + existingConnectionIDs.add(connectionPermission.getConnection_id()); + } + + // delete any permissions that are not in the provided list + connectionPermissionExample.clear(); + connectionPermissionExample.createCriteria().andConnection_idNotIn(connectionIDs); + connectionPermissionDAO.deleteByExample(connectionPermissionExample); + + // finally, insert the new permissions + for(ConnectionPermission permission : permissions) { + net.sourceforge.guacamole.net.auth.mysql.model.Connection dbConnection = dbConnectionMap.get(permission.getObjectIdentifier()); + if(dbConnection == null) + throw new GuacamoleException("Connection '" + permission.getObjectIdentifier() + "' not found."); + + // the permission for this connection already exists, we don't need to create it again + if(existingConnectionIDs.contains(dbConnection.getConnection_id())) + continue; + + ConnectionPermissionKey newPermission = new ConnectionPermissionKey(); + newPermission.setConnection_id(dbConnection.getConnection_id()); + newPermission.setPermission(permission.getType().name()); + newPermission.setConnection_id(user.getUserID()); + connectionPermissionDAO.insert(newPermission); + } + } + + /** + * Update all system permissions for a given user. + * @param permissions + * @param user + */ + private void updateSystemPermissions(Iterable permissions, MySQLUser user) { + List systemPermissionTypes = new ArrayList(); + for(SystemPermission permission : permissions) { + String operation = permission.getType().name(); + if(permission instanceof ConnectionDirectoryPermission) + systemPermissionTypes.add(operation + "_CONNECTION"); + else if(permission instanceof UserDirectoryPermission) + systemPermissionTypes.add(operation + "_USER"); + } + + //delete all system permissions not in the list + SystemPermissionExample systemPermissionExample = new SystemPermissionExample(); + systemPermissionExample.createCriteria().andUser_idEqualTo(user.getUserID()).andPermissionNotIn(systemPermissionTypes); + systemPermissionDAO.deleteByExample(systemPermissionExample); + + // find all existing system permissions + systemPermissionExample.clear(); + systemPermissionExample.createCriteria().andUser_idEqualTo(user.getUserID()).andPermissionIn(systemPermissionTypes); + List existingPermissions = systemPermissionDAO.selectByExample(systemPermissionExample); + Set existingPermissionTypes = new HashSet(); + for(SystemPermissionKey existingPermission : existingPermissions) { + existingPermissionTypes.add(existingPermission.getPermission()); + } + + // finally, insert any new system permissions for this user + for(String systemPermissionType : systemPermissionTypes) { + //do not insert the permission if it already exists + if(existingPermissionTypes.contains(systemPermissionType)) + continue; + + SystemPermissionKey newSystemPermission = new SystemPermissionKey(); + newSystemPermission.setUser_id(user.getUserID()); + newSystemPermission.setPermission(systemPermissionType); + systemPermissionDAO.insert(newSystemPermission); + } } @Override + @Transactional public void update(User object) throws GuacamoleException { - if(!userMap.containsKey(object.getUsername())) - throw new GuacamoleException("User not found in Directory."); - MySQLUser mySQLUser = getMySQLUser(object); + //update the user in the database + MySQLUser mySQLUser = getExistingMySQLUser(object); userDAO.updateByPrimaryKey(mySQLUser.getUser()); - userMap.put(object.getUsername(), mySQLUser); + + //update permissions in database + updatePermissions(mySQLUser); } @Override + @Transactional public void remove(String identifier) throws GuacamoleException { - User user = userMap.get(identifier); - if(user == null) - throw new GuacamoleException("User not found in Directory."); - MySQLUser mySQLUser = getMySQLUser(user); - userDAO.deleteByPrimaryKey(mySQLUser.getUser().getUser_id()); - userMap.remove(user.getUsername()); + + MySQLUser mySQLUser = getExistingMySQLUser(identifier); + + //delete all the user permissions in the database + deleteAllPermissions(mySQLUser); + + //delete the user in the database + userDAO.deleteByPrimaryKey(mySQLUser.getUserID()); + } + + /** + * Delete all permissions associated with the provided user. + * @param user + */ + private void deleteAllPermissions(MySQLUser user) { + //delete all user permissions + UserPermissionExample userPermissionExample = new UserPermissionExample(); + userPermissionExample.createCriteria().andUser_idEqualTo(user.getUserID()); + userPermissionDAO.deleteByExample(userPermissionExample); + + //delete all connection permissions + ConnectionPermissionExample connectionPermissionExample = new ConnectionPermissionExample(); + connectionPermissionExample.createCriteria().andUser_idEqualTo(user.getUserID()); + connectionPermissionDAO.deleteByExample(connectionPermissionExample); + + //delete all system permissions + SystemPermissionExample systemPermissionExample = new SystemPermissionExample(); + systemPermissionExample.createCriteria().andUser_idEqualTo(user.getUserID()); + systemPermissionDAO.deleteByExample(systemPermissionExample); } } diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionMapper.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionMapper.java index 5039aaa99..c94ce35fb 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionMapper.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionMapper.java @@ -10,7 +10,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int countByExample(ConnectionExample example); @@ -18,7 +18,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByExample(ConnectionExample example); @@ -26,7 +26,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByPrimaryKey(Integer connection_id); @@ -34,7 +34,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insert(Connection record); @@ -42,7 +42,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insertSelective(Connection record); @@ -50,7 +50,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ List selectByExample(ConnectionExample example); @@ -58,7 +58,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ Connection selectByPrimaryKey(Integer connection_id); @@ -66,7 +66,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExampleSelective(@Param("record") Connection record, @Param("example") ConnectionExample example); @@ -74,7 +74,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExample(@Param("record") Connection record, @Param("example") ConnectionExample example); @@ -82,7 +82,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByPrimaryKeySelective(Connection record); @@ -90,7 +90,7 @@ public interface ConnectionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByPrimaryKey(Connection record); } \ No newline at end of file diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionParameterMapper.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionParameterMapper.java index f1053dfbb..d8375bc71 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionParameterMapper.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionParameterMapper.java @@ -11,7 +11,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int countByExample(ConnectionParameterExample example); @@ -19,7 +19,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByExample(ConnectionParameterExample example); @@ -27,7 +27,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByPrimaryKey(ConnectionParameterKey key); @@ -35,7 +35,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insert(ConnectionParameter record); @@ -43,7 +43,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insertSelective(ConnectionParameter record); @@ -51,7 +51,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ List selectByExample(ConnectionParameterExample example); @@ -59,7 +59,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ ConnectionParameter selectByPrimaryKey(ConnectionParameterKey key); @@ -67,7 +67,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExampleSelective(@Param("record") ConnectionParameter record, @Param("example") ConnectionParameterExample example); @@ -75,7 +75,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExample(@Param("record") ConnectionParameter record, @Param("example") ConnectionParameterExample example); @@ -83,7 +83,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByPrimaryKeySelective(ConnectionParameter record); @@ -91,7 +91,7 @@ public interface ConnectionParameterMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByPrimaryKey(ConnectionParameter record); } \ No newline at end of file diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionPermissionMapper.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionPermissionMapper.java index ec024edd5..b764d3238 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionPermissionMapper.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/ConnectionPermissionMapper.java @@ -10,7 +10,7 @@ public interface ConnectionPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int countByExample(ConnectionPermissionExample example); @@ -18,7 +18,7 @@ public interface ConnectionPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByExample(ConnectionPermissionExample example); @@ -26,7 +26,7 @@ public interface ConnectionPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByPrimaryKey(ConnectionPermissionKey key); @@ -34,7 +34,7 @@ public interface ConnectionPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insert(ConnectionPermissionKey record); @@ -42,7 +42,7 @@ public interface ConnectionPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insertSelective(ConnectionPermissionKey record); @@ -50,7 +50,7 @@ public interface ConnectionPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ List selectByExample(ConnectionPermissionExample example); @@ -58,7 +58,7 @@ public interface ConnectionPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExampleSelective(@Param("record") ConnectionPermissionKey record, @Param("example") ConnectionPermissionExample example); @@ -66,7 +66,7 @@ public interface ConnectionPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExample(@Param("record") ConnectionPermissionKey record, @Param("example") ConnectionPermissionExample example); } \ No newline at end of file diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/SystemPermissionMapper.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/SystemPermissionMapper.java index bfd34f02f..2aa690b53 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/SystemPermissionMapper.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/SystemPermissionMapper.java @@ -10,7 +10,7 @@ public interface SystemPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int countByExample(SystemPermissionExample example); @@ -18,7 +18,7 @@ public interface SystemPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByExample(SystemPermissionExample example); @@ -26,7 +26,7 @@ public interface SystemPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByPrimaryKey(SystemPermissionKey key); @@ -34,7 +34,7 @@ public interface SystemPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insert(SystemPermissionKey record); @@ -42,7 +42,7 @@ public interface SystemPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insertSelective(SystemPermissionKey record); @@ -50,7 +50,7 @@ public interface SystemPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ List selectByExample(SystemPermissionExample example); @@ -58,7 +58,7 @@ public interface SystemPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExampleSelective(@Param("record") SystemPermissionKey record, @Param("example") SystemPermissionExample example); @@ -66,7 +66,7 @@ public interface SystemPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExample(@Param("record") SystemPermissionKey record, @Param("example") SystemPermissionExample example); } \ No newline at end of file diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/UserMapper.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/UserMapper.java index e5172c3a6..d74677309 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/UserMapper.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/UserMapper.java @@ -11,7 +11,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int countByExample(UserExample example); @@ -19,7 +19,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByExample(UserExample example); @@ -27,7 +27,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByPrimaryKey(Integer user_id); @@ -35,7 +35,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insert(UserWithBLOBs record); @@ -43,7 +43,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insertSelective(UserWithBLOBs record); @@ -51,7 +51,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ List selectByExampleWithBLOBs(UserExample example); @@ -59,7 +59,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ List selectByExample(UserExample example); @@ -67,7 +67,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ UserWithBLOBs selectByPrimaryKey(Integer user_id); @@ -75,7 +75,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExampleSelective(@Param("record") UserWithBLOBs record, @Param("example") UserExample example); @@ -83,7 +83,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExampleWithBLOBs(@Param("record") UserWithBLOBs record, @Param("example") UserExample example); @@ -91,7 +91,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExample(@Param("record") User record, @Param("example") UserExample example); @@ -99,7 +99,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByPrimaryKeySelective(UserWithBLOBs record); @@ -107,7 +107,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByPrimaryKeyWithBLOBs(UserWithBLOBs record); @@ -115,7 +115,7 @@ public interface UserMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByPrimaryKey(User record); } \ No newline at end of file diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/UserPermissionMapper.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/UserPermissionMapper.java index 304bca62b..3cba6639d 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/UserPermissionMapper.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/dao/UserPermissionMapper.java @@ -10,7 +10,7 @@ public interface UserPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int countByExample(UserPermissionExample example); @@ -18,7 +18,7 @@ public interface UserPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByExample(UserPermissionExample example); @@ -26,7 +26,7 @@ public interface UserPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int deleteByPrimaryKey(UserPermissionKey key); @@ -34,7 +34,7 @@ public interface UserPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insert(UserPermissionKey record); @@ -42,7 +42,7 @@ public interface UserPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int insertSelective(UserPermissionKey record); @@ -50,7 +50,7 @@ public interface UserPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ List selectByExample(UserPermissionExample example); @@ -58,7 +58,7 @@ public interface UserPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExampleSelective(@Param("record") UserPermissionKey record, @Param("example") UserPermissionExample example); @@ -66,7 +66,7 @@ public interface UserPermissionMapper { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ int updateByExample(@Param("record") UserPermissionKey record, @Param("example") UserPermissionExample example); } \ No newline at end of file diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/Connection.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/Connection.java index b644193ee..fa5b3b7d8 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/Connection.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/Connection.java @@ -5,7 +5,7 @@ public class Connection { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_connection.connection_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private Integer connection_id; @@ -13,7 +13,7 @@ public class Connection { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_connection.connection_name * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private String connection_name; @@ -21,7 +21,7 @@ public class Connection { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_connection.protocol * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private String protocol; @@ -31,7 +31,7 @@ public class Connection { * * @return the value of guacamole..guacamole_connection.connection_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Integer getConnection_id() { return connection_id; @@ -43,7 +43,7 @@ public class Connection { * * @param connection_id the value for guacamole..guacamole_connection.connection_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setConnection_id(Integer connection_id) { this.connection_id = connection_id; @@ -55,7 +55,7 @@ public class Connection { * * @return the value of guacamole..guacamole_connection.connection_name * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getConnection_name() { return connection_name; @@ -67,7 +67,7 @@ public class Connection { * * @param connection_name the value for guacamole..guacamole_connection.connection_name * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setConnection_name(String connection_name) { this.connection_name = connection_name; @@ -79,7 +79,7 @@ public class Connection { * * @return the value of guacamole..guacamole_connection.protocol * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getProtocol() { return protocol; @@ -91,7 +91,7 @@ public class Connection { * * @param protocol the value for guacamole..guacamole_connection.protocol * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setProtocol(String protocol) { this.protocol = protocol; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionExample.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionExample.java index ad8a48e19..c3490071b 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionExample.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionExample.java @@ -8,7 +8,7 @@ public class ConnectionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected String orderByClause; @@ -16,7 +16,7 @@ public class ConnectionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected boolean distinct; @@ -24,7 +24,7 @@ public class ConnectionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected List oredCriteria; @@ -32,7 +32,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public ConnectionExample() { oredCriteria = new ArrayList(); @@ -42,7 +42,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; @@ -52,7 +52,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getOrderByClause() { return orderByClause; @@ -62,7 +62,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setDistinct(boolean distinct) { this.distinct = distinct; @@ -72,7 +72,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public boolean isDistinct() { return distinct; @@ -82,7 +82,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public List getOredCriteria() { return oredCriteria; @@ -92,7 +92,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void or(Criteria criteria) { oredCriteria.add(criteria); @@ -102,7 +102,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria or() { Criteria criteria = createCriteriaInternal(); @@ -114,7 +114,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); @@ -128,7 +128,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); @@ -139,7 +139,7 @@ public class ConnectionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void clear() { oredCriteria.clear(); @@ -151,7 +151,7 @@ public class ConnectionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected abstract static class GeneratedCriteria { protected List criteria; @@ -399,7 +399,7 @@ public class ConnectionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated do_not_delete_during_merge Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated do_not_delete_during_merge Tue Feb 12 20:35:54 PST 2013 */ public static class Criteria extends GeneratedCriteria { @@ -412,7 +412,7 @@ public class ConnectionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_connection * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public static class Criterion { private String condition; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameter.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameter.java index 5f750f2d6..e15c4fb0f 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameter.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameter.java @@ -5,7 +5,7 @@ public class ConnectionParameter extends ConnectionParameterKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_connection_parameter.parameter_value * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private String parameter_value; @@ -15,7 +15,7 @@ public class ConnectionParameter extends ConnectionParameterKey { * * @return the value of guacamole..guacamole_connection_parameter.parameter_value * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getParameter_value() { return parameter_value; @@ -27,7 +27,7 @@ public class ConnectionParameter extends ConnectionParameterKey { * * @param parameter_value the value for guacamole..guacamole_connection_parameter.parameter_value * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setParameter_value(String parameter_value) { this.parameter_value = parameter_value; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameterExample.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameterExample.java index d57f3918f..ae1cd3519 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameterExample.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameterExample.java @@ -8,7 +8,7 @@ public class ConnectionParameterExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected String orderByClause; @@ -16,7 +16,7 @@ public class ConnectionParameterExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected boolean distinct; @@ -24,7 +24,7 @@ public class ConnectionParameterExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected List oredCriteria; @@ -32,7 +32,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public ConnectionParameterExample() { oredCriteria = new ArrayList(); @@ -42,7 +42,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; @@ -52,7 +52,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getOrderByClause() { return orderByClause; @@ -62,7 +62,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setDistinct(boolean distinct) { this.distinct = distinct; @@ -72,7 +72,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public boolean isDistinct() { return distinct; @@ -82,7 +82,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public List getOredCriteria() { return oredCriteria; @@ -92,7 +92,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void or(Criteria criteria) { oredCriteria.add(criteria); @@ -102,7 +102,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria or() { Criteria criteria = createCriteriaInternal(); @@ -114,7 +114,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); @@ -128,7 +128,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); @@ -139,7 +139,7 @@ public class ConnectionParameterExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void clear() { oredCriteria.clear(); @@ -151,7 +151,7 @@ public class ConnectionParameterExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected abstract static class GeneratedCriteria { protected List criteria; @@ -399,7 +399,7 @@ public class ConnectionParameterExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated do_not_delete_during_merge Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated do_not_delete_during_merge Tue Feb 12 20:35:54 PST 2013 */ public static class Criteria extends GeneratedCriteria { @@ -412,7 +412,7 @@ public class ConnectionParameterExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_connection_parameter * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public static class Criterion { private String condition; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameterKey.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameterKey.java index 2b7062448..494c9c162 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameterKey.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionParameterKey.java @@ -5,7 +5,7 @@ public class ConnectionParameterKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_connection_parameter.connection_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private Integer connection_id; @@ -13,7 +13,7 @@ public class ConnectionParameterKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_connection_parameter.parameter_name * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private String parameter_name; @@ -23,7 +23,7 @@ public class ConnectionParameterKey { * * @return the value of guacamole..guacamole_connection_parameter.connection_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Integer getConnection_id() { return connection_id; @@ -35,7 +35,7 @@ public class ConnectionParameterKey { * * @param connection_id the value for guacamole..guacamole_connection_parameter.connection_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setConnection_id(Integer connection_id) { this.connection_id = connection_id; @@ -47,7 +47,7 @@ public class ConnectionParameterKey { * * @return the value of guacamole..guacamole_connection_parameter.parameter_name * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getParameter_name() { return parameter_name; @@ -59,7 +59,7 @@ public class ConnectionParameterKey { * * @param parameter_name the value for guacamole..guacamole_connection_parameter.parameter_name * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setParameter_name(String parameter_name) { this.parameter_name = parameter_name; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionPermissionExample.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionPermissionExample.java index 6ffbebb64..4f898bbfb 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionPermissionExample.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionPermissionExample.java @@ -8,7 +8,7 @@ public class ConnectionPermissionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected String orderByClause; @@ -16,7 +16,7 @@ public class ConnectionPermissionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected boolean distinct; @@ -24,7 +24,7 @@ public class ConnectionPermissionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected List oredCriteria; @@ -32,7 +32,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public ConnectionPermissionExample() { oredCriteria = new ArrayList(); @@ -42,7 +42,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; @@ -52,7 +52,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getOrderByClause() { return orderByClause; @@ -62,7 +62,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setDistinct(boolean distinct) { this.distinct = distinct; @@ -72,7 +72,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public boolean isDistinct() { return distinct; @@ -82,7 +82,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public List getOredCriteria() { return oredCriteria; @@ -92,7 +92,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void or(Criteria criteria) { oredCriteria.add(criteria); @@ -102,7 +102,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria or() { Criteria criteria = createCriteriaInternal(); @@ -114,7 +114,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); @@ -128,7 +128,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); @@ -139,7 +139,7 @@ public class ConnectionPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void clear() { oredCriteria.clear(); @@ -151,7 +151,7 @@ public class ConnectionPermissionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected abstract static class GeneratedCriteria { protected List criteria; @@ -389,7 +389,7 @@ public class ConnectionPermissionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated do_not_delete_during_merge Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated do_not_delete_during_merge Tue Feb 12 20:35:54 PST 2013 */ public static class Criteria extends GeneratedCriteria { @@ -402,7 +402,7 @@ public class ConnectionPermissionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_connection_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public static class Criterion { private String condition; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionPermissionKey.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionPermissionKey.java index bb9c4bee8..31b7e5b3a 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionPermissionKey.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/ConnectionPermissionKey.java @@ -5,7 +5,7 @@ public class ConnectionPermissionKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_connection_permission.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private Integer user_id; @@ -13,7 +13,7 @@ public class ConnectionPermissionKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_connection_permission.connection_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private Integer connection_id; @@ -21,7 +21,7 @@ public class ConnectionPermissionKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_connection_permission.permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private String permission; @@ -31,7 +31,7 @@ public class ConnectionPermissionKey { * * @return the value of guacamole..guacamole_connection_permission.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Integer getUser_id() { return user_id; @@ -43,7 +43,7 @@ public class ConnectionPermissionKey { * * @param user_id the value for guacamole..guacamole_connection_permission.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setUser_id(Integer user_id) { this.user_id = user_id; @@ -55,7 +55,7 @@ public class ConnectionPermissionKey { * * @return the value of guacamole..guacamole_connection_permission.connection_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Integer getConnection_id() { return connection_id; @@ -67,7 +67,7 @@ public class ConnectionPermissionKey { * * @param connection_id the value for guacamole..guacamole_connection_permission.connection_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setConnection_id(Integer connection_id) { this.connection_id = connection_id; @@ -79,7 +79,7 @@ public class ConnectionPermissionKey { * * @return the value of guacamole..guacamole_connection_permission.permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getPermission() { return permission; @@ -91,7 +91,7 @@ public class ConnectionPermissionKey { * * @param permission the value for guacamole..guacamole_connection_permission.permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setPermission(String permission) { this.permission = permission; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/SystemPermissionExample.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/SystemPermissionExample.java index fddbafd6d..36f76ff33 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/SystemPermissionExample.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/SystemPermissionExample.java @@ -8,7 +8,7 @@ public class SystemPermissionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected String orderByClause; @@ -16,7 +16,7 @@ public class SystemPermissionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected boolean distinct; @@ -24,7 +24,7 @@ public class SystemPermissionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected List oredCriteria; @@ -32,7 +32,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public SystemPermissionExample() { oredCriteria = new ArrayList(); @@ -42,7 +42,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; @@ -52,7 +52,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getOrderByClause() { return orderByClause; @@ -62,7 +62,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setDistinct(boolean distinct) { this.distinct = distinct; @@ -72,7 +72,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public boolean isDistinct() { return distinct; @@ -82,7 +82,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public List getOredCriteria() { return oredCriteria; @@ -92,7 +92,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void or(Criteria criteria) { oredCriteria.add(criteria); @@ -102,7 +102,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria or() { Criteria criteria = createCriteriaInternal(); @@ -114,7 +114,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); @@ -128,7 +128,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); @@ -139,7 +139,7 @@ public class SystemPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void clear() { oredCriteria.clear(); @@ -151,7 +151,7 @@ public class SystemPermissionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected abstract static class GeneratedCriteria { protected List criteria; @@ -329,7 +329,7 @@ public class SystemPermissionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated do_not_delete_during_merge Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated do_not_delete_during_merge Tue Feb 12 20:35:54 PST 2013 */ public static class Criteria extends GeneratedCriteria { @@ -342,7 +342,7 @@ public class SystemPermissionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_system_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public static class Criterion { private String condition; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/SystemPermissionKey.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/SystemPermissionKey.java index fa59ec47b..e7d8523dc 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/SystemPermissionKey.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/SystemPermissionKey.java @@ -5,7 +5,7 @@ public class SystemPermissionKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_system_permission.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private Integer user_id; @@ -13,7 +13,7 @@ public class SystemPermissionKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_system_permission.permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private String permission; @@ -23,7 +23,7 @@ public class SystemPermissionKey { * * @return the value of guacamole..guacamole_system_permission.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Integer getUser_id() { return user_id; @@ -35,7 +35,7 @@ public class SystemPermissionKey { * * @param user_id the value for guacamole..guacamole_system_permission.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setUser_id(Integer user_id) { this.user_id = user_id; @@ -47,7 +47,7 @@ public class SystemPermissionKey { * * @return the value of guacamole..guacamole_system_permission.permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getPermission() { return permission; @@ -59,7 +59,7 @@ public class SystemPermissionKey { * * @param permission the value for guacamole..guacamole_system_permission.permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setPermission(String permission) { this.permission = permission; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/User.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/User.java index d9ea8c87f..c8ddd1ba1 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/User.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/User.java @@ -5,7 +5,7 @@ public class User { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_user.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private Integer user_id; @@ -13,7 +13,7 @@ public class User { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_user.username * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private String username; @@ -23,7 +23,7 @@ public class User { * * @return the value of guacamole..guacamole_user.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Integer getUser_id() { return user_id; @@ -35,7 +35,7 @@ public class User { * * @param user_id the value for guacamole..guacamole_user.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setUser_id(Integer user_id) { this.user_id = user_id; @@ -47,7 +47,7 @@ public class User { * * @return the value of guacamole..guacamole_user.username * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getUsername() { return username; @@ -59,7 +59,7 @@ public class User { * * @param username the value for guacamole..guacamole_user.username * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setUsername(String username) { this.username = username; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserExample.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserExample.java index 15c8bda7a..19baccadb 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserExample.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserExample.java @@ -8,7 +8,7 @@ public class UserExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected String orderByClause; @@ -16,7 +16,7 @@ public class UserExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected boolean distinct; @@ -24,7 +24,7 @@ public class UserExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected List oredCriteria; @@ -32,7 +32,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public UserExample() { oredCriteria = new ArrayList(); @@ -42,7 +42,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; @@ -52,7 +52,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getOrderByClause() { return orderByClause; @@ -62,7 +62,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setDistinct(boolean distinct) { this.distinct = distinct; @@ -72,7 +72,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public boolean isDistinct() { return distinct; @@ -82,7 +82,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public List getOredCriteria() { return oredCriteria; @@ -92,7 +92,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void or(Criteria criteria) { oredCriteria.add(criteria); @@ -102,7 +102,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria or() { Criteria criteria = createCriteriaInternal(); @@ -114,7 +114,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); @@ -128,7 +128,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); @@ -139,7 +139,7 @@ public class UserExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void clear() { oredCriteria.clear(); @@ -151,7 +151,7 @@ public class UserExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected abstract static class GeneratedCriteria { protected List criteria; @@ -329,7 +329,7 @@ public class UserExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_user * - * @mbggenerated do_not_delete_during_merge Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated do_not_delete_during_merge Tue Feb 12 20:35:54 PST 2013 */ public static class Criteria extends GeneratedCriteria { @@ -342,7 +342,7 @@ public class UserExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_user * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public static class Criterion { private String condition; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserPermissionExample.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserPermissionExample.java index a3803a93c..1d65e896d 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserPermissionExample.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserPermissionExample.java @@ -8,7 +8,7 @@ public class UserPermissionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected String orderByClause; @@ -16,7 +16,7 @@ public class UserPermissionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected boolean distinct; @@ -24,7 +24,7 @@ public class UserPermissionExample { * This field was generated by MyBatis Generator. * This field corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected List oredCriteria; @@ -32,7 +32,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public UserPermissionExample() { oredCriteria = new ArrayList(); @@ -42,7 +42,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; @@ -52,7 +52,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getOrderByClause() { return orderByClause; @@ -62,7 +62,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setDistinct(boolean distinct) { this.distinct = distinct; @@ -72,7 +72,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public boolean isDistinct() { return distinct; @@ -82,7 +82,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public List getOredCriteria() { return oredCriteria; @@ -92,7 +92,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void or(Criteria criteria) { oredCriteria.add(criteria); @@ -102,7 +102,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria or() { Criteria criteria = createCriteriaInternal(); @@ -114,7 +114,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); @@ -128,7 +128,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); @@ -139,7 +139,7 @@ public class UserPermissionExample { * This method was generated by MyBatis Generator. * This method corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void clear() { oredCriteria.clear(); @@ -151,7 +151,7 @@ public class UserPermissionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ protected abstract static class GeneratedCriteria { protected List criteria; @@ -389,7 +389,7 @@ public class UserPermissionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated do_not_delete_during_merge Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated do_not_delete_during_merge Tue Feb 12 20:35:54 PST 2013 */ public static class Criteria extends GeneratedCriteria { @@ -402,7 +402,7 @@ public class UserPermissionExample { * This class was generated by MyBatis Generator. * This class corresponds to the database table guacamole..guacamole_user_permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public static class Criterion { private String condition; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserPermissionKey.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserPermissionKey.java index 43a3abb4e..711785577 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserPermissionKey.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserPermissionKey.java @@ -5,7 +5,7 @@ public class UserPermissionKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_user_permission.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private Integer user_id; @@ -13,7 +13,7 @@ public class UserPermissionKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_user_permission.affected_user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private Integer affected_user_id; @@ -21,7 +21,7 @@ public class UserPermissionKey { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_user_permission.permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private String permission; @@ -31,7 +31,7 @@ public class UserPermissionKey { * * @return the value of guacamole..guacamole_user_permission.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Integer getUser_id() { return user_id; @@ -43,7 +43,7 @@ public class UserPermissionKey { * * @param user_id the value for guacamole..guacamole_user_permission.user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setUser_id(Integer user_id) { this.user_id = user_id; @@ -55,7 +55,7 @@ public class UserPermissionKey { * * @return the value of guacamole..guacamole_user_permission.affected_user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public Integer getAffected_user_id() { return affected_user_id; @@ -67,7 +67,7 @@ public class UserPermissionKey { * * @param affected_user_id the value for guacamole..guacamole_user_permission.affected_user_id * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setAffected_user_id(Integer affected_user_id) { this.affected_user_id = affected_user_id; @@ -79,7 +79,7 @@ public class UserPermissionKey { * * @return the value of guacamole..guacamole_user_permission.permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public String getPermission() { return permission; @@ -91,7 +91,7 @@ public class UserPermissionKey { * * @param permission the value for guacamole..guacamole_user_permission.permission * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setPermission(String permission) { this.permission = permission; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserWithBLOBs.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserWithBLOBs.java index 4ff86ca41..36838bdfa 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserWithBLOBs.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/model/UserWithBLOBs.java @@ -5,7 +5,7 @@ public class UserWithBLOBs extends User { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_user.password_hash * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private byte[] password_hash; @@ -13,7 +13,7 @@ public class UserWithBLOBs extends User { * This field was generated by MyBatis Generator. * This field corresponds to the database column guacamole..guacamole_user.password_salt * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ private byte[] password_salt; @@ -23,7 +23,7 @@ public class UserWithBLOBs extends User { * * @return the value of guacamole..guacamole_user.password_hash * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public byte[] getPassword_hash() { return password_hash; @@ -35,7 +35,7 @@ public class UserWithBLOBs extends User { * * @param password_hash the value for guacamole..guacamole_user.password_hash * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setPassword_hash(byte[] password_hash) { this.password_hash = password_hash; @@ -47,7 +47,7 @@ public class UserWithBLOBs extends User { * * @return the value of guacamole..guacamole_user.password_salt * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public byte[] getPassword_salt() { return password_salt; @@ -59,7 +59,7 @@ public class UserWithBLOBs extends User { * * @param password_salt the value for guacamole..guacamole_user.password_salt * - * @mbggenerated Tue Feb 12 10:51:12 PST 2013 + * @mbggenerated Tue Feb 12 20:35:54 PST 2013 */ public void setPassword_salt(byte[] password_salt) { this.password_salt = password_salt; diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/utility/PermissionCheckUtility.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/utility/PermissionCheckUtility.java new file mode 100644 index 000000000..096b2af35 --- /dev/null +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/utility/PermissionCheckUtility.java @@ -0,0 +1,511 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is guacamole-auth-mysql. + * + * The Initial Developer of the Original Code is + * James Muehlner. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ +package net.sourceforge.guacamole.net.auth.mysql.utility; + +import com.google.inject.Inject; +import com.google.inject.Provider; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import net.sourceforge.guacamole.net.auth.mysql.MySQLConnection; +import net.sourceforge.guacamole.net.auth.mysql.MySQLConstants; +import net.sourceforge.guacamole.net.auth.mysql.MySQLUser; +import net.sourceforge.guacamole.net.auth.mysql.dao.ConnectionMapper; +import net.sourceforge.guacamole.net.auth.mysql.dao.ConnectionPermissionMapper; +import net.sourceforge.guacamole.net.auth.mysql.dao.SystemPermissionMapper; +import net.sourceforge.guacamole.net.auth.mysql.dao.UserMapper; +import net.sourceforge.guacamole.net.auth.mysql.dao.UserPermissionMapper; +import net.sourceforge.guacamole.net.auth.mysql.model.Connection; +import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionExample; +import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionPermissionExample; +import net.sourceforge.guacamole.net.auth.mysql.model.ConnectionPermissionKey; +import net.sourceforge.guacamole.net.auth.mysql.model.SystemPermissionExample; +import net.sourceforge.guacamole.net.auth.mysql.model.SystemPermissionKey; +import net.sourceforge.guacamole.net.auth.mysql.model.User; +import net.sourceforge.guacamole.net.auth.mysql.model.UserExample; +import net.sourceforge.guacamole.net.auth.mysql.model.UserPermissionExample; +import net.sourceforge.guacamole.net.auth.mysql.model.UserPermissionKey; +import net.sourceforge.guacamole.net.auth.mysql.model.UserWithBLOBs; +import net.sourceforge.guacamole.net.auth.permission.ConnectionDirectoryPermission; +import net.sourceforge.guacamole.net.auth.permission.ConnectionPermission; +import net.sourceforge.guacamole.net.auth.permission.Permission; +import net.sourceforge.guacamole.net.auth.permission.SystemPermission; +import net.sourceforge.guacamole.net.auth.permission.UserDirectoryPermission; +import net.sourceforge.guacamole.net.auth.permission.UserPermission; + +/** + * A utility to retrieve information about what objects a user has permission to. + * @author James Muehlner + */ +public class PermissionCheckUtility { + + @Inject + UserMapper userDAO; + + @Inject + ConnectionMapper connectionDAO; + + @Inject + UserPermissionMapper userPermissionDAO; + + @Inject + ConnectionPermissionMapper connectionPermissionDAO; + + @Inject + SystemPermissionMapper systemPermissionDAO; + + @Inject + Provider mySQLUserProvider; + + @Inject + Provider mySQLConnectionProvider; + + public boolean checkUserReadAccess(int userID, int affectedUserID) { + return checkUserAccess(userID, affectedUserID, MySQLConstants.READ_USER); + } + + public boolean checkUserWriteAccess(int userID, int affectedUserID) { + return checkUserAccess(userID, affectedUserID, MySQLConstants.WRITE_USER); + } + + public boolean checkUserDeleteAccess(int userID, int affectedUserID) { + return checkUserAccess(userID, affectedUserID, MySQLConstants.DELETE_USER); + } + + public boolean checkUserAdministerAccess(int userID, int affectedUserID) { + return checkUserAccess(userID, affectedUserID, MySQLConstants.ADMINISTER_USER); + } + + public boolean checkUserReadAccess(int userID, String affectedUsername) { + return checkUserAccess(userID, affectedUsername, MySQLConstants.READ_USER); + } + + public boolean checkUserWriteAccess(int userID, String affectedUsername) { + return checkUserAccess(userID, affectedUsername, MySQLConstants.WRITE_USER); + } + + public boolean checkUserDeleteAccess(int userID, String affectedUsername) { + return checkUserAccess(userID, affectedUsername, MySQLConstants.DELETE_USER); + } + + public boolean checkUserAdministerAccess(int userID, String affectedUsername) { + return checkUserAccess(userID, affectedUsername, MySQLConstants.ADMINISTER_USER); + } + + /** + * Check if the user has the selected type of access to the affected user. + * @param userID + * @param affectedUsername + * @param permissionType + * @return + */ + private boolean checkUserAccess(int userID, String affectedUsername, String permissionType) { + User affectedUser = getUser(affectedUsername); + if(affectedUser != null) + return checkUserAccess(userID, affectedUser.getUser_id(), permissionType); + + return false; + } + + /** + * Check if the user has the selected type of access to the affected user. + * @param userID + * @param affectedUserID + * @param permissionType + * @return + */ + private boolean checkUserAccess(int userID, Integer affectedUserID, String permissionType) { + UserPermissionExample example = new UserPermissionExample(); + example.createCriteria().andUser_idEqualTo(userID).andAffected_user_idEqualTo(affectedUserID).andPermissionEqualTo(permissionType); + int count = userPermissionDAO.countByExample(example); + return count > 0; + } + + /** + * Find the list of all users a user has permission to administer. + * @param userID + * @return the list of all users this user has administer access to + */ + public List getAdministerableUsers(int userID) { + return getUsers(userID, MySQLConstants.ADMINISTER_USER); + } + + /** + * Find the list of all users a user has permission to delete. + * @param userID + * @return the list of all users this user has delete access to + */ + public List getDeletableUsers(int userID) { + return getUsers(userID, MySQLConstants.DELETE_USER); + } + + /** + * Find the list of all users a user has permission to write. + * @param userID + * @return the list of all users this user has write access to + */ + public List getWriteableleUsers(int userID) { + return getUsers(userID, MySQLConstants.WRITE_USER); + } + + /** + * Find the list of all users a user has permission to read. + * @param userID + * @return the list of all users this user read has access to + */ + public List getReadableUsers(int userID) { + return getUsers(userID, MySQLConstants.READ_USER); + } + + /** + * Find the list of all users a user has permission to. + * The access type is defined by permissionType. + * @param userID + * @param permissionType + * @return the list of all users this user has access to + */ + private List getUsers(int userID, String permissionType) { + List affectedUserIDs = getUserIDs(userID, permissionType); + UserExample example = new UserExample(); + example.createCriteria().andUser_idIn(affectedUserIDs); + List userDBOjects = userDAO.selectByExampleWithBLOBs(example); + List affectedUsers = new ArrayList(); + for(UserWithBLOBs affectedUser : userDBOjects) { + MySQLUser mySQLUser = mySQLUserProvider.get(); + mySQLUser.init(affectedUser); + affectedUsers.add(mySQLUser); + } + + return affectedUsers; + } + + /** + * Find the list of the IDs of all users a user has permission to. + * The access type is defined by permissionType. + * @param userID + * @param permissionType + * @return the list of all user IDs this user has access to + */ + private List getUserIDs(int userID, String permissionType) { + List userIDs = new ArrayList(); + UserPermissionExample example = new UserPermissionExample(); + example.createCriteria().andUser_idEqualTo(userID).andPermissionEqualTo(permissionType); + List userPermissions = userPermissionDAO.selectByExample(example); + for(UserPermissionKey permission : userPermissions) + userIDs.add(permission.getAffected_user_id()); + + return userIDs; + } + + public boolean checkConnectionReadAccess(int userID, int affectedConnectionID) { + return checkConnectionAccess(userID, affectedConnectionID, MySQLConstants.READ_CONNECTION); + } + + public boolean checkConnectionWriteAccess(int userID, int affectedConnectionID) { + return checkConnectionAccess(userID, affectedConnectionID, MySQLConstants.WRITE_CONNECTION); + } + + public boolean checkConnectionDeleteAccess(int userID, int affectedConnectionID) { + return checkConnectionAccess(userID, affectedConnectionID, MySQLConstants.DELETE_CONNECTION); + } + + public boolean checkConnectionAdministerAccess(int userID, int affectedConnectionID) { + return checkConnectionAccess(userID, affectedConnectionID, MySQLConstants.ADMINISTER_CONNECTION); + } + + public boolean checkConnectionReadAccess(int userID, String affectedConnectionname) { + return checkConnectionAccess(userID, affectedConnectionname, MySQLConstants.READ_CONNECTION); + } + + public boolean checkConnectionWriteAccess(int userID, String affectedConnectionname) { + return checkConnectionAccess(userID, affectedConnectionname, MySQLConstants.WRITE_CONNECTION); + } + + public boolean checkConnectionDeleteAccess(int userID, String affectedConnectionname) { + return checkConnectionAccess(userID, affectedConnectionname, MySQLConstants.DELETE_CONNECTION); + } + + public boolean checkConnectionAdministerAccess(int userID, String affectedConnectionname) { + return checkConnectionAccess(userID, affectedConnectionname, MySQLConstants.ADMINISTER_CONNECTION); + } + + /** + * Check if the user has the selected type of access to the affected connection. + * @param connectionID + * @param affectedConnectionname + * @param permissionType + * @return + */ + private boolean checkConnectionAccess(int userID, String affectedConnectionName, String permissionType) { + Connection connection = getConnection(affectedConnectionName); + if(connection != null) + return checkConnectionAccess(userID, connection.getConnection_id(), permissionType); + + return false; + } + + /** + * Check if the user has the selected type of access to the affected connection. + * @param connectionID + * @param affectedConnectionID + * @param permissionType + * @return + */ + private boolean checkConnectionAccess(int userID, Integer affectedConnectionID, String permissionType) { + ConnectionPermissionExample example = new ConnectionPermissionExample(); + example.createCriteria().andUser_idEqualTo(userID).andConnection_idEqualTo(affectedConnectionID).andPermissionEqualTo(permissionType); + int count = connectionPermissionDAO.countByExample(example); + return count > 0; + } + + /** + * Find the list of all connections a user has permission to administer. + * @param connectionID + * @return the list of all connections this connection has administer access to + */ + public List getAdministerableConnections(int userID) { + return getConnections(userID, MySQLConstants.ADMINISTER_CONNECTION); + } + + /** + * Find the list of all connections a user has permission to delete. + * @param connectionID + * @return the list of all connections this connection has delete access to + */ + public List getDeletableConnections(int userID) { + return getConnections(userID, MySQLConstants.DELETE_CONNECTION); + } + + /** + * Find the list of all connections a user has permission to write. + * @param connectionID + * @return the list of all connections this connection has write access to + */ + public List getWriteableleConnections(int userID) { + return getConnections(userID, MySQLConstants.WRITE_CONNECTION); + } + + /** + * Find the list of all connections a user has permission to read. + * @param connectionID + * @return the list of all connections this connection read has access to + */ + public List getReadableConnections(int userID) { + return getConnections(userID, MySQLConstants.READ_CONNECTION); + } + + /** + * Find the list of all connections a user has permission to. + * The access type is defined by permissionType. + * @param connectionID + * @param permissionType + * @return the list of all connections this user has access to + */ + private List getConnections(int userID, String permissionType) { + List affectedConnectionIDs = getConnectionIDs(userID, permissionType); + ConnectionExample example = new ConnectionExample(); + example.createCriteria().andConnection_idIn(affectedConnectionIDs); + List connectionDBOjects = connectionDAO.selectByExample(example); + List affectedConnections = new ArrayList(); + for(Connection affectedConnection : connectionDBOjects) { + MySQLConnection mySQLConnection = mySQLConnectionProvider.get(); + mySQLConnection.init(affectedConnection); + affectedConnections.add(mySQLConnection); + } + + return affectedConnections; + } + + /** + * Find the list of the IDs of all connections a user has permission to. + * The access type is defined by permissionType. + * @param connectionID + * @param permissionType + * @return the list of all connection IDs this user has access to + */ + private List getConnectionIDs(int userID, String permissionType) { + List connectionIDs = new ArrayList(); + ConnectionPermissionExample example = new ConnectionPermissionExample(); + example.createCriteria().andUser_idEqualTo(userID).andPermissionEqualTo(permissionType); + List connectionPermissions = connectionPermissionDAO.selectByExample(example); + for(ConnectionPermissionKey permission : connectionPermissions) + connectionIDs.add(permission.getConnection_id()); + + return connectionIDs; + } + + /** + * Check if the user has the permission to create users. + * @param userID + * @return + */ + public boolean checkCreateUserPermission(int userID) { + return checkSystemPermission(userID, MySQLConstants.CREATE_USER); + } + + /** + * Check if the user has the permission to create connections. + * @param userID + * @return + */ + public boolean checkCreateConnectionPermission(int userID) { + return checkSystemPermission(userID, MySQLConstants.CREATE_CONNECTION); + } + + /** + * Check if the user has the selected system permission. + * @param userID + * @param systemPermissionType + * @return + */ + private boolean checkSystemPermission(int userID, String systemPermissionType) { + SystemPermissionExample example = new SystemPermissionExample(); + example.createCriteria().andUser_idEqualTo(userID).andPermissionEqualTo(systemPermissionType); + int count = systemPermissionDAO.countByExample(example); + return count > 0; + } + + /** + * Get a connection object by name. + * @param name + * @return + */ + private Connection getConnection(String name) { + ConnectionExample example = new ConnectionExample(); + example.createCriteria().andConnection_nameEqualTo(name); + List connections = connectionDAO.selectByExample(example); + if(connections.isEmpty()) + return null; + + return connections.get(0); + } + + /** + * Get a user object by username. + * @param userName + * @return + */ + private User getUser(String username) { + UserExample example = new UserExample(); + example.createCriteria().andUsernameEqualTo(username); + List users = userDAO.selectByExample(example); + if(users.isEmpty()) + return null; + + return users.get(0); + } + + /** + * Get all permissions a given user has. + * @param userID + * @return + */ + public Set getAllPermissions(int userID) { + Set allPermissions = new HashSet(); + + // first, user permissions + UserPermissionExample userPermissionExample = new UserPermissionExample(); + userPermissionExample.createCriteria().andUser_idEqualTo(userID); + List userPermissions = userPermissionDAO.selectByExample(userPermissionExample); + List affectedUserIDs = new ArrayList(); + for(UserPermissionKey userPermission : userPermissions) { + affectedUserIDs.add(userPermission.getAffected_user_id()); + } + + UserExample userExample = new UserExample(); + userExample.createCriteria().andUser_idIn(affectedUserIDs); + List users = userDAO.selectByExample(userExample); + Map userMap = new HashMap(); + for(User user : users) { + userMap.put(user.getUser_id(), user); + } + + for(UserPermissionKey userPermission : userPermissions) { + User affectedUser = userMap.get(userPermission.getAffected_user_id()); + UserPermission newPermission = new UserPermission( + UserPermission.Type.valueOf(userPermission.getPermission()), + affectedUser.getUsername() + ); + allPermissions.add(newPermission); + } + + //secondly, connection permissions + ConnectionPermissionExample connectionPermissionExample = new ConnectionPermissionExample(); + connectionPermissionExample.createCriteria().andUser_idEqualTo(userID); + List connectionPermissions = connectionPermissionDAO.selectByExample(connectionPermissionExample); + List affectedConnectionIDs = new ArrayList(); + for(ConnectionPermissionKey connectionPermission : connectionPermissions) { + affectedConnectionIDs.add(connectionPermission.getConnection_id()); + } + + ConnectionExample connectionExample = new ConnectionExample(); + connectionExample.createCriteria().andConnection_idIn(affectedConnectionIDs); + List connections = connectionDAO.selectByExample(connectionExample); + Map connectionMap = new HashMap(); + for(Connection connection : connections) { + connectionMap.put(connection.getConnection_id(), connection); + } + + for(ConnectionPermissionKey connectionPermission : connectionPermissions) { + Connection affectedConnection = connectionMap.get(connectionPermission.getConnection_id()); + ConnectionPermission newPermission = new ConnectionPermission( + ConnectionPermission.Type.valueOf(connectionPermission.getPermission()), + affectedConnection.getConnection_name() + ); + allPermissions.add(newPermission); + } + + //and finally, system permissions + SystemPermissionExample systemPermissionExample = new SystemPermissionExample(); + systemPermissionExample.createCriteria().andUser_idEqualTo(userID); + List systemPermissions = systemPermissionDAO.selectByExample(systemPermissionExample); + for(SystemPermissionKey systemPermission : systemPermissions) { + SystemPermission newPermission = null; + if(systemPermission.getPermission().equals(MySQLConstants.CREATE_USER)) + newPermission = new UserDirectoryPermission(UserDirectoryPermission.Type.CREATE); + else if(systemPermission.getPermission().equals(MySQLConstants.CREATE_CONNECTION)) + newPermission = new ConnectionDirectoryPermission(ConnectionDirectoryPermission.Type.CREATE); + + if(newPermission != null) + allPermissions.add(newPermission); + } + + return allPermissions; + } +} diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/utility/SecureRandomSaltUtility.java b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/utility/SecureRandomSaltUtility.java index 71833fd94..3b31322d5 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/utility/SecureRandomSaltUtility.java +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/utility/SecureRandomSaltUtility.java @@ -39,7 +39,7 @@ import java.security.SecureRandom; /** * Generates password salts via the SecureRandom utility. - * @author dagger10k + * @author James Muehlner */ public class SecureRandomSaltUtility implements SaltUtility { diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionMapper.xml b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionMapper.xml index 0735194c5..db0a8aad7 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionMapper.xml +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionMapper.xml @@ -5,7 +5,7 @@ @@ -15,7 +15,7 @@ @@ -49,7 +49,7 @@ @@ -83,7 +83,7 @@ connection_id, connection_name, protocol @@ -91,7 +91,7 @@ select @@ -110,7 +110,7 @@ select @@ -121,7 +121,7 @@ delete from guacamole..guacamole_connection where connection_id = #{connection_id,jdbcType=INTEGER} @@ -130,7 +130,7 @@ delete from guacamole..guacamole_connection @@ -141,7 +141,7 @@ insert into guacamole..guacamole_connection (connection_id, connection_name, protocol ) @@ -152,7 +152,7 @@ insert into guacamole..guacamole_connection @@ -182,7 +182,7 @@ select count(*) from guacamole..guacamole_connection @@ -193,7 +193,7 @@ update guacamole..guacamole_connection @@ -215,7 +215,7 @@ update guacamole..guacamole_connection set connection_id = #{record.connection_id,jdbcType=INTEGER}, @@ -229,7 +229,7 @@ update guacamole..guacamole_connection @@ -246,7 +246,7 @@ update guacamole..guacamole_connection set connection_name = #{connection_name,jdbcType=VARCHAR}, diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionParameterMapper.xml b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionParameterMapper.xml index 9dce08532..dab04a451 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionParameterMapper.xml +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionParameterMapper.xml @@ -5,7 +5,7 @@ @@ -15,7 +15,7 @@ @@ -49,7 +49,7 @@ @@ -83,7 +83,7 @@ connection_id, parameter_name, parameter_value @@ -91,7 +91,7 @@ select @@ -110,7 +110,7 @@ select @@ -122,7 +122,7 @@ delete from guacamole..guacamole_connection_parameter where connection_id = #{connection_id,jdbcType=INTEGER} @@ -132,7 +132,7 @@ delete from guacamole..guacamole_connection_parameter @@ -143,7 +143,7 @@ insert into guacamole..guacamole_connection_parameter (connection_id, parameter_name, parameter_value ) @@ -154,7 +154,7 @@ insert into guacamole..guacamole_connection_parameter @@ -184,7 +184,7 @@ select count(*) from guacamole..guacamole_connection_parameter @@ -195,7 +195,7 @@ update guacamole..guacamole_connection_parameter @@ -217,7 +217,7 @@ update guacamole..guacamole_connection_parameter set connection_id = #{record.connection_id,jdbcType=INTEGER}, @@ -231,7 +231,7 @@ update guacamole..guacamole_connection_parameter @@ -246,7 +246,7 @@ update guacamole..guacamole_connection_parameter set parameter_value = #{parameter_value,jdbcType=VARCHAR} diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionPermissionMapper.xml b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionPermissionMapper.xml index 0ae3fc3a9..748522557 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionPermissionMapper.xml +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/ConnectionPermissionMapper.xml @@ -5,7 +5,7 @@ @@ -15,7 +15,7 @@ @@ -49,7 +49,7 @@ @@ -83,7 +83,7 @@ user_id, connection_id, permission @@ -91,7 +91,7 @@ select @@ -110,7 +110,7 @@ delete from guacamole..guacamole_connection_permission where user_id = #{user_id,jdbcType=INTEGER} @@ -121,7 +121,7 @@ delete from guacamole..guacamole_connection_permission @@ -132,7 +132,7 @@ insert into guacamole..guacamole_connection_permission (user_id, connection_id, permission ) @@ -143,7 +143,7 @@ insert into guacamole..guacamole_connection_permission @@ -173,7 +173,7 @@ select count(*) from guacamole..guacamole_connection_permission @@ -184,7 +184,7 @@ update guacamole..guacamole_connection_permission @@ -206,7 +206,7 @@ update guacamole..guacamole_connection_permission set user_id = #{record.user_id,jdbcType=INTEGER}, diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/SystemPermissionMapper.xml b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/SystemPermissionMapper.xml index dde3c6690..790c15e8e 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/SystemPermissionMapper.xml +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/SystemPermissionMapper.xml @@ -5,7 +5,7 @@ @@ -14,7 +14,7 @@ @@ -48,7 +48,7 @@ @@ -82,7 +82,7 @@ user_id, permission @@ -90,7 +90,7 @@ select @@ -109,7 +109,7 @@ delete from guacamole..guacamole_system_permission where user_id = #{user_id,jdbcType=INTEGER} @@ -119,7 +119,7 @@ delete from guacamole..guacamole_system_permission @@ -130,7 +130,7 @@ insert into guacamole..guacamole_system_permission (user_id, permission) values (#{user_id,jdbcType=INTEGER}, #{permission,jdbcType=CHAR}) @@ -139,7 +139,7 @@ insert into guacamole..guacamole_system_permission @@ -163,7 +163,7 @@ select count(*) from guacamole..guacamole_system_permission @@ -174,7 +174,7 @@ update guacamole..guacamole_system_permission @@ -193,7 +193,7 @@ update guacamole..guacamole_system_permission set user_id = #{record.user_id,jdbcType=INTEGER}, diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/UserMapper.xml b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/UserMapper.xml index 4a0e1f21e..7af380321 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/UserMapper.xml +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/UserMapper.xml @@ -5,7 +5,7 @@ @@ -14,7 +14,7 @@ @@ -23,7 +23,7 @@ @@ -57,7 +57,7 @@ @@ -91,7 +91,7 @@ user_id, username @@ -99,7 +99,7 @@ password_hash, password_salt @@ -107,7 +107,7 @@ select @@ -128,7 +128,7 @@ select @@ -147,7 +147,7 @@ select @@ -160,7 +160,7 @@ delete from guacamole..guacamole_user where user_id = #{user_id,jdbcType=INTEGER} @@ -169,7 +169,7 @@ delete from guacamole..guacamole_user @@ -180,7 +180,7 @@ insert into guacamole..guacamole_user (user_id, username, password_hash, password_salt) @@ -191,7 +191,7 @@ insert into guacamole..guacamole_user @@ -227,7 +227,7 @@ select count(*) from guacamole..guacamole_user @@ -238,7 +238,7 @@ update guacamole..guacamole_user @@ -263,7 +263,7 @@ update guacamole..guacamole_user set user_id = #{record.user_id,jdbcType=INTEGER}, @@ -278,7 +278,7 @@ update guacamole..guacamole_user set user_id = #{record.user_id,jdbcType=INTEGER}, @@ -291,7 +291,7 @@ update guacamole..guacamole_user @@ -311,7 +311,7 @@ update guacamole..guacamole_user set username = #{username,jdbcType=VARCHAR}, @@ -323,7 +323,7 @@ update guacamole..guacamole_user set username = #{username,jdbcType=VARCHAR} diff --git a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/UserPermissionMapper.xml b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/UserPermissionMapper.xml index 98c49f7c1..363ebea71 100644 --- a/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/UserPermissionMapper.xml +++ b/extensions/guacamole-auth-mysql/src/main/java/net/sourceforge/guacamole/net/auth/mysql/xml/UserPermissionMapper.xml @@ -5,7 +5,7 @@ @@ -15,7 +15,7 @@ @@ -49,7 +49,7 @@ @@ -83,7 +83,7 @@ user_id, affected_user_id, permission @@ -91,7 +91,7 @@ select @@ -110,7 +110,7 @@ delete from guacamole..guacamole_user_permission where user_id = #{user_id,jdbcType=INTEGER} @@ -121,7 +121,7 @@ delete from guacamole..guacamole_user_permission @@ -132,7 +132,7 @@ insert into guacamole..guacamole_user_permission (user_id, affected_user_id, permission ) @@ -143,7 +143,7 @@ insert into guacamole..guacamole_user_permission @@ -173,7 +173,7 @@ select count(*) from guacamole..guacamole_user_permission @@ -184,7 +184,7 @@ update guacamole..guacamole_user_permission @@ -206,7 +206,7 @@ update guacamole..guacamole_user_permission set user_id = #{record.user_id,jdbcType=INTEGER},