From 7fcf11dc8cea1fc7a33b1db7e17de8815f6241fd Mon Sep 17 00:00:00 2001
From: Glenn Van Lint <glenn.vanlint@is4u.be>
Date: Tue, 21 May 2013 13:09:59 +0000
Subject: [PATCH] Added getPort() and getHostName() methods. Added documentation.

---
 opendj-sdk/opendj3/opendj-virtual/src/main/java/org/forgerock/opendj/virtual/JDBCConnectionFactory.java |   95 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 81 insertions(+), 14 deletions(-)

diff --git a/opendj-sdk/opendj3/opendj-virtual/src/main/java/org/forgerock/opendj/virtual/JDBCConnectionFactory.java b/opendj-sdk/opendj3/opendj-virtual/src/main/java/org/forgerock/opendj/virtual/JDBCConnectionFactory.java
index 3c09004..a142ed2 100644
--- a/opendj-sdk/opendj3/opendj-virtual/src/main/java/org/forgerock/opendj/virtual/JDBCConnectionFactory.java
+++ b/opendj-sdk/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;
   }
 }

--
Gitblit v1.10.0