dbpoolman instead of connectionbroker
[mir.git] / source / mir / storage / Database.java
index 32eb579..ec48710 100755 (executable)
@@ -12,6 +12,9 @@ import  com.javaexchange.dbConnectionBroker.*;
 import  mir.storage.StorageObject;
 import  mir.entity.*;
 import  mir.misc.*;
+import com.codestudio.sql.*;
+import com.codestudio.sql.*;
+import com.codestudio.util.*;
 
 
 /**
@@ -72,7 +75,7 @@ public class Database implements StorageObject {
       database_url=theAdaptor.getURL(database_username,database_password,database_host);
       theLog.printDebugInfo("adding Broker with: " +database_driver+":"+database_url  );
       MirConfig.addBroker(database_driver,database_url);
-      myBroker=MirConfig.getBroker();
+      //myBroker=MirConfig.getBroker();
     }
     catch (Exception e){
       theLog.printError("Bei Konstruktion von Database() with " + theAdaptorName + " -- " +e.toString());
@@ -1043,13 +1046,30 @@ public class Database implements StorageObject {
       throwSQLException(sqe, "disconnectPool");
     }
   }
+  
+  public Connection getPooledCon() throws StorageObjectException {
+    try{
+      Class.forName("com.codestudio.sql.PoolMan").newInstance();
+    } catch (Exception e){
+      e.printStackTrace();
+      throw new StorageObjectException("Could not find the PoolMan Driver"+e.toString());
+    }
+    Connection con = null;
+    try{
+      con = SQLManager.getInstance().requestConnection();
+    } catch(SQLException e){
+      e.printStackTrace();
+      throw new StorageObjectException("No connection to the database");
+    }
+    return con;
+  }
 
   /**
    * Returns Connection-Object out of the PoolBroker.
    *
    * @return Connection Object.
    */
-  public Connection getPooledCon () throws StorageObjectException {
+  public Connection getPooledCon2() throws StorageObjectException {
     if (myBroker != null) {
       Connection con = myBroker.getConnection();
       if (con != null)
@@ -1064,7 +1084,7 @@ public class Database implements StorageObject {
    * @param con Connection zur Datenbank
    * @param stmt Statement-Objekt
    */
-  public void freeConnection (Connection con, Statement stmt)
+  public void freeConnection2 (Connection con, Statement stmt)
     throws StorageObjectException {
     try {
       if (stmt != null)
@@ -1080,6 +1100,12 @@ public class Database implements StorageObject {
       throw new StorageObjectException("Con was null!");
     }
   }
+  
+  public void freeConnection (Connection con, Statement stmt)
+    throws StorageObjectException {
+    SQLManager.getInstance().closeStatement(stmt);
+    SQLManager.getInstance().returnConnection(con);
+  }
 
   /**
    * Wertet SQLException aus und wirft dannach eine StorageObjectException