mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Glenn Van Lint
21.09.2013 da9d318892e119b070bf204e850c05208466ad28
Added getPort() and getHostName() methods.
Added documentation.
1 files modified
95 ■■■■ changed files
opendj3/opendj-virtual/src/main/java/org/forgerock/opendj/virtual/JDBCConnectionFactory.java 95 ●●●● patch | view | raw | blame | history
opendj3/opendj-virtual/src/main/java/org/forgerock/opendj/virtual/JDBCConnectionFactory.java
@@ -27,39 +27,106 @@
import org.forgerock.opendj.ldap.FutureResult;
import org.forgerock.opendj.ldap.ResultHandler;
public final class JDBCConnectionFactory implements ConnectionFactory {
/**
 * A factory class which can be used to obtain connections to an SQL Database
 * Server.
 */
public final class JDBCConnectionFactory implements ConnectionFactory
{
  private String ConnectionUrl = "";
  private final String Host;
  private final int Port;
  private final String DbName;
  private JDBCConnection jdbc;
  public JDBCConnectionFactory(final String host, final int port, final String dbName) {
  /**
   * Creates a new JDBC connection factory which can be used to create JDBC
   * connections to the Database Server at the provided host and port
   * address.
   *
   *  @param host
   *            The host name.
   *  @param port
   *            The port number.
   *  @param dbName
   *            The name of the SQL database.
   * @throws NullPointerException
   *             If {@code dbName} was {@code null}.
   */
  public JDBCConnectionFactory(final String host, final int port, final String dbName)
  {
    this.Host = host;
    this.Port = port;
    this.DbName = dbName;
    //For connection to h2 database, use this.ConnectionUrl="jdbc:h2"
    this.ConnectionUrl="jdbc:mysql://"
        .concat(this.Host+":")
        .concat(this.Port+"/")
        .concat(this.DbName);
        .concat(Host+":")
        .concat(Port+"/")
        .concat(DbName);
  }
  public String getDbName(){
    return this.DbName;
  }
  /**
   * Returns a connection to the Directory Server associated with this
   * connection factory. The connection returned by this method can be used
   * immediately.
   * <p>
   * If the calling thread is interrupted while waiting for the connection
   * attempt to complete then the calling thread unblock and throw a
   * {@link CancelledResultException} whose cause is the underlying
   * {@link InterruptedException}.
   *
   * @return A connection to the Database Server associated with this
   *         connection factory.
   * @throws ErrorResultException
   *             If the connection request failed for some reason.
   */
  @Override
  public Connection getConnection() throws ErrorResultException {
    if (this.jdbc == null){
      this.jdbc = new JDBCConnection(this.ConnectionUrl);
  public Connection getConnection() throws ErrorResultException
  {
    if (jdbc == null){
      this.jdbc = new JDBCConnection(ConnectionUrl);
    }
    return this.jdbc;
    return jdbc;
  }
  /**
   * Returns the SQL database host name that was provided to this
   * connection factory.
   *
   * @return The SQL database host name that this connection factory uses.
   */
  public String getHostName()
  {
    return Host;
  }
  /**
   * Returns the SQL database port number that was provided to this
   * connection factory.
   *
   * @return The SQL database name that this connection factory uses.
   */
  public int getPort()
  {
    return Port;
  }
  /**
   * Returns the SQL database name that was provided to this
   * connection factory.
   *
   * @return The SQL database name that this connection factory uses.
   */
  public String getDatabaseName()
  {
    return DbName;
  }
  @Override
  public FutureResult<Connection> getConnectionAsync(
      ResultHandler<? super Connection> handler) {
      ResultHandler<? super Connection> handler)
  {
    return null;
  }
}