diff --git a/extensions/guacamole-auth-mysql/README b/extensions/guacamole-auth-mysql/README
new file mode 100644
index 000000000..af229b944
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/README
@@ -0,0 +1,93 @@
+
+------------------------------------------------------------
+ About this README
+------------------------------------------------------------
+
+This README is intended to provide quick and to-the-point documentation for
+technical users intending to compile parts of Guacamole themselves.
+
+Distribution-specific packages are available from the files section of the main
+project page:
+
+ http://sourceforge.net/projects/guacamole/files/
+
+Distribution-specific documentation is provided on the Guacamole wiki:
+
+ http://guac-dev.org/
+
+
+------------------------------------------------------------
+ What is guacamole-auth-mysql?
+------------------------------------------------------------
+
+guacamole-auth-ldap is a Java library for use with the Guacamole web
+application to provide mysql based authentication.
+
+guacamole-auth-mysql provides an authentication provider which can be
+set in guacamole.properties to allow mysql authentication of Guacamole
+users. Additional properties are required to configure the mysql
+connection parameters.
+
+A schema file are provided to create the required tables in your
+mysql database.
+
+
+------------------------------------------------------------
+ Compiling and installing guacamole-auth-mysql
+------------------------------------------------------------
+
+guacamole-auth-mysql is built using Maven. Building guacamole-auth-mysql
+compiles all classes and packages them into a redistributable .jar file. This
+.jar file can be installed in the library directory configured in
+guacamole.properties such that the authentication provider is available.
+
+1) Run mvn package
+
+ $ mvn package
+
+ Maven will download any needed dependencies for building the .jar file.
+ Once all dependencies have been downloaded, the .jar file will be
+ created in the target/ subdirectory of the current directory.
+
+2) Copy the .jar file into the library directory specified in your
+ guacamole.properties
+
+ You will likely need to do this as root.
+
+ If you do not have a library directory configured in your
+ guacamole.properties, you will need to specify one. The directory
+ is specified using the "lib-directory" property.
+
+3) Set up your MySQL database to authenticate Guacamole users
+
+ A schema file is provided in the schema directory for creating
+ the guacamole authentication tables in your MySQL database.
+
+4) Configure guacamole.properties for MySQL
+
+ There are additional properties required by the MySQL JDBC driver
+ which must be added/changed in your guacamole.properties:
+
+ # Configuration for MySQL connection
+ mysql-hostname: mysql.host.name
+ mysql-port: 3306
+ mysql-database: guacamole.database.name
+ mysql-username: user
+ mysql-password: pass
+
+
+------------------------------------------------------------
+ Generating MyBatis ORM mappings
+------------------------------------------------------------
+
+See the README.mybatis file.
+
+------------------------------------------------------------
+ Reporting problems
+------------------------------------------------------------
+
+Please report any bugs encountered by opening a new ticket at the Trac system
+hosted at:
+
+ http://guac-dev.org/trac/
+
diff --git a/extensions/guacamole-auth-mysql/README.mybatis b/extensions/guacamole-auth-mysql/README.mybatis
new file mode 100644
index 000000000..559b88ef0
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/README.mybatis
@@ -0,0 +1,37 @@
+
+------------------------------------------------------------
+ About this README
+------------------------------------------------------------
+
+This README is intended to provide quick and to-the-point documentation for
+technical users intending to generate MyBatis ORM code for the
+guacamole-auth-mysql project.
+
+------------------------------------------------------------
+ MyBatis?
+------------------------------------------------------------
+
+MyBatis is the orm used for connection to MySQL in the
+guacamole-auth-mysql project. For more information about MyBatis, see
+http://code.google.com/p/mybatis/
+
+------------------------------------------------------------
+ Generating the MyBatis mappings
+------------------------------------------------------------
+
+1) Download the MyBatis mapping generator
+
+ Go to http://code.google.com/p/mybatis/wiki/Generator to download
+ the MyBatis mapping generator jar.
+
+2) Set up the MyBatis mapping generator configuration xml
+
+ A commented sample file is provided in docs/examples.
+ For more information, see the documentation provided in the download from step 1.
+
+3) Generate the source files
+
+ java -jar mybatis-generator-core-1.3.2.jar -configfile mybatisconfig.xml [-overwrite]
+
+ This command will create the generated java and xml source in the location specified
+ in the configuration xml.
diff --git a/extensions/guacamole-auth-mysql/doc/examples/mybatisGeneratorConfig.xml b/extensions/guacamole-auth-mysql/doc/examples/mybatisGeneratorConfig.xml
new file mode 100644
index 000000000..b2110b992
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/doc/examples/mybatisGeneratorConfig.xml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/ConnectionMapper.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/ConnectionMapper.java
new file mode 100644
index 000000000..5366034c6
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/ConnectionMapper.java
@@ -0,0 +1,96 @@
+package net.sourceforge.guacamole.net.auth.mysql.dao.guacamole;
+
+import java.util.List;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.Connection;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.ConnectionExample;
+import org.apache.ibatis.annotations.Param;
+
+public interface ConnectionMapper {
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int countByExample(ConnectionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByExample(ConnectionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByPrimaryKey(Integer connection_id);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insert(Connection record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insertSelective(Connection record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ List selectByExample(ConnectionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ Connection selectByPrimaryKey(Integer connection_id);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByExampleSelective(@Param("record") Connection record, @Param("example") ConnectionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByExample(@Param("record") Connection record, @Param("example") ConnectionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByPrimaryKeySelective(Connection record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByPrimaryKey(Connection record);
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/ConnectionParameterMapper.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/ConnectionParameterMapper.java
new file mode 100644
index 000000000..f17368249
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/ConnectionParameterMapper.java
@@ -0,0 +1,97 @@
+package net.sourceforge.guacamole.net.auth.mysql.dao.guacamole;
+
+import java.util.List;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.ConnectionParameter;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.ConnectionParameterExample;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.ConnectionParameterKey;
+import org.apache.ibatis.annotations.Param;
+
+public interface ConnectionParameterMapper {
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int countByExample(ConnectionParameterExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByExample(ConnectionParameterExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByPrimaryKey(ConnectionParameterKey key);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insert(ConnectionParameter record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insertSelective(ConnectionParameter record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ List selectByExample(ConnectionParameterExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ ConnectionParameter selectByPrimaryKey(ConnectionParameterKey key);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByExampleSelective(@Param("record") ConnectionParameter record, @Param("example") ConnectionParameterExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByExample(@Param("record") ConnectionParameter record, @Param("example") ConnectionParameterExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByPrimaryKeySelective(ConnectionParameter record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByPrimaryKey(ConnectionParameter record);
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/ConnectionPermissionMapper.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/ConnectionPermissionMapper.java
new file mode 100644
index 000000000..4c2d60456
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/ConnectionPermissionMapper.java
@@ -0,0 +1,72 @@
+package net.sourceforge.guacamole.net.auth.mysql.dao.guacamole;
+
+import java.util.List;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.ConnectionPermissionExample;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.ConnectionPermissionKey;
+import org.apache.ibatis.annotations.Param;
+
+public interface ConnectionPermissionMapper {
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int countByExample(ConnectionPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByExample(ConnectionPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByPrimaryKey(ConnectionPermissionKey key);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insert(ConnectionPermissionKey record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insertSelective(ConnectionPermissionKey record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ List selectByExample(ConnectionPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByExampleSelective(@Param("record") ConnectionPermissionKey record, @Param("example") ConnectionPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 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/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/SystemPermissionMapper.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/SystemPermissionMapper.java
new file mode 100644
index 000000000..1669809b4
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/SystemPermissionMapper.java
@@ -0,0 +1,72 @@
+package net.sourceforge.guacamole.net.auth.mysql.dao.guacamole;
+
+import java.util.List;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.SystemPermissionExample;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.SystemPermissionKey;
+import org.apache.ibatis.annotations.Param;
+
+public interface SystemPermissionMapper {
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int countByExample(SystemPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByExample(SystemPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByPrimaryKey(SystemPermissionKey key);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insert(SystemPermissionKey record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insertSelective(SystemPermissionKey record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ List selectByExample(SystemPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByExampleSelective(@Param("record") SystemPermissionKey record, @Param("example") SystemPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 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/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/UserMapper.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/UserMapper.java
new file mode 100644
index 000000000..27a5b3d2b
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/UserMapper.java
@@ -0,0 +1,120 @@
+package net.sourceforge.guacamole.net.auth.mysql.dao.guacamole;
+
+import java.util.List;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.User;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.UserExample;
+import org.apache.ibatis.annotations.Param;
+
+public interface UserMapper {
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int countByExample(UserExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByExample(UserExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByPrimaryKey(Integer user_id);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insert(User record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insertSelective(User record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ List selectByExampleWithBLOBs(UserExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ List selectByExample(UserExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ User selectByPrimaryKey(Integer user_id);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByExampleWithBLOBs(@Param("record") User record, @Param("example") UserExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByExample(@Param("record") User record, @Param("example") UserExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByPrimaryKeySelective(User record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByPrimaryKeyWithBLOBs(User record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByPrimaryKey(User record);
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/UserPermissionMapper.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/UserPermissionMapper.java
new file mode 100644
index 000000000..1f4356e90
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/dao/guacamole/UserPermissionMapper.java
@@ -0,0 +1,72 @@
+package net.sourceforge.guacamole.net.auth.mysql.dao.guacamole;
+
+import java.util.List;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.UserPermissionExample;
+import net.sourceforge.guacamole.net.auth.mysql.model.guacamole.UserPermissionKey;
+import org.apache.ibatis.annotations.Param;
+
+public interface UserPermissionMapper {
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int countByExample(UserPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByExample(UserPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int deleteByPrimaryKey(UserPermissionKey key);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insert(UserPermissionKey record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int insertSelective(UserPermissionKey record);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ List selectByExample(UserPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ int updateByExampleSelective(@Param("record") UserPermissionKey record, @Param("example") UserPermissionExample example);
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 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/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/Connection.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/Connection.java
new file mode 100644
index 000000000..25ae414f3
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/Connection.java
@@ -0,0 +1,99 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+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 05 15:45:11 PST 2013
+ */
+ private Integer connection_id;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_connection.connection_name
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private String connection_name;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_connection.protocol
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private String protocol;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_connection.connection_id
+ *
+ * @return the value of guacamole..guacamole_connection.connection_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Integer getConnection_id() {
+ return connection_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_connection.connection_id
+ *
+ * @param connection_id the value for guacamole..guacamole_connection.connection_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setConnection_id(Integer connection_id) {
+ this.connection_id = connection_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_connection.connection_name
+ *
+ * @return the value of guacamole..guacamole_connection.connection_name
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getConnection_name() {
+ return connection_name;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_connection.connection_name
+ *
+ * @param connection_name the value for guacamole..guacamole_connection.connection_name
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setConnection_name(String connection_name) {
+ this.connection_name = connection_name == null ? null : connection_name.trim();
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_connection.protocol
+ *
+ * @return the value of guacamole..guacamole_connection.protocol
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getProtocol() {
+ return protocol;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_connection.protocol
+ *
+ * @param protocol the value for guacamole..guacamole_connection.protocol
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setProtocol(String protocol) {
+ this.protocol = protocol == null ? null : protocol.trim();
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionExample.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionExample.java
new file mode 100644
index 000000000..374a1cd78
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionExample.java
@@ -0,0 +1,502 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ConnectionExample {
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected String orderByClause;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected boolean distinct;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected List oredCriteria;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public ConnectionExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andConnection_idIsNull() {
+ addCriterion("connection_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idIsNotNull() {
+ addCriterion("connection_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idEqualTo(Integer value) {
+ addCriterion("connection_id =", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idNotEqualTo(Integer value) {
+ addCriterion("connection_id <>", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idGreaterThan(Integer value) {
+ addCriterion("connection_id >", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idGreaterThanOrEqualTo(Integer value) {
+ addCriterion("connection_id >=", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idLessThan(Integer value) {
+ addCriterion("connection_id <", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idLessThanOrEqualTo(Integer value) {
+ addCriterion("connection_id <=", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idIn(List values) {
+ addCriterion("connection_id in", values, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idNotIn(List values) {
+ addCriterion("connection_id not in", values, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idBetween(Integer value1, Integer value2) {
+ addCriterion("connection_id between", value1, value2, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idNotBetween(Integer value1, Integer value2) {
+ addCriterion("connection_id not between", value1, value2, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameIsNull() {
+ addCriterion("connection_name is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameIsNotNull() {
+ addCriterion("connection_name is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameEqualTo(String value) {
+ addCriterion("connection_name =", value, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameNotEqualTo(String value) {
+ addCriterion("connection_name <>", value, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameGreaterThan(String value) {
+ addCriterion("connection_name >", value, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameGreaterThanOrEqualTo(String value) {
+ addCriterion("connection_name >=", value, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameLessThan(String value) {
+ addCriterion("connection_name <", value, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameLessThanOrEqualTo(String value) {
+ addCriterion("connection_name <=", value, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameLike(String value) {
+ addCriterion("connection_name like", value, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameNotLike(String value) {
+ addCriterion("connection_name not like", value, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameIn(List values) {
+ addCriterion("connection_name in", values, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameNotIn(List values) {
+ addCriterion("connection_name not in", values, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameBetween(String value1, String value2) {
+ addCriterion("connection_name between", value1, value2, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_nameNotBetween(String value1, String value2) {
+ addCriterion("connection_name not between", value1, value2, "connection_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolIsNull() {
+ addCriterion("protocol is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolIsNotNull() {
+ addCriterion("protocol is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolEqualTo(String value) {
+ addCriterion("protocol =", value, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolNotEqualTo(String value) {
+ addCriterion("protocol <>", value, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolGreaterThan(String value) {
+ addCriterion("protocol >", value, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolGreaterThanOrEqualTo(String value) {
+ addCriterion("protocol >=", value, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolLessThan(String value) {
+ addCriterion("protocol <", value, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolLessThanOrEqualTo(String value) {
+ addCriterion("protocol <=", value, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolLike(String value) {
+ addCriterion("protocol like", value, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolNotLike(String value) {
+ addCriterion("protocol not like", value, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolIn(List values) {
+ addCriterion("protocol in", values, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolNotIn(List values) {
+ addCriterion("protocol not in", values, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolBetween(String value1, String value2) {
+ addCriterion("protocol between", value1, value2, "protocol");
+ return (Criteria) this;
+ }
+
+ public Criteria andProtocolNotBetween(String value1, String value2) {
+ addCriterion("protocol not between", value1, value2, "protocol");
+ return (Criteria) this;
+ }
+ }
+
+ /**
+ * 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 05 15:45:11 PST 2013
+ */
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_connection
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionParameter.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionParameter.java
new file mode 100644
index 000000000..2a2d73bc1
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionParameter.java
@@ -0,0 +1,35 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+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 05 15:45:11 PST 2013
+ */
+ private String parameter_value;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_connection_parameter.parameter_value
+ *
+ * @return the value of guacamole..guacamole_connection_parameter.parameter_value
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getParameter_value() {
+ return parameter_value;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_connection_parameter.parameter_value
+ *
+ * @param parameter_value the value for guacamole..guacamole_connection_parameter.parameter_value
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setParameter_value(String parameter_value) {
+ this.parameter_value = parameter_value == null ? null : parameter_value.trim();
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionParameterExample.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionParameterExample.java
new file mode 100644
index 000000000..be25c918b
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionParameterExample.java
@@ -0,0 +1,502 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ConnectionParameterExample {
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected String orderByClause;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected boolean distinct;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected List oredCriteria;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public ConnectionParameterExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andConnection_idIsNull() {
+ addCriterion("connection_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idIsNotNull() {
+ addCriterion("connection_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idEqualTo(Integer value) {
+ addCriterion("connection_id =", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idNotEqualTo(Integer value) {
+ addCriterion("connection_id <>", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idGreaterThan(Integer value) {
+ addCriterion("connection_id >", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idGreaterThanOrEqualTo(Integer value) {
+ addCriterion("connection_id >=", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idLessThan(Integer value) {
+ addCriterion("connection_id <", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idLessThanOrEqualTo(Integer value) {
+ addCriterion("connection_id <=", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idIn(List values) {
+ addCriterion("connection_id in", values, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idNotIn(List values) {
+ addCriterion("connection_id not in", values, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idBetween(Integer value1, Integer value2) {
+ addCriterion("connection_id between", value1, value2, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idNotBetween(Integer value1, Integer value2) {
+ addCriterion("connection_id not between", value1, value2, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameIsNull() {
+ addCriterion("parameter_name is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameIsNotNull() {
+ addCriterion("parameter_name is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameEqualTo(String value) {
+ addCriterion("parameter_name =", value, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameNotEqualTo(String value) {
+ addCriterion("parameter_name <>", value, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameGreaterThan(String value) {
+ addCriterion("parameter_name >", value, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameGreaterThanOrEqualTo(String value) {
+ addCriterion("parameter_name >=", value, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameLessThan(String value) {
+ addCriterion("parameter_name <", value, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameLessThanOrEqualTo(String value) {
+ addCriterion("parameter_name <=", value, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameLike(String value) {
+ addCriterion("parameter_name like", value, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameNotLike(String value) {
+ addCriterion("parameter_name not like", value, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameIn(List values) {
+ addCriterion("parameter_name in", values, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameNotIn(List values) {
+ addCriterion("parameter_name not in", values, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameBetween(String value1, String value2) {
+ addCriterion("parameter_name between", value1, value2, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_nameNotBetween(String value1, String value2) {
+ addCriterion("parameter_name not between", value1, value2, "parameter_name");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueIsNull() {
+ addCriterion("parameter_value is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueIsNotNull() {
+ addCriterion("parameter_value is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueEqualTo(String value) {
+ addCriterion("parameter_value =", value, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueNotEqualTo(String value) {
+ addCriterion("parameter_value <>", value, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueGreaterThan(String value) {
+ addCriterion("parameter_value >", value, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueGreaterThanOrEqualTo(String value) {
+ addCriterion("parameter_value >=", value, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueLessThan(String value) {
+ addCriterion("parameter_value <", value, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueLessThanOrEqualTo(String value) {
+ addCriterion("parameter_value <=", value, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueLike(String value) {
+ addCriterion("parameter_value like", value, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueNotLike(String value) {
+ addCriterion("parameter_value not like", value, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueIn(List values) {
+ addCriterion("parameter_value in", values, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueNotIn(List values) {
+ addCriterion("parameter_value not in", values, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueBetween(String value1, String value2) {
+ addCriterion("parameter_value between", value1, value2, "parameter_value");
+ return (Criteria) this;
+ }
+
+ public Criteria andParameter_valueNotBetween(String value1, String value2) {
+ addCriterion("parameter_value not between", value1, value2, "parameter_value");
+ return (Criteria) this;
+ }
+ }
+
+ /**
+ * 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 05 15:45:11 PST 2013
+ */
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_connection_parameter
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionParameterKey.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionParameterKey.java
new file mode 100644
index 000000000..986dbb4e4
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionParameterKey.java
@@ -0,0 +1,67 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+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 05 15:45:11 PST 2013
+ */
+ private Integer connection_id;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_connection_parameter.parameter_name
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private String parameter_name;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_connection_parameter.connection_id
+ *
+ * @return the value of guacamole..guacamole_connection_parameter.connection_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Integer getConnection_id() {
+ return connection_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_connection_parameter.connection_id
+ *
+ * @param connection_id the value for guacamole..guacamole_connection_parameter.connection_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setConnection_id(Integer connection_id) {
+ this.connection_id = connection_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_connection_parameter.parameter_name
+ *
+ * @return the value of guacamole..guacamole_connection_parameter.parameter_name
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getParameter_name() {
+ return parameter_name;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_connection_parameter.parameter_name
+ *
+ * @param parameter_name the value for guacamole..guacamole_connection_parameter.parameter_name
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setParameter_name(String parameter_name) {
+ this.parameter_name = parameter_name == null ? null : parameter_name.trim();
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionPermissionExample.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionPermissionExample.java
new file mode 100644
index 000000000..a65cde408
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionPermissionExample.java
@@ -0,0 +1,492 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ConnectionPermissionExample {
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected String orderByClause;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected boolean distinct;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected List oredCriteria;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public ConnectionPermissionExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andUser_idIsNull() {
+ addCriterion("user_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idIsNotNull() {
+ addCriterion("user_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idEqualTo(Integer value) {
+ addCriterion("user_id =", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotEqualTo(Integer value) {
+ addCriterion("user_id <>", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idGreaterThan(Integer value) {
+ addCriterion("user_id >", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idGreaterThanOrEqualTo(Integer value) {
+ addCriterion("user_id >=", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idLessThan(Integer value) {
+ addCriterion("user_id <", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idLessThanOrEqualTo(Integer value) {
+ addCriterion("user_id <=", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idIn(List values) {
+ addCriterion("user_id in", values, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotIn(List values) {
+ addCriterion("user_id not in", values, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idBetween(Integer value1, Integer value2) {
+ addCriterion("user_id between", value1, value2, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotBetween(Integer value1, Integer value2) {
+ addCriterion("user_id not between", value1, value2, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idIsNull() {
+ addCriterion("connection_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idIsNotNull() {
+ addCriterion("connection_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idEqualTo(Integer value) {
+ addCriterion("connection_id =", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idNotEqualTo(Integer value) {
+ addCriterion("connection_id <>", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idGreaterThan(Integer value) {
+ addCriterion("connection_id >", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idGreaterThanOrEqualTo(Integer value) {
+ addCriterion("connection_id >=", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idLessThan(Integer value) {
+ addCriterion("connection_id <", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idLessThanOrEqualTo(Integer value) {
+ addCriterion("connection_id <=", value, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idIn(List values) {
+ addCriterion("connection_id in", values, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idNotIn(List values) {
+ addCriterion("connection_id not in", values, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idBetween(Integer value1, Integer value2) {
+ addCriterion("connection_id between", value1, value2, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andConnection_idNotBetween(Integer value1, Integer value2) {
+ addCriterion("connection_id not between", value1, value2, "connection_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionIsNull() {
+ addCriterion("permission is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionIsNotNull() {
+ addCriterion("permission is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionEqualTo(String value) {
+ addCriterion("permission =", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotEqualTo(String value) {
+ addCriterion("permission <>", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionGreaterThan(String value) {
+ addCriterion("permission >", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionGreaterThanOrEqualTo(String value) {
+ addCriterion("permission >=", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionLessThan(String value) {
+ addCriterion("permission <", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionLessThanOrEqualTo(String value) {
+ addCriterion("permission <=", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionLike(String value) {
+ addCriterion("permission like", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotLike(String value) {
+ addCriterion("permission not like", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionIn(List values) {
+ addCriterion("permission in", values, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotIn(List values) {
+ addCriterion("permission not in", values, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionBetween(String value1, String value2) {
+ addCriterion("permission between", value1, value2, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotBetween(String value1, String value2) {
+ addCriterion("permission not between", value1, value2, "permission");
+ return (Criteria) this;
+ }
+ }
+
+ /**
+ * 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 05 15:45:11 PST 2013
+ */
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_connection_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionPermissionKey.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionPermissionKey.java
new file mode 100644
index 000000000..7e496190e
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/ConnectionPermissionKey.java
@@ -0,0 +1,99 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+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 05 15:45:11 PST 2013
+ */
+ private Integer user_id;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_connection_permission.connection_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private Integer connection_id;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_connection_permission.permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private String permission;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_connection_permission.user_id
+ *
+ * @return the value of guacamole..guacamole_connection_permission.user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Integer getUser_id() {
+ return user_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_connection_permission.user_id
+ *
+ * @param user_id the value for guacamole..guacamole_connection_permission.user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setUser_id(Integer user_id) {
+ this.user_id = user_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_connection_permission.connection_id
+ *
+ * @return the value of guacamole..guacamole_connection_permission.connection_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Integer getConnection_id() {
+ return connection_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_connection_permission.connection_id
+ *
+ * @param connection_id the value for guacamole..guacamole_connection_permission.connection_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setConnection_id(Integer connection_id) {
+ this.connection_id = connection_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_connection_permission.permission
+ *
+ * @return the value of guacamole..guacamole_connection_permission.permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getPermission() {
+ return permission;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_connection_permission.permission
+ *
+ * @param permission the value for guacamole..guacamole_connection_permission.permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setPermission(String permission) {
+ this.permission = permission == null ? null : permission.trim();
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/SystemPermissionExample.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/SystemPermissionExample.java
new file mode 100644
index 000000000..7c972fd93
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/SystemPermissionExample.java
@@ -0,0 +1,432 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SystemPermissionExample {
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected String orderByClause;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected boolean distinct;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected List oredCriteria;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public SystemPermissionExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andUser_idIsNull() {
+ addCriterion("user_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idIsNotNull() {
+ addCriterion("user_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idEqualTo(Integer value) {
+ addCriterion("user_id =", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotEqualTo(Integer value) {
+ addCriterion("user_id <>", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idGreaterThan(Integer value) {
+ addCriterion("user_id >", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idGreaterThanOrEqualTo(Integer value) {
+ addCriterion("user_id >=", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idLessThan(Integer value) {
+ addCriterion("user_id <", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idLessThanOrEqualTo(Integer value) {
+ addCriterion("user_id <=", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idIn(List values) {
+ addCriterion("user_id in", values, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotIn(List values) {
+ addCriterion("user_id not in", values, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idBetween(Integer value1, Integer value2) {
+ addCriterion("user_id between", value1, value2, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotBetween(Integer value1, Integer value2) {
+ addCriterion("user_id not between", value1, value2, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionIsNull() {
+ addCriterion("permission is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionIsNotNull() {
+ addCriterion("permission is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionEqualTo(String value) {
+ addCriterion("permission =", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotEqualTo(String value) {
+ addCriterion("permission <>", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionGreaterThan(String value) {
+ addCriterion("permission >", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionGreaterThanOrEqualTo(String value) {
+ addCriterion("permission >=", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionLessThan(String value) {
+ addCriterion("permission <", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionLessThanOrEqualTo(String value) {
+ addCriterion("permission <=", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionLike(String value) {
+ addCriterion("permission like", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotLike(String value) {
+ addCriterion("permission not like", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionIn(List values) {
+ addCriterion("permission in", values, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotIn(List values) {
+ addCriterion("permission not in", values, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionBetween(String value1, String value2) {
+ addCriterion("permission between", value1, value2, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotBetween(String value1, String value2) {
+ addCriterion("permission not between", value1, value2, "permission");
+ return (Criteria) this;
+ }
+ }
+
+ /**
+ * 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 05 15:45:11 PST 2013
+ */
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_system_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/SystemPermissionKey.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/SystemPermissionKey.java
new file mode 100644
index 000000000..920341d47
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/SystemPermissionKey.java
@@ -0,0 +1,67 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+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 05 15:45:11 PST 2013
+ */
+ private Integer user_id;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_system_permission.permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private String permission;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_system_permission.user_id
+ *
+ * @return the value of guacamole..guacamole_system_permission.user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Integer getUser_id() {
+ return user_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_system_permission.user_id
+ *
+ * @param user_id the value for guacamole..guacamole_system_permission.user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setUser_id(Integer user_id) {
+ this.user_id = user_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_system_permission.permission
+ *
+ * @return the value of guacamole..guacamole_system_permission.permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getPermission() {
+ return permission;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_system_permission.permission
+ *
+ * @param permission the value for guacamole..guacamole_system_permission.permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setPermission(String permission) {
+ this.permission = permission == null ? null : permission.trim();
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/User.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/User.java
new file mode 100644
index 000000000..3f2da3baa
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/User.java
@@ -0,0 +1,131 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+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 05 15:45:11 PST 2013
+ */
+ private Integer user_id;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_user.username
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private String username;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_user.password_salt
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private String password_salt;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_user.password_hash
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private byte[] password_hash;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_user.user_id
+ *
+ * @return the value of guacamole..guacamole_user.user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Integer getUser_id() {
+ return user_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_user.user_id
+ *
+ * @param user_id the value for guacamole..guacamole_user.user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setUser_id(Integer user_id) {
+ this.user_id = user_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_user.username
+ *
+ * @return the value of guacamole..guacamole_user.username
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getUsername() {
+ return username;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_user.username
+ *
+ * @param username the value for guacamole..guacamole_user.username
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setUsername(String username) {
+ this.username = username == null ? null : username.trim();
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_user.password_salt
+ *
+ * @return the value of guacamole..guacamole_user.password_salt
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getPassword_salt() {
+ return password_salt;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_user.password_salt
+ *
+ * @param password_salt the value for guacamole..guacamole_user.password_salt
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setPassword_salt(String password_salt) {
+ this.password_salt = password_salt == null ? null : password_salt.trim();
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_user.password_hash
+ *
+ * @return the value of guacamole..guacamole_user.password_hash
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public byte[] getPassword_hash() {
+ return password_hash;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_user.password_hash
+ *
+ * @param password_hash the value for guacamole..guacamole_user.password_hash
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setPassword_hash(byte[] password_hash) {
+ this.password_hash = password_hash;
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/UserExample.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/UserExample.java
new file mode 100644
index 000000000..3b8d8f09c
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/UserExample.java
@@ -0,0 +1,502 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class UserExample {
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected String orderByClause;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected boolean distinct;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected List oredCriteria;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public UserExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andUser_idIsNull() {
+ addCriterion("user_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idIsNotNull() {
+ addCriterion("user_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idEqualTo(Integer value) {
+ addCriterion("user_id =", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotEqualTo(Integer value) {
+ addCriterion("user_id <>", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idGreaterThan(Integer value) {
+ addCriterion("user_id >", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idGreaterThanOrEqualTo(Integer value) {
+ addCriterion("user_id >=", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idLessThan(Integer value) {
+ addCriterion("user_id <", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idLessThanOrEqualTo(Integer value) {
+ addCriterion("user_id <=", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idIn(List values) {
+ addCriterion("user_id in", values, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotIn(List values) {
+ addCriterion("user_id not in", values, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idBetween(Integer value1, Integer value2) {
+ addCriterion("user_id between", value1, value2, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotBetween(Integer value1, Integer value2) {
+ addCriterion("user_id not between", value1, value2, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameIsNull() {
+ addCriterion("username is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameIsNotNull() {
+ addCriterion("username is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameEqualTo(String value) {
+ addCriterion("username =", value, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameNotEqualTo(String value) {
+ addCriterion("username <>", value, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameGreaterThan(String value) {
+ addCriterion("username >", value, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameGreaterThanOrEqualTo(String value) {
+ addCriterion("username >=", value, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameLessThan(String value) {
+ addCriterion("username <", value, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameLessThanOrEqualTo(String value) {
+ addCriterion("username <=", value, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameLike(String value) {
+ addCriterion("username like", value, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameNotLike(String value) {
+ addCriterion("username not like", value, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameIn(List values) {
+ addCriterion("username in", values, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameNotIn(List values) {
+ addCriterion("username not in", values, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameBetween(String value1, String value2) {
+ addCriterion("username between", value1, value2, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andUsernameNotBetween(String value1, String value2) {
+ addCriterion("username not between", value1, value2, "username");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltIsNull() {
+ addCriterion("password_salt is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltIsNotNull() {
+ addCriterion("password_salt is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltEqualTo(String value) {
+ addCriterion("password_salt =", value, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltNotEqualTo(String value) {
+ addCriterion("password_salt <>", value, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltGreaterThan(String value) {
+ addCriterion("password_salt >", value, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltGreaterThanOrEqualTo(String value) {
+ addCriterion("password_salt >=", value, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltLessThan(String value) {
+ addCriterion("password_salt <", value, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltLessThanOrEqualTo(String value) {
+ addCriterion("password_salt <=", value, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltLike(String value) {
+ addCriterion("password_salt like", value, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltNotLike(String value) {
+ addCriterion("password_salt not like", value, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltIn(List values) {
+ addCriterion("password_salt in", values, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltNotIn(List values) {
+ addCriterion("password_salt not in", values, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltBetween(String value1, String value2) {
+ addCriterion("password_salt between", value1, value2, "password_salt");
+ return (Criteria) this;
+ }
+
+ public Criteria andPassword_saltNotBetween(String value1, String value2) {
+ addCriterion("password_salt not between", value1, value2, "password_salt");
+ return (Criteria) this;
+ }
+ }
+
+ /**
+ * 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 05 15:45:11 PST 2013
+ */
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_user
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/UserPermissionExample.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/UserPermissionExample.java
new file mode 100644
index 000000000..6902d9515
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/UserPermissionExample.java
@@ -0,0 +1,492 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class UserPermissionExample {
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected String orderByClause;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected boolean distinct;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected List oredCriteria;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public UserPermissionExample() {
+ oredCriteria = new ArrayList();
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected Criteria createCriteriaInternal() {
+ Criteria criteria = new Criteria();
+ return criteria;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andUser_idIsNull() {
+ addCriterion("user_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idIsNotNull() {
+ addCriterion("user_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idEqualTo(Integer value) {
+ addCriterion("user_id =", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotEqualTo(Integer value) {
+ addCriterion("user_id <>", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idGreaterThan(Integer value) {
+ addCriterion("user_id >", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idGreaterThanOrEqualTo(Integer value) {
+ addCriterion("user_id >=", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idLessThan(Integer value) {
+ addCriterion("user_id <", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idLessThanOrEqualTo(Integer value) {
+ addCriterion("user_id <=", value, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idIn(List values) {
+ addCriterion("user_id in", values, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotIn(List values) {
+ addCriterion("user_id not in", values, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idBetween(Integer value1, Integer value2) {
+ addCriterion("user_id between", value1, value2, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andUser_idNotBetween(Integer value1, Integer value2) {
+ addCriterion("user_id not between", value1, value2, "user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idIsNull() {
+ addCriterion("affected_user_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idIsNotNull() {
+ addCriterion("affected_user_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idEqualTo(Integer value) {
+ addCriterion("affected_user_id =", value, "affected_user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idNotEqualTo(Integer value) {
+ addCriterion("affected_user_id <>", value, "affected_user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idGreaterThan(Integer value) {
+ addCriterion("affected_user_id >", value, "affected_user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idGreaterThanOrEqualTo(Integer value) {
+ addCriterion("affected_user_id >=", value, "affected_user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idLessThan(Integer value) {
+ addCriterion("affected_user_id <", value, "affected_user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idLessThanOrEqualTo(Integer value) {
+ addCriterion("affected_user_id <=", value, "affected_user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idIn(List values) {
+ addCriterion("affected_user_id in", values, "affected_user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idNotIn(List values) {
+ addCriterion("affected_user_id not in", values, "affected_user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idBetween(Integer value1, Integer value2) {
+ addCriterion("affected_user_id between", value1, value2, "affected_user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andAffected_user_idNotBetween(Integer value1, Integer value2) {
+ addCriterion("affected_user_id not between", value1, value2, "affected_user_id");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionIsNull() {
+ addCriterion("permission is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionIsNotNull() {
+ addCriterion("permission is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionEqualTo(String value) {
+ addCriterion("permission =", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotEqualTo(String value) {
+ addCriterion("permission <>", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionGreaterThan(String value) {
+ addCriterion("permission >", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionGreaterThanOrEqualTo(String value) {
+ addCriterion("permission >=", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionLessThan(String value) {
+ addCriterion("permission <", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionLessThanOrEqualTo(String value) {
+ addCriterion("permission <=", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionLike(String value) {
+ addCriterion("permission like", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotLike(String value) {
+ addCriterion("permission not like", value, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionIn(List values) {
+ addCriterion("permission in", values, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotIn(List values) {
+ addCriterion("permission not in", values, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionBetween(String value1, String value2) {
+ addCriterion("permission between", value1, value2, "permission");
+ return (Criteria) this;
+ }
+
+ public Criteria andPermissionNotBetween(String value1, String value2) {
+ addCriterion("permission not between", value1, value2, "permission");
+ return (Criteria) this;
+ }
+ }
+
+ /**
+ * 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 05 15:45:11 PST 2013
+ */
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ /**
+ * This class was generated by MyBatis Generator.
+ * This class corresponds to the database table guacamole..guacamole_user_permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/UserPermissionKey.java b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/UserPermissionKey.java
new file mode 100644
index 000000000..f9e966bb7
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/model/guacamole/UserPermissionKey.java
@@ -0,0 +1,99 @@
+package net.sourceforge.guacamole.net.auth.mysql.model.guacamole;
+
+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 05 15:45:11 PST 2013
+ */
+ private Integer user_id;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_user_permission.affected_user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private Integer affected_user_id;
+
+ /**
+ * This field was generated by MyBatis Generator.
+ * This field corresponds to the database column guacamole..guacamole_user_permission.permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ private String permission;
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_user_permission.user_id
+ *
+ * @return the value of guacamole..guacamole_user_permission.user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Integer getUser_id() {
+ return user_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_user_permission.user_id
+ *
+ * @param user_id the value for guacamole..guacamole_user_permission.user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setUser_id(Integer user_id) {
+ this.user_id = user_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_user_permission.affected_user_id
+ *
+ * @return the value of guacamole..guacamole_user_permission.affected_user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public Integer getAffected_user_id() {
+ return affected_user_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_user_permission.affected_user_id
+ *
+ * @param affected_user_id the value for guacamole..guacamole_user_permission.affected_user_id
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setAffected_user_id(Integer affected_user_id) {
+ this.affected_user_id = affected_user_id;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method returns the value of the database column guacamole..guacamole_user_permission.permission
+ *
+ * @return the value of guacamole..guacamole_user_permission.permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public String getPermission() {
+ return permission;
+ }
+
+ /**
+ * This method was generated by MyBatis Generator.
+ * This method sets the value of the database column guacamole..guacamole_user_permission.permission
+ *
+ * @param permission the value for guacamole..guacamole_user_permission.permission
+ *
+ * @mbggenerated Tue Feb 05 15:45:11 PST 2013
+ */
+ public void setPermission(String permission) {
+ this.permission = permission == null ? null : permission.trim();
+ }
+}
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/ConnectionMapper.xml b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/ConnectionMapper.xml
new file mode 100644
index 000000000..376ac3269
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/ConnectionMapper.xml
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+ connection_id, connection_name, protocol
+
+
+
+
+
+ delete from guacamole..guacamole_connection
+ where connection_id = #{connection_id,jdbcType=INTEGER}
+
+
+
+ delete from guacamole..guacamole_connection
+
+
+
+
+
+
+ insert into guacamole..guacamole_connection (connection_id, connection_name, protocol
+ )
+ values (#{connection_id,jdbcType=INTEGER}, #{connection_name,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR}
+ )
+
+
+
+ insert into guacamole..guacamole_connection
+
+
+ connection_id,
+
+
+ connection_name,
+
+
+ protocol,
+
+
+
+
+ #{connection_id,jdbcType=INTEGER},
+
+
+ #{connection_name,jdbcType=VARCHAR},
+
+
+ #{protocol,jdbcType=VARCHAR},
+
+
+
+
+
+
+ update guacamole..guacamole_connection
+
+
+ connection_id = #{record.connection_id,jdbcType=INTEGER},
+
+
+ connection_name = #{record.connection_name,jdbcType=VARCHAR},
+
+
+ protocol = #{record.protocol,jdbcType=VARCHAR},
+
+
+
+
+
+
+
+
+ update guacamole..guacamole_connection
+ set connection_id = #{record.connection_id,jdbcType=INTEGER},
+ connection_name = #{record.connection_name,jdbcType=VARCHAR},
+ protocol = #{record.protocol,jdbcType=VARCHAR}
+
+
+
+
+
+
+ update guacamole..guacamole_connection
+
+
+ connection_name = #{connection_name,jdbcType=VARCHAR},
+
+
+ protocol = #{protocol,jdbcType=VARCHAR},
+
+
+ where connection_id = #{connection_id,jdbcType=INTEGER}
+
+
+
+ update guacamole..guacamole_connection
+ set connection_name = #{connection_name,jdbcType=VARCHAR},
+ protocol = #{protocol,jdbcType=VARCHAR}
+ where connection_id = #{connection_id,jdbcType=INTEGER}
+
+
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/ConnectionParameterMapper.xml b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/ConnectionParameterMapper.xml
new file mode 100644
index 000000000..44b175d1f
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/ConnectionParameterMapper.xml
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+ connection_id, parameter_name, parameter_value
+
+
+
+
+
+ delete from guacamole..guacamole_connection_parameter
+ where connection_id = #{connection_id,jdbcType=INTEGER}
+ and parameter_name = #{parameter_name,jdbcType=VARCHAR}
+
+
+
+ delete from guacamole..guacamole_connection_parameter
+
+
+
+
+
+
+ insert into guacamole..guacamole_connection_parameter (connection_id, parameter_name, parameter_value
+ )
+ values (#{connection_id,jdbcType=INTEGER}, #{parameter_name,jdbcType=VARCHAR}, #{parameter_value,jdbcType=VARCHAR}
+ )
+
+
+
+ insert into guacamole..guacamole_connection_parameter
+
+
+ connection_id,
+
+
+ parameter_name,
+
+
+ parameter_value,
+
+
+
+
+ #{connection_id,jdbcType=INTEGER},
+
+
+ #{parameter_name,jdbcType=VARCHAR},
+
+
+ #{parameter_value,jdbcType=VARCHAR},
+
+
+
+
+
+
+ update guacamole..guacamole_connection_parameter
+
+
+ connection_id = #{record.connection_id,jdbcType=INTEGER},
+
+
+ parameter_name = #{record.parameter_name,jdbcType=VARCHAR},
+
+
+ parameter_value = #{record.parameter_value,jdbcType=VARCHAR},
+
+
+
+
+
+
+
+
+ update guacamole..guacamole_connection_parameter
+ set connection_id = #{record.connection_id,jdbcType=INTEGER},
+ parameter_name = #{record.parameter_name,jdbcType=VARCHAR},
+ parameter_value = #{record.parameter_value,jdbcType=VARCHAR}
+
+
+
+
+
+
+ update guacamole..guacamole_connection_parameter
+
+
+ parameter_value = #{parameter_value,jdbcType=VARCHAR},
+
+
+ where connection_id = #{connection_id,jdbcType=INTEGER}
+ and parameter_name = #{parameter_name,jdbcType=VARCHAR}
+
+
+
+ update guacamole..guacamole_connection_parameter
+ set parameter_value = #{parameter_value,jdbcType=VARCHAR}
+ where connection_id = #{connection_id,jdbcType=INTEGER}
+ and parameter_name = #{parameter_name,jdbcType=VARCHAR}
+
+
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/ConnectionPermissionMapper.xml b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/ConnectionPermissionMapper.xml
new file mode 100644
index 000000000..8f522958b
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/ConnectionPermissionMapper.xml
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+ user_id, connection_id, permission
+
+
+
+
+ delete from guacamole..guacamole_connection_permission
+ where user_id = #{user_id,jdbcType=INTEGER}
+ and connection_id = #{connection_id,jdbcType=INTEGER}
+ and permission = #{permission,jdbcType=CHAR}
+
+
+
+ delete from guacamole..guacamole_connection_permission
+
+
+
+
+
+
+ insert into guacamole..guacamole_connection_permission (user_id, connection_id, permission
+ )
+ values (#{user_id,jdbcType=INTEGER}, #{connection_id,jdbcType=INTEGER}, #{permission,jdbcType=CHAR}
+ )
+
+
+
+ insert into guacamole..guacamole_connection_permission
+
+
+ user_id,
+
+
+ connection_id,
+
+
+ permission,
+
+
+
+
+ #{user_id,jdbcType=INTEGER},
+
+
+ #{connection_id,jdbcType=INTEGER},
+
+
+ #{permission,jdbcType=CHAR},
+
+
+
+
+
+
+ update guacamole..guacamole_connection_permission
+
+
+ user_id = #{record.user_id,jdbcType=INTEGER},
+
+
+ connection_id = #{record.connection_id,jdbcType=INTEGER},
+
+
+ permission = #{record.permission,jdbcType=CHAR},
+
+
+
+
+
+
+
+
+ update guacamole..guacamole_connection_permission
+ set user_id = #{record.user_id,jdbcType=INTEGER},
+ connection_id = #{record.connection_id,jdbcType=INTEGER},
+ permission = #{record.permission,jdbcType=CHAR}
+
+
+
+
+
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/SystemPermissionMapper.xml b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/SystemPermissionMapper.xml
new file mode 100644
index 000000000..40f3da6bc
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/SystemPermissionMapper.xml
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+ user_id, permission
+
+
+
+
+ delete from guacamole..guacamole_system_permission
+ where user_id = #{user_id,jdbcType=INTEGER}
+ and permission = #{permission,jdbcType=CHAR}
+
+
+
+ delete from guacamole..guacamole_system_permission
+
+
+
+
+
+
+ insert into guacamole..guacamole_system_permission (user_id, permission)
+ values (#{user_id,jdbcType=INTEGER}, #{permission,jdbcType=CHAR})
+
+
+
+ insert into guacamole..guacamole_system_permission
+
+
+ user_id,
+
+
+ permission,
+
+
+
+
+ #{user_id,jdbcType=INTEGER},
+
+
+ #{permission,jdbcType=CHAR},
+
+
+
+
+
+
+ update guacamole..guacamole_system_permission
+
+
+ user_id = #{record.user_id,jdbcType=INTEGER},
+
+
+ permission = #{record.permission,jdbcType=CHAR},
+
+
+
+
+
+
+
+
+ update guacamole..guacamole_system_permission
+ set user_id = #{record.user_id,jdbcType=INTEGER},
+ permission = #{record.permission,jdbcType=CHAR}
+
+
+
+
+
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/UserMapper.xml b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/UserMapper.xml
new file mode 100644
index 000000000..d1abca0f6
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/UserMapper.xml
@@ -0,0 +1,334 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+ user_id, username, password_salt
+
+
+
+ password_hash
+
+
+
+
+
+
+ delete from guacamole..guacamole_user
+ where user_id = #{user_id,jdbcType=INTEGER}
+
+
+
+ delete from guacamole..guacamole_user
+
+
+
+
+
+
+ insert into guacamole..guacamole_user (user_id, username, password_salt,
+ password_hash)
+ values (#{user_id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password_salt,jdbcType=VARCHAR},
+ #{password_hash,jdbcType=BINARY})
+
+
+
+ insert into guacamole..guacamole_user
+
+
+ user_id,
+
+
+ username,
+
+
+ password_salt,
+
+
+ password_hash,
+
+
+
+
+ #{user_id,jdbcType=INTEGER},
+
+
+ #{username,jdbcType=VARCHAR},
+
+
+ #{password_salt,jdbcType=VARCHAR},
+
+
+ #{password_hash,jdbcType=BINARY},
+
+
+
+
+
+
+ update guacamole..guacamole_user
+
+
+ user_id = #{record.user_id,jdbcType=INTEGER},
+
+
+ username = #{record.username,jdbcType=VARCHAR},
+
+
+ password_salt = #{record.password_salt,jdbcType=VARCHAR},
+
+
+ password_hash = #{record.password_hash,jdbcType=BINARY},
+
+
+
+
+
+
+
+
+ update guacamole..guacamole_user
+ set user_id = #{record.user_id,jdbcType=INTEGER},
+ username = #{record.username,jdbcType=VARCHAR},
+ password_salt = #{record.password_salt,jdbcType=VARCHAR},
+ password_hash = #{record.password_hash,jdbcType=BINARY}
+
+
+
+
+
+
+ update guacamole..guacamole_user
+ set user_id = #{record.user_id,jdbcType=INTEGER},
+ username = #{record.username,jdbcType=VARCHAR},
+ password_salt = #{record.password_salt,jdbcType=VARCHAR}
+
+
+
+
+
+
+ update guacamole..guacamole_user
+
+
+ username = #{username,jdbcType=VARCHAR},
+
+
+ password_salt = #{password_salt,jdbcType=VARCHAR},
+
+
+ password_hash = #{password_hash,jdbcType=BINARY},
+
+
+ where user_id = #{user_id,jdbcType=INTEGER}
+
+
+
+ update guacamole..guacamole_user
+ set username = #{username,jdbcType=VARCHAR},
+ password_salt = #{password_salt,jdbcType=VARCHAR},
+ password_hash = #{password_hash,jdbcType=BINARY}
+ where user_id = #{user_id,jdbcType=INTEGER}
+
+
+
+ update guacamole..guacamole_user
+ set username = #{username,jdbcType=VARCHAR},
+ password_salt = #{password_salt,jdbcType=VARCHAR}
+ where user_id = #{user_id,jdbcType=INTEGER}
+
+
\ No newline at end of file
diff --git a/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/UserPermissionMapper.xml b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/UserPermissionMapper.xml
new file mode 100644
index 000000000..5d27de207
--- /dev/null
+++ b/extensions/guacamole-auth-mysql/src/net/sourceforge/guacamole/net/auth/mysql/xml/guacamole/UserPermissionMapper.xml
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ and ${criterion.condition}
+
+
+ and ${criterion.condition} #{criterion.value}
+
+
+ and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+
+
+ and ${criterion.condition}
+
+ #{listItem}
+
+
+
+
+
+
+
+
+
+
+
+ user_id, affected_user_id, permission
+
+
+
+
+ delete from guacamole..guacamole_user_permission
+ where user_id = #{user_id,jdbcType=INTEGER}
+ and affected_user_id = #{affected_user_id,jdbcType=INTEGER}
+ and permission = #{permission,jdbcType=CHAR}
+
+
+
+ delete from guacamole..guacamole_user_permission
+
+
+
+
+
+
+ insert into guacamole..guacamole_user_permission (user_id, affected_user_id, permission
+ )
+ values (#{user_id,jdbcType=INTEGER}, #{affected_user_id,jdbcType=INTEGER}, #{permission,jdbcType=CHAR}
+ )
+
+
+
+ insert into guacamole..guacamole_user_permission
+
+
+ user_id,
+
+
+ affected_user_id,
+
+
+ permission,
+
+
+
+
+ #{user_id,jdbcType=INTEGER},
+
+
+ #{affected_user_id,jdbcType=INTEGER},
+
+
+ #{permission,jdbcType=CHAR},
+
+
+
+
+
+
+ update guacamole..guacamole_user_permission
+
+
+ user_id = #{record.user_id,jdbcType=INTEGER},
+
+
+ affected_user_id = #{record.affected_user_id,jdbcType=INTEGER},
+
+
+ permission = #{record.permission,jdbcType=CHAR},
+
+
+
+
+
+
+
+
+ update guacamole..guacamole_user_permission
+ set user_id = #{record.user_id,jdbcType=INTEGER},
+ affected_user_id = #{record.affected_user_id,jdbcType=INTEGER},
+ permission = #{record.permission,jdbcType=CHAR}
+
+
+
+
+
\ No newline at end of file