Github user necouchman commented on a diff in the pull request:

    
https://github.com/apache/incubator-guacamole-client/pull/182#discussion_r138401399
  
    --- Diff: 
extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/java/org/apache/guacamole/auth/sqlserver/SQLServerEnvironment.java
 ---
    @@ -0,0 +1,357 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance
    + * with the License.  You may obtain a copy of the License at
    + *
    + *   http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing,
    + * software distributed under the License is distributed on an
    + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    + * KIND, either express or implied.  See the License for the
    + * specific language governing permissions and limitations
    + * under the License.
    + */
    +
    +package org.apache.guacamole.auth.sqlserver;
    +
    +import org.apache.guacamole.GuacamoleException;
    +import org.apache.guacamole.auth.jdbc.JDBCEnvironment;
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +import org.apache.guacamole.auth.jdbc.security.PasswordPolicy;
    +
    +/**
    + * A SQLServer-specific implementation of JDBCEnvironment provides database
    + * properties specifically for SQLServer.
    + */
    +public class SQLServerEnvironment extends JDBCEnvironment {
    +
    +    /**
    +     * Logger for this class.
    +     */
    +    private static final Logger logger = 
LoggerFactory.getLogger(SQLServerEnvironment.class);
    +
    +    /**
    +     * The default host to connect to, if SQLSERVER_HOSTNAME is not 
specified.
    +     */
    +    private static final String DEFAULT_HOSTNAME = "localhost";
    +
    +    /**
    +     * The default port to connect to, if SQLSERVER_PORT is not specified.
    +     */
    +    private static final int DEFAULT_PORT = 1433;
    +
    +    /**
    +     * Whether a database user account is required by default for 
authentication
    +     * to succeed.
    +     */
    +    private static final boolean DEFAULT_USER_REQUIRED = true;
    +
    +    /**
    +     * The default value for the maximum number of connections to be
    +     * allowed to the Guacamole server overall.
    +     */
    +    private final int DEFAULT_ABSOLUTE_MAX_CONNECTIONS = 0;
    +
    +    /**
    +     * The default value for the default maximum number of connections to 
be
    +     * allowed per user to any one connection. Note that, as long as the
    +     * legacy "disallow duplicate" and "disallow simultaneous" properties 
are
    +     * still supported, these cannot be constants, as the legacy properties
    +     * dictate the values that should be used in the absence of the correct
    +     * properties.
    +     */
    +    private int DEFAULT_MAX_CONNECTIONS_PER_USER = 1;
    +
    +    /**
    +     * The default value for the default maximum number of connections to 
be
    +     * allowed per user to any one connection group. Note that, as long as 
the
    +     * legacy "disallow duplicate" and "disallow simultaneous" properties 
are
    +     * still supported, these cannot be constants, as the legacy properties
    +     * dictate the values that should be used in the absence of the correct
    +     * properties.
    +     */
    +    private int DEFAULT_MAX_GROUP_CONNECTIONS_PER_USER = 1;
    +
    +    /**
    +     * The default value for the default maximum number of connections to 
be
    +     * allowed to any one connection. Note that, as long as the legacy
    +     * "disallow duplicate" and "disallow simultaneous" properties are 
still
    +     * supported, these cannot be constants, as the legacy properties 
dictate
    +     * the values that should be used in the absence of the correct 
properties.
    +     */
    +    private int DEFAULT_MAX_CONNECTIONS = 0;
    +
    +    /**
    +     * The default value for the default maximum number of connections to 
be
    +     * allowed to any one connection group. Note that, as long as the 
legacy
    +     * "disallow duplicate" and "disallow simultaneous" properties are 
still
    +     * supported, these cannot be constants, as the legacy properties 
dictate
    +     * the values that should be used in the absence of the correct 
properties.
    +     */
    +    private int DEFAULT_MAX_GROUP_CONNECTIONS = 0;
    +
    +    /**
    +     * The value for the sqlserver-driver property that triggers the use of
    +     * the open source JTDS driver.
    +     */
    +    public final static String SQLSERVER_DRIVER_JTDS = "jtds";
    +
    +    /**
    +     * The value for the sqlserver-driver property that triggers the use of
    +     * the DataDirect JDBC driver.
    +     */
    +    public final static String SQLSERVER_DRIVER_DATADIRECT = "datadirect";
    +
    +    /**
    +     * The value for the sqlserver-driver property that triggers the use of
    +     * the older Microsoft JDBC driver.
    +     */
    +    public final static String SQLSERVER_DRIVER_MS = "microsoft";
    +
    +    /**
    +     * The value for the sqlserver-driver property that triggers the use of
    +     * the Microsoft JDBC driver.  This is the default.
    +     */
    +    public final static String SQLSERVER_DRIVER_MS_2005 = "microsoft2005";
    +
    +    /**
    +     * Constructs a new SQLServerEnvironment, providing access to 
SQLServer-specific
    +     * configuration options.
    +     * 
    +     * @throws GuacamoleException 
    +     *     If an error occurs while setting up the underlying 
JDBCEnvironment
    +     *     or while parsing legacy SQLServer configuration options.
    +     */
    +    public SQLServerEnvironment() throws GuacamoleException {
    +
    +        // Init underlying JDBC environment
    +        super();
    +
    +        // Read legacy concurrency-related property
    +        Boolean disallowSimultaneous = 
getProperty(SQLServerGuacamoleProperties.SQLSERVER_DISALLOW_SIMULTANEOUS_CONNECTIONS);
    +        Boolean disallowDuplicate    = 
getProperty(SQLServerGuacamoleProperties.SQLSERVER_DISALLOW_DUPLICATE_CONNECTIONS);
    +
    +        // Legacy "simultaneous" property dictates only the maximum number 
of
    +        // connections per connection
    +        if (disallowSimultaneous != null) {
    +
    +            // Translate legacy property
    +            if (disallowSimultaneous) {
    +                DEFAULT_MAX_CONNECTIONS       = 1;
    +                DEFAULT_MAX_GROUP_CONNECTIONS = 0;
    +            }
    +            else {
    +                DEFAULT_MAX_CONNECTIONS       = 0;
    +                DEFAULT_MAX_GROUP_CONNECTIONS = 0;
    +            }
    +
    +            // Warn of deprecation
    +            logger.warn("The \"{}\" property is deprecated. Use \"{}\" and 
\"{}\" instead.",
    --- End diff --
    
    Okay, will remove them.


---

Reply via email to