/**
 * DatabasePoolTest.java   - "Programmering i Java", 4.utgave - 2009-07-01
 *
 * Enkel utprøving av klassene DatabasePool og Forbindelse.
 */

package mittBibliotek.database;
import static javax.swing.JOptionPane.*;
class DatabasePoolTest {
  public static void main(String[] args) throws Exception {
    String dbDriver = "org.apache.derby.jdbc.ClientDriver";
    String dbNavn
            = "jdbc:derby://localhost:1527/persondata;user=vprg;password=vprg";
    int poolKapasitet = 3;
    DatabasePool dbPool =
          new DatabasePool(poolKapasitet, dbDriver, dbNavn);
    System.out.println("*** Skal reservere forbindelser, en mer enn det er i poolen.");
    for (int i = 0; i < poolKapasitet + 1; i++) {
      Forbindelse dbForb = dbPool.reserverForbindelse();
      System.out.println("*** Har fått tildelt forbindelse nr " + dbForb.getNr() + ".");
    }
    System.out.println("\n*** Frigir alle forbindelsene,  den siste skal også bli lukket");
    for (int i = 0; i < poolKapasitet + 1; i++) {
      dbPool.frigiForbindelse(i);
    }
    System.out.println("\n*** Lukker alle forbindelsene.");
    dbPool.lukkAlleForbindelser();
  }
}

/* Utskrift:
*** Skal reservere forbindelser, en mer enn det er i poolen.
Reserverer forbindelse 0
*** Har fått tildelt forbindelse nr 0.
Reserverer forbindelse 1
*** Har fått tildelt forbindelse nr 1.
Reserverer forbindelse 2
*** Har fått tildelt forbindelse nr 2.
Reserverer forbindelse 3
*** Har fått tildelt forbindelse nr 3.

*** Frigir alle forbindelsene,  den siste skal også bli lukket
Frigir forbindelse 0.
Frigir forbindelse 1.
Frigir forbindelse 2.
Frigir forbindelse 3.
Lukker forbindelse nr. 3.

*** Lukker alle forbindelsene.
Lukker forbindelse nr. 0.
Lukker forbindelse nr. 1.
Lukker forbindelse nr. 2.
*/
