Author: dimuthul
Date: Sun Dec  9 05:20:20 2007
New Revision: 10732

Log:

Adding ConnectionPool to default realm.



Modified:
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAccessControlAdmin.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthenticator.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthorizer.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultCommons.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultDatabaseUtil.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealm.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealmConfig.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreAdmin.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreReader.java
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/resources.properties
   
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/acl/realm/AuthorizingRealmTest.java
   
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/readwrite/DefaultRealmTest.java

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAccessControlAdmin.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAccessControlAdmin.java
  (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAccessControlAdmin.java
  Sun Dec  9 05:20:20 2007
@@ -9,6 +9,7 @@
 import org.apache.commons.logging.LogFactory;
 import org.wso2.usermanager.AccessControlAdmin;
 import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.pool.SimplePoolManager;
 
 public class DefaultAccessControlAdmin
         extends DefaultAuthorizer implements AccessControlAdmin {
@@ -17,16 +18,18 @@
 
     protected DefaultRealmConfig config = null;
 
-    protected Connection dbConnection = null;
-
-    public DefaultAccessControlAdmin(DefaultRealmConfig conf, Connection conn) 
{
-        super(conf, conn);
+    public DefaultAccessControlAdmin(DefaultRealmConfig conf) {
+        super(conf);
         this.config = conf;
-        this.dbConnection = conn;
     }
 
     public void clearUserAuthorization(String userName, String resourceId,
             String action) throws UserManagerException {
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getPermission = dbConnection
             .prepareStatement(DefaultRealmConstants.GET_PERMISSION);
@@ -40,7 +43,7 @@
             }else{
                 throw new UserManagerException("nullData");
             }
-            String uid = DefaultCommons.getUserId(userName, dbConnection);
+            String uid = DefaultCommons.getUserId(userName);
             
             PreparedStatement clearUPStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.DELETE_USER_PERMISSION);
@@ -53,6 +56,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
     }
 
@@ -60,12 +65,17 @@
             throws UserManagerException {
         String permissionId = this.getOrAddPermissionId(resourceId, action);
 
-        String userId = DefaultCommons.getUserId(userName, dbConnection);
+        String userId = DefaultCommons.getUserId(userName);
 
         if (userId == null) {
             throw new UserManagerException("nullUser");
         }
 
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         String idUserPermission = UUIDGenerator.getUUID();
         short allow = 0;
         try {
@@ -81,20 +91,26 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
 
     }
 
     public void authorizeRole(String roleName, String resourceId, String 
action)
             throws UserManagerException {
-        String roleId = DefaultCommons.getRoleId(roleName, dbConnection);
+        String roleId = DefaultCommons.getRoleId(roleName);
 
         if (roleId == null) {
             throw new UserManagerException("nullRole");
         }
 
         String permissionId = this.getOrAddPermissionId(resourceId, action);
-
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         String idRolePermission = UUIDGenerator.getUUID();
         short allow = 1;
         try {
@@ -110,20 +126,26 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
 
     }
 
     public void denyRole(String roleName, String resourceId, String action)
             throws UserManagerException {
-        String roleId = DefaultCommons.getRoleId(roleName, dbConnection);
+        String roleId = DefaultCommons.getRoleId(roleName);
 
         if (roleId == null) {
             throw new UserManagerException("nullRole");
         }
 
         String permissionId = this.getOrAddPermissionId(resourceId, action);
-
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         String idRolePermission = UUIDGenerator.getUUID();
         short allow = 0;
         try {
@@ -139,12 +161,18 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
     }
 
     public void clearRoleAuthorization(String roleName, String resourceId,
             String action) throws UserManagerException {
-
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getPermission = dbConnection
             .prepareStatement(DefaultRealmConstants.GET_PERMISSION);
@@ -159,7 +187,7 @@
                 throw new UserManagerException("nullData");
             }
             
-            String rid = DefaultCommons.getUserId(roleName, dbConnection);
+            String rid = DefaultCommons.getUserId(roleName);
             
             PreparedStatement deleteRolesStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.DELETE_ROLE_PERMISSION);
@@ -173,12 +201,19 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
 
     }
 
     public void clearResourceAuthorizations(String resourceId)
             throws UserManagerException {
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement clearResourceAuthorizationsStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.DELETE_PERMISSION_ON_RESOURCE);
@@ -189,12 +224,18 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
     }
 
     public void copyAuthorizations(String fromResourceId, String toResourceId)
             throws UserManagerException {
-
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getResourcePermissionStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.GET_RESOURCE_PERMISSION);
@@ -280,6 +321,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorCopyingAuthorizations", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
 
     }
@@ -287,14 +330,20 @@
     public void authorizeUser(String userName, String resourceId, String 
action)
             throws UserManagerException {
 
-        String userId = DefaultCommons.getUserId(userName, dbConnection);
+        String userId = DefaultCommons.getUserId(userName);
 
         if (userId == null) {
             throw new UserManagerException("nullUser");
         }
 
         String permissionId = this.getOrAddPermissionId(resourceId, action);
-
+        
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
+        
         String idUserPermission = UUIDGenerator.getUUID();
         short allow = 1;
         try {
@@ -310,6 +359,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
 
     }
@@ -323,7 +374,12 @@
     protected String getOrAddPermissionId(String resourceId, String action)
             throws UserManagerException {
         String permissionId = null;
-
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
+        
         try {
             PreparedStatement getPermissionStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.GET_PERMISSION);
@@ -353,6 +409,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
 
         return permissionId;

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthenticator.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthenticator.java
       (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthenticator.java
       Sun Dec  9 05:20:20 2007
@@ -11,25 +11,30 @@
 import org.apache.commons.logging.LogFactory;
 import org.wso2.usermanager.Authenticator;
 import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.pool.JDBCConnectionPool;
+import org.wso2.usermanager.pool.SimplePoolManager;
 import org.wso2.usermanager.util.Base64;
 
-public class DefaultAuthenticator implements Authenticator{
-    
+public class DefaultAuthenticator implements Authenticator {
+
     private static Log log = LogFactory.getLog(DefaultAuthenticator.class);
 
     protected DefaultRealmConfig config = null;
 
-    protected Connection dbConnection = null;
-    
-    public DefaultAuthenticator(DefaultRealmConfig conf, Connection conn){
+    protected JDBCConnectionPool pool = null;
+
+    public DefaultAuthenticator(DefaultRealmConfig conf) {
         this.config = conf;
-        this.dbConnection = conn;
     }
-    
+
     public boolean authenticate(String userName, Object credentials)
             throws UserManagerException {
         boolean isAuth = false;
-
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getUserStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.GET_USER);
@@ -51,6 +56,8 @@
         } catch (NoSuchAlgorithmException e) {
             log.debug(e);
             throw new UserManagerException("errorCreatingPasswordDigest", e);
+        } finally {
+           pool.freeConnection(dbConnection);
         }
         return isAuth;
     }

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthorizer.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthorizer.java
  (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultAuthorizer.java
  Sun Dec  9 05:20:20 2007
@@ -11,18 +11,17 @@
 import org.apache.commons.logging.LogFactory;
 import org.wso2.usermanager.Authorizer;
 import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.pool.SimplePoolManager;
+
+public class DefaultAuthorizer implements Authorizer {
 
-public class DefaultAuthorizer implements Authorizer{
-    
     protected DefaultRealmConfig config = null;
-    protected Connection dbConnection = null;
     private static Log log = LogFactory.getLog(DefaultAuthorizer.class);
-    
-    public DefaultAuthorizer(DefaultRealmConfig conf, Connection conn){
+
+    public DefaultAuthorizer(DefaultRealmConfig conf) {
         this.config = conf;
-        this.dbConnection = conn;
     }
-    
+
     public boolean isRoleAuthorized(String roleName, String resourceId,
             String action) throws UserManagerException {
 
@@ -53,13 +52,18 @@
             return isAuthorized.booleanValue();
         }
     }
- 
 
-    public String[] getAllowedUsersForResource(String resourceId,
-            String action) throws UserManagerException {
+    public String[] getAllowedUsersForResource(String resourceId, String 
action)
+            throws UserManagerException {
         String[] names = new String[0];
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
-            PreparedStatement getAuthorizedUsersForResourceStmt = 
dbConnection.prepareStatement(DefaultRealmConstants.GET_ALLOWED_USERS_ON_RESOURCE);
+            PreparedStatement getAuthorizedUsersForResourceStmt = dbConnection
+                    
.prepareStatement(DefaultRealmConstants.GET_ALLOWED_USERS_ON_RESOURCE);
             getAuthorizedUsersForResourceStmt.setString(1, resourceId);
             getAuthorizedUsersForResourceStmt.setString(2, action);
             ResultSet rs = getAuthorizedUsersForResourceStmt.executeQuery();
@@ -74,15 +78,23 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
         return names;
     }
 
-    public String[] getDeniedUsersForResource(String resourceId,
-            String action) throws UserManagerException{
+    public String[] getDeniedUsersForResource(String resourceId, String action)
+            throws UserManagerException {
         String[] names = new String[0];
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
-            PreparedStatement getAuthorizedUsersForResourceStmt = 
dbConnection.prepareStatement(DefaultRealmConstants.GET_DENIED_USERS_ON_RESOURCE);
+            PreparedStatement getAuthorizedUsersForResourceStmt = dbConnection
+                    
.prepareStatement(DefaultRealmConstants.GET_DENIED_USERS_ON_RESOURCE);
             getAuthorizedUsersForResourceStmt.setString(1, resourceId);
             getAuthorizedUsersForResourceStmt.setString(2, action);
             ResultSet rs = getAuthorizedUsersForResourceStmt.executeQuery();
@@ -97,16 +109,23 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
-        return names;        
+        return names;
     }
 
-
-    public String[] getAllowedRolesForResource(String resourceId,
-            String action) throws UserManagerException {
+    public String[] getAllowedRolesForResource(String resourceId, String 
action)
+            throws UserManagerException {
         String[] names = new String[0];
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
-            PreparedStatement getAuthorizedRolesForResourceStmt = 
dbConnection.prepareStatement(DefaultRealmConstants.GET_ALLOWED_ROLES_FOR_RESOURCE);
+            PreparedStatement getAuthorizedRolesForResourceStmt = dbConnection
+                    
.prepareStatement(DefaultRealmConstants.GET_ALLOWED_ROLES_FOR_RESOURCE);
             getAuthorizedRolesForResourceStmt.setString(1, resourceId);
             getAuthorizedRolesForResourceStmt.setString(2, action);
             ResultSet rs = getAuthorizedRolesForResourceStmt.executeQuery();
@@ -121,16 +140,24 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
         return names;
     }
-    
-    public String[] getDeniedRolesForResource(String resourceId,
-            String action) throws UserManagerException{
-        
+
+    public String[] getDeniedRolesForResource(String resourceId, String action)
+            throws UserManagerException {
+
         String[] names = new String[0];
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
-            PreparedStatement getAuthorizedRolesForResourceStmt = 
dbConnection.prepareStatement(DefaultRealmConstants.GET_DENIED_ROLES_FOR_RESOURCE);
+            PreparedStatement getAuthorizedRolesForResourceStmt = dbConnection
+                    
.prepareStatement(DefaultRealmConstants.GET_DENIED_ROLES_FOR_RESOURCE);
             getAuthorizedRolesForResourceStmt.setString(1, resourceId);
             getAuthorizedRolesForResourceStmt.setString(2, action);
             ResultSet rs = getAuthorizedRolesForResourceStmt.executeQuery();
@@ -145,19 +172,20 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
         return names;
-        
+
     }
-    
-    
+
     private Boolean getUserAuthorizationConsideringRoles(String userName,
             String resourceId, String action) throws UserManagerException {
         Boolean isAuthorized = getUserAuthorized(userName, resourceId, action);
 
         boolean onceAllowed = false;
         if (isAuthorized == null) {
-            String[] roles = DefaultCommons.getUserRoles(userName, 
dbConnection);
+            String[] roles = DefaultCommons.getUserRoles(userName);
 
             for (int i = 0; i < roles.length; i++) {
                 String roleName = roles[i];
@@ -180,12 +208,15 @@
 
         return isAuthorized;
     }
-    
-    
-    
+
     private Boolean getRoleAuthorized(String roleName, String resourceId,
             String action) throws UserManagerException {
         Boolean isAuthorized = null;
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement isRoleAuthorizedStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.GET_ROLE_AUTHORIZED);
@@ -201,6 +232,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
         return isAuthorized;
     }
@@ -208,6 +241,11 @@
     private Boolean getUserAuthorized(String userName, String resourceId,
             String action) throws UserManagerException {
         Boolean result = null;
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement isUserAuthorizedStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.GET_USER_AUTHORIZED);
@@ -223,9 +261,10 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
         return result;
     }
-    
 
 }

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultCommons.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultCommons.java
     (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultCommons.java
     Sun Dec  9 05:20:20 2007
@@ -10,6 +10,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.pool.SimplePoolManager;
 
 public class DefaultCommons {
 
@@ -19,8 +20,15 @@
 
     protected Connection dbConnection = null;
     
-    public static String getUserId(String userName, Connection dbConnection) 
throws UserManagerException {
+    public static String getUserId(String userName) throws 
UserManagerException {
         String id = null;
+        
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
+        
         try {
             PreparedStatement getUserIdStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.GET_USER_ID);
@@ -33,12 +41,20 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
         return id;
     }
 
-    public static String getRoleId(String roleName, Connection dbConnection) 
throws UserManagerException {
+    public static String getRoleId(String roleName) throws 
UserManagerException {
         String id = null;
+        
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getRolIdStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.GET_ROLE_ID);
@@ -51,13 +67,20 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
         return id;
     }
     
     
-    public static String[] getUserRoles(String userName, Connection 
dbConnection) throws UserManagerException {
+    public static String[] getUserRoles(String userName) throws 
UserManagerException {
         String[] names = new String[0];
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getUserRolesStmt = 
dbConnection.prepareStatement(DefaultRealmConstants.GET_USER_ROLES);
             getUserRolesStmt.setString(1, userName);
@@ -73,7 +96,9 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
         return names;
-    }
+    } 
 }

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultDatabaseUtil.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultDatabaseUtil.java
        (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultDatabaseUtil.java
        Sun Dec  9 05:20:20 2007
@@ -75,7 +75,6 @@
         s.executeUpdate(userPermissionTable);
         s.executeUpdate(userRolesTable);
         conn.commit();
-        s.close();
-
+       
     }
 }

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealm.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealm.java
       (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealm.java
       Sun Dec  9 05:20:20 2007
@@ -16,10 +16,7 @@
 
 package org.wso2.usermanager.readwrite;
 
-import java.sql.Connection;
 import java.sql.Driver;
-import java.sql.SQLException;
-import java.util.Properties;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -30,6 +27,7 @@
 import org.wso2.usermanager.UserManagerException;
 import org.wso2.usermanager.UserStoreAdmin;
 import org.wso2.usermanager.UserStoreReader;
+import org.wso2.usermanager.pool.SimplePoolManager;
 
 public class DefaultRealm implements Realm {
 
@@ -37,19 +35,15 @@
 
     protected Driver driver = null;
 
-    protected Connection dbConnection = null;
-    
     protected DefaultAuthenticator authenticator = null;
-    
+
     protected DefaultAuthorizer authorizer = null;
-    
+
     protected DefaultAccessControlAdmin aclAdmin = null;
-    
+
     protected DefaultUserStoreAdmin usAdmin = null;
-    
+
     protected DefaultUserStoreReader usReader = null;
-    
-   
 
     public DefaultRealm() {
 
@@ -73,36 +67,28 @@
         }
         this.config = (DefaultRealmConfig) configBean;
 
-        try {
-            if (config.getConnection() == null) {
-                open();
-            } else {
-                this.dbConnection = config.getConnection();
-            }
-
-            UUIDGenerator.getInitialUUID();
-            
-            authenticator = new DefaultAuthenticator(config, dbConnection);
-            authorizer = new DefaultAuthorizer(config, dbConnection);
-            aclAdmin = new DefaultAccessControlAdmin(config, dbConnection);
-            usAdmin = new DefaultUserStoreAdmin(config, dbConnection);
-            usReader = new DefaultUserStoreReader(config, dbConnection);
-            
-            
-        } catch (SQLException e) {
-            if (e.getNextException() != null) {
-                Exception nextExecption = e.getNextException();
-                log.debug("The so called next exception is"
-                        + nextExecption.getMessage(), nextExecption);
-            }
-            throw new RuntimeException("exceptionOnConnectionOpen", e);
+        if (config.getDataSource() != null) {
+            SimplePoolManager.createInstance(config.getDataSource(), config
+                    .getMaxConnectionsCount());
+        } else {
+            SimplePoolManager.createInstance(config.getConnectionURL(), config
+                    .getConnectionUserName(), config.getConnectionPassword(),
+                    config.getMaxConnectionsCount());
         }
 
+        UUIDGenerator.getInitialUUID();
+
+        authenticator = new DefaultAuthenticator(config);
+        authorizer = new DefaultAuthorizer(config);
+        aclAdmin = new DefaultAccessControlAdmin(config);
+        usAdmin = new DefaultUserStoreAdmin(config);
+        usReader = new DefaultUserStoreReader(config);
+
     }
 
     public AccessControlAdmin getAccessControlAdmin()
             throws UserManagerException {
-       return aclAdmin;
+        return aclAdmin;
     }
 
     public Authenticator getAuthenticator() throws UserManagerException {
@@ -114,7 +100,7 @@
     }
 
     public UserStoreAdmin getUserStoreAdmin() throws UserManagerException {
-       return usAdmin;
+        return usAdmin;
     }
 
     public UserStoreReader getUserStoreReader() throws UserManagerException {
@@ -128,43 +114,43 @@
      * @exception SQLException
      *                if a database error occurs
      */
-    private void open() throws UserManagerException, SQLException {
+    /*    private void open() throws UserManagerException, SQLException {
 
-        if (dbConnection != null)
-            return;
+     if (dbConnection != null)
+     return;
 
-        if (this.config.getDataSource() != null) {
-            dbConnection = config.getDataSource().getConnection();
-        } else {
-            if (driver == null) {
-                try {
-                    Class clazz = Class.forName(config.getDriverName());
-                    driver = (Driver) clazz.newInstance();
-                } catch (Throwable e) {
-                    log.debug(e.getMessage(), e);
-                    SQLException exc = new SQLException();
-                    if (exc.getNextException() != null) {
-                        Exception nextExecption = exc.getNextException();
-                        log.debug("The so called next exception is"
-                                + nextExecption.getMessage(), nextExecption);
-                    }
-                    throw new UserManagerException("exceptionOnConnectionOpen",
-                            e);
-                }
-            }
-            if (this.config.getConnectionURL() == null) {
-                throw new UserManagerException("Connection URL is null");
-            }
-            Properties props = new Properties();
-            if (config.getConnectionUserName() != null)
-                props.put("user", config.getConnectionUserName());
-            if (config.getConnectionPassword() != null)
-                props.put("password", config.getConnectionPassword());
-            dbConnection = driver.connect(config.getConnectionURL(), props);
-            dbConnection.setAutoCommit(false);
+     if (this.config.getDataSource() != null) {
+     dbConnection = config.getDataSource().getConnection();
+     } else {
+     if (driver == null) {
+     try {
+     Class clazz = Class.forName(config.getDriverName());
+     driver = (Driver) clazz.newInstance();
+     } catch (Throwable e) {
+     log.debug(e.getMessage(), e);
+     SQLException exc = new SQLException();
+     if (exc.getNextException() != null) {
+     Exception nextExecption = exc.getNextException();
+     log.debug("The so called next exception is"
+     + nextExecption.getMessage(), nextExecption);
+     }
+     throw new UserManagerException("exceptionOnConnectionOpen",
+     e);
+     }
+     }
+     if (this.config.getConnectionURL() == null) {
+     throw new UserManagerException("Connection URL is null");
+     }
+     Properties props = new Properties();
+     if (config.getConnectionUserName() != null)
+     props.put("user", config.getConnectionUserName());
+     if (config.getConnectionPassword() != null)
+     props.put("password", config.getConnectionPassword());
+     dbConnection = driver.connect(config.getConnectionURL(), props);
+     dbConnection.setAutoCommit(false);
 
-        }
+     }
 
-    }
+     }*/
 
 }

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealmConfig.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealmConfig.java
 (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultRealmConfig.java
 Sun Dec  9 05:20:20 2007
@@ -16,8 +16,6 @@
 
 package org.wso2.usermanager.readwrite;
 
-import java.sql.Connection;
-
 import javax.sql.DataSource;
 
 public class DefaultRealmConfig {
@@ -38,8 +36,8 @@
     
     private String permissionAlgo = PERMISSION_BLOCK_FIRST;
     
-    private Connection connection = null;
-   
+    private int maxConnectionsCount = 5; 
+  
 
     public DefaultRealmConfig() {
 
@@ -101,17 +99,15 @@
         this.permissionAlgo = permissionAlgo;
     }
 
-    public Connection getConnection() {
-        return connection;
+    public int getMaxConnectionsCount() {
+        return maxConnectionsCount;
     }
 
-    public void setConnection(Connection connection) {
-        this.connection = connection;
+    public void setMaxConnectionsCount(int maxConnectionsCount) {
+        this.maxConnectionsCount = maxConnectionsCount;
     }
 
-    
-    
-    
+     
     
     
 }

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreAdmin.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreAdmin.java
      (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreAdmin.java
      Sun Dec  9 05:20:20 2007
@@ -13,6 +13,7 @@
 import org.apache.commons.logging.LogFactory;
 import org.wso2.usermanager.UserManagerException;
 import org.wso2.usermanager.UserStoreAdmin;
+import org.wso2.usermanager.pool.SimplePoolManager;
 import org.wso2.usermanager.util.Base64;
 
 public class DefaultUserStoreAdmin extends DefaultUserStoreReader implements 
UserStoreAdmin {
@@ -21,12 +22,9 @@
 
     protected DefaultRealmConfig config = null;
 
-    protected Connection dbConnection = null;
-
-    public DefaultUserStoreAdmin(DefaultRealmConfig config, Connection conn) {
-        super(config, conn);
-        this.config = config;
-        this.dbConnection = conn;
+    public DefaultUserStoreAdmin(DefaultRealmConfig config) {
+        super(config);
+   
     }
 
     public void addUser(String userName, Object credential)
@@ -34,6 +32,11 @@
         if (!(credential instanceof String)) {
             throw new UserManagerException("Credential type not support");
         }
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
 
         try {
             PreparedStatement addUserStmt = dbConnection
@@ -53,12 +56,19 @@
         } catch (NoSuchAlgorithmException e) {
             log.debug(e);
             throw new UserManagerException("errorCreatingPasswordDigest", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
 
     }
 
     public void updateUser(String userName, Object credential)
             throws UserManagerException {
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement updateUserStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.UPDATE_USER);
@@ -75,11 +85,17 @@
         } catch (NoSuchAlgorithmException e) {
             log.debug(e);
             throw new UserManagerException("errorCreatingPasswordDigest", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
     }
 
     public void deleteUser(String userName) throws UserManagerException {
-
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement deleteUserStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.DELETE_USER);
@@ -90,14 +106,16 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
 
     }
 
     public void setUserProperties(String userName, Map properties)
             throws UserManagerException {
-
-        String userid = DefaultCommons.getUserId(userName, dbConnection);
+        
+        String userid = DefaultCommons.getUserId(userName);
         if (userid == null) {
             throw new UserManagerException("nullUser");
         }
@@ -105,7 +123,11 @@
         if (properties == null || properties.isEmpty()) {
             return;
         }
-
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement deleteUserPropsStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.DELETE_USER_ATTRIBUTE);
@@ -134,17 +156,24 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
 
     }
 
     public void setRoleProperties(String roleName, Map properties)
             throws UserManagerException {
-        String roleid = DefaultCommons.getRoleId(roleName, dbConnection);
+        
+        String roleid = DefaultCommons.getRoleId(roleName);
         if (roleid == null) {
             throw new UserManagerException("nullRole");
         }
-
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement deleteRolePropsStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.DELETE_ROLE_ATTRIBUTE);
@@ -176,10 +205,17 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
     }
 
     public void addRole(String roleName) throws UserManagerException {
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement addRoleStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.ADD_ROLE);
@@ -192,10 +228,17 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
     }
 
     public void deleteRole(String roleName) throws UserManagerException {
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement deleteRoleStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.DELETE_ROLE);
@@ -206,18 +249,25 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
     }
 
     public void addUserToRole(String userName, String roleName)
             throws UserManagerException {
-        String userid = DefaultCommons.getUserId(userName, dbConnection);
-        String roleid = DefaultCommons.getRoleId(roleName, dbConnection);
+       
+        String userid = DefaultCommons.getUserId(userName);
+        String roleid = DefaultCommons.getRoleId(roleName);
 
         if (roleid == null || userid == null) {
             throw new UserManagerException("nullData");
         }
-
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement addUserToRoleStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.ADD_USER_ROLE);
@@ -231,11 +281,19 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            log.debug("free_connection");
+            pool.freeConnection(dbConnection);
         }
     }
 
     public void removeUserFromRole(String userName, String roleName)
             throws UserManagerException {
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement removeUserFromRoleStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.DELETE_USER_ROLE);
@@ -247,6 +305,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorModifyingUserStore", e);
+        } finally {
+            pool.freeConnection(dbConnection);
         }
     }
 

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreReader.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreReader.java
     (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/readwrite/DefaultUserStoreReader.java
     Sun Dec  9 05:20:20 2007
@@ -14,6 +14,7 @@
 import org.apache.commons.logging.LogFactory;
 import org.wso2.usermanager.UserManagerException;
 import org.wso2.usermanager.UserStoreReader;
+import org.wso2.usermanager.pool.SimplePoolManager;
 
 public class DefaultUserStoreReader implements UserStoreReader {
 
@@ -21,15 +22,17 @@
 
     protected DefaultRealmConfig config = null;
 
-    protected Connection dbConnection = null;
-
-    public DefaultUserStoreReader(DefaultRealmConfig conf, Connection conn) {
+    public DefaultUserStoreReader(DefaultRealmConfig conf) {
         this.config = conf;
-        this.dbConnection = conn;
     }
 
     public String[] getAllRoleNames() throws UserManagerException {
         String[] names = new String[0];
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getAllRoleNamesStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.GET_ROLES_ALL);
@@ -45,19 +48,27 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        }  finally {
+           pool.freeConnection(dbConnection);
         }
         return names;
     }
 
     public String[] getAllUserNames() throws UserManagerException {
         String[] names = new String[0];
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getAllUserNamesStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.GET_USERS_ALL);
             ResultSet rs = getAllUserNamesStmt.executeQuery();
             List lst = new LinkedList();
             while (rs.next()) {
-                lst.add(rs.getString(DefaultRealmConstants.COLUMN_USER_NAME));
+                String name = 
rs.getString(DefaultRealmConstants.COLUMN_USER_NAME);
+                lst.add(name);
             }
             if (lst.size() > 0) {
                 names = (String[]) lst.toArray(new String[lst.size()]);
@@ -66,6 +77,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        }  finally {
+           pool.freeConnection(dbConnection);
         }
         return names;
     }
@@ -73,6 +86,11 @@
     public Map getRoleProperties(String roleName) throws UserManagerException {
 
         Map props = new HashMap();
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getRolePropertiesStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.GET_ROLE_ATTRIBUTES);
@@ -90,6 +108,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        }  finally {
+           pool.freeConnection(dbConnection);
         }
 
         return props;
@@ -98,6 +118,11 @@
 
     public Map getUserProperties(String userName) throws UserManagerException {
         Map props = new HashMap();
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getUserPropertiesStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.GET_USER_ATTRIBUTES);
@@ -115,6 +140,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        }  finally {
+           pool.freeConnection(dbConnection);
         }
 
         return props;
@@ -123,6 +150,11 @@
 
     public String[] getUserPropertyNames() throws UserManagerException {
         String[] propNames = new String[0];
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getUserAttributeNamesStmt = dbConnection
                     
.prepareStatement(DefaultRealmConstants.GET_ATTRIBUTE_NAMES);
@@ -136,17 +168,19 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        }  finally {
+           pool.freeConnection(dbConnection);
         }
         return propNames;
     }
 
     public String[] getUserRoles(String userName) throws UserManagerException {
-        return DefaultCommons.getUserRoles(userName, dbConnection);
+        return DefaultCommons.getUserRoles(userName);
     }
 
     public boolean isExistingUser(String userName) throws UserManagerException 
{
         boolean isExisting = false;
-        if(DefaultCommons.getUserId(userName, dbConnection)!= null){
+        if(DefaultCommons.getUserId(userName)!= null){
             isExisting = true;
         }
         return isExisting;
@@ -155,6 +189,11 @@
     public String[] getUserNamesWithPropertyValue(String propertyName,
             String propetyValue) throws UserManagerException {
         String[] names = new String[0];
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getPropValue = null;
             
@@ -179,6 +218,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        }  finally {
+           pool.freeConnection(dbConnection);
         }
         
         return names;
@@ -187,6 +228,11 @@
 
     public String[] getUsersInRole(String roleName) throws 
UserManagerException {
         String[] names = new String[0];
+        SimplePoolManager pool = SimplePoolManager.getInstance();
+        Connection dbConnection = pool.getConnection();
+        if (dbConnection == null) {
+            throw new UserManagerException("null_connection");
+        }
         try {
             PreparedStatement getUserInRole = dbConnection
                     .prepareStatement(DefaultRealmConstants.GET_USERS_IN_ROLE);
@@ -201,6 +247,8 @@
         } catch (SQLException e) {
             log.debug(e);
             throw new UserManagerException("errorReadingFromUserStore", e);
+        }  finally {
+           pool.freeConnection(dbConnection);
         }
         
         return names;

Modified: 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/resources.properties
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/resources.properties
      (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/resources.properties
      Sun Dec  9 05:20:20 2007
@@ -32,3 +32,4 @@
 getGenericUserByPattern = Searching user by generic pattern
 validatingCredentials = Validating users
 dbCreationNotSupported = Database creation not supported for this driver
+nullConnection = Cannot get connection. Contact Administrator

Modified: 
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/acl/realm/AuthorizingRealmTest.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/acl/realm/AuthorizingRealmTest.java
       (original)
+++ 
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/acl/realm/AuthorizingRealmTest.java
       Sun Dec  9 05:20:20 2007
@@ -31,10 +31,13 @@
                 connectionURL + ";create=true", props);
 
         DefaultDatabaseUtil.createDatabase(dbConnection);
-
+        
+        dbConnection = null;
+        
+        
         Realm drealm = new DefaultRealm();
         DefaultRealmConfig dconfig = (DefaultRealmConfig) 
drealm.getRealmConfiguration();
-        dconfig.setConnection(dbConnection);
+        dconfig.setConnectionURL(connectionURL);
         drealm.init(dconfig);
 
         // Adding the admin to the realm

Modified: 
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/readwrite/DefaultRealmTest.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/readwrite/DefaultRealmTest.java
   (original)
+++ 
trunk/commons/usermanager/modules/core/src/test/java/org/wso2/usermanager/readwrite/DefaultRealmTest.java
   Sun Dec  9 05:20:20 2007
@@ -50,10 +50,13 @@
                 connectionURL + ";create=true", props);
 
         DefaultDatabaseUtil.createDatabase(dbConnection);
-
+        
+        dbConnection.close();
+        dbConnection = null;
+        
         realm = new DefaultRealm();
         config = (DefaultRealmConfig) realm.getRealmConfiguration();
-        config.setConnection(dbConnection);
+        config.setConnectionURL(connectionURL);
         realm.init(config);
 
     }
@@ -70,11 +73,12 @@
         UserStoreAdmin admin = realm.getUserStoreAdmin();
         Authenticator authen = realm.getAuthenticator();
         UserStoreReader reader = realm.getUserStoreReader();
+        System.out.println("DefaultRealmTest"+connectionURL);
         // add
         admin.addUser("dimuthu", "credential");
         admin.addUser("vajira", "credential");
         TestCase.assertTrue(authen.authenticate("dimuthu", "credential"));
-        
+                
         TestCase.assertTrue(reader.isExistingUser("dimuthu"));
         TestCase.assertFalse(reader.isExistingUser("muhaha"));
         // update
@@ -105,8 +109,8 @@
         String[] names = reader.getUserNamesWithPropertyValue("telephone", 
"9870");
         TestCase.assertEquals("dimuthu", names[0]);
         
-        admin.getUserNamesWithPropertyValue(null, "9870");
-        TestCase.assertEquals("dimuthu", names[0]);
+        String[] nam = admin.getUserNamesWithPropertyValue(null, "9870");
+        TestCase.assertEquals("dimuthu", nam[0]);
 
         Map stored = reader.getUserProperties("dimuthu");
         TestCase.assertEquals(props.size(), stored.size());

_______________________________________________
Commons-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/commons-dev

Reply via email to