Author: dimuthul
Date: Sun Dec  9 06:59:33 2007
New Revision: 10735

Log:

Adding reset functionality to SimplePoolManager


Modified:
   
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/pool/SimplePoolManager.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/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/pool/SimplePoolManager.java
==============================================================================
--- 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/pool/SimplePoolManager.java
       (original)
+++ 
trunk/commons/usermanager/modules/core/src/main/java/org/wso2/usermanager/pool/SimplePoolManager.java
       Sun Dec  9 06:59:33 2007
@@ -28,19 +28,18 @@
     }
     
     public static synchronized SimplePoolManager getInstance() {
-        clients++;
         return instance;
     }
        
     public static synchronized boolean resetPool() {
-        boolean success = false;
-        if(clients < 1){
-           instance.deletePool();
-           success = true;
+        if(instance != null){
+            instance.deletePool();
+            instance = null;
         }
-        return success;
+        return true;
     }
     
+       
     public void freeConnection(Connection con) {
         pool.freeConnection(con);
     }

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 06:59:33 2007
@@ -66,6 +66,12 @@
             return;
         }
         this.config = (DefaultRealmConfig) configBean;
+        
+        if(config.getResetPoolManager()){
+            if(!SimplePoolManager.resetPool()){
+                throw new UserManagerException("unableToResetPool");
+            }
+        }
 
         if (config.getDataSource() != null) {
             SimplePoolManager.createInstance(config.getDataSource(), config

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 06:59:33 2007
@@ -38,7 +38,8 @@
     
     private int maxConnectionsCount = 5; 
   
-
+    private boolean resetPoolManager = false;
+    
     public DefaultRealmConfig() {
 
     }
@@ -107,7 +108,13 @@
         this.maxConnectionsCount = maxConnectionsCount;
     }
 
-     
-    
-    
+    public boolean getResetPoolManager() {
+        return resetPoolManager;
+    }
+
+    public void setResetPoolManager(boolean resetPoolManager) {
+        this.resetPoolManager = resetPoolManager;
+    }
+
+       
 }

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 06:59:33 2007
@@ -20,8 +20,7 @@
 
     private static Log log = LogFactory.getLog(DefaultUserStoreAdmin.class);
 
-    protected DefaultRealmConfig config = null;
-
+   
     public DefaultUserStoreAdmin(DefaultRealmConfig config) {
         super(config);
    
@@ -41,6 +40,9 @@
         try {
             PreparedStatement addUserStmt = dbConnection
                     .prepareStatement(DefaultRealmConstants.ADD_USER);
+            
+            
+            
             addUserStmt.setString(1, userName);
             MessageDigest dgst = MessageDigest.getInstance("MD5");
             dgst.update(((String) credential).getBytes());

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 06:59:33 2007
@@ -12,6 +12,7 @@
 import org.wso2.usermanager.UserManagerException;
 import org.wso2.usermanager.UserStoreAdmin;
 import org.wso2.usermanager.UserStoreReader;
+import org.wso2.usermanager.pool.SimplePoolManager;
 import org.wso2.usermanager.readwrite.DefaultDatabaseUtil;
 import org.wso2.usermanager.readwrite.DefaultRealm;
 import org.wso2.usermanager.readwrite.DefaultRealmConfig;
@@ -20,7 +21,7 @@
 
     Realm realm = null;
 
-   String connectionURL = "jdbc:derby:target/acl/UserDatabase";
+   String connectionURL = "jdbc:derby:target/ACLDatabase";
 
     protected void setUp() throws Exception {
         super.setUp();
@@ -104,8 +105,10 @@
         admin.addRole("abc2");
         aclAdmin.authorizeRole("abc2", "picture", "comment");
         TestCase.assertTrue(aclAdmin.isRoleAuthorized("abc2", "picture", 
"comment"));
-        
+        SimplePoolManager.resetPool(); 
     }
     
     
+    
+    
 }

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 06:59:33 2007
@@ -39,15 +39,16 @@
 
     DefaultRealmConfig config = null;
 
-    String connectionURL = "jdbc:derby:target/UserDatabase";
+    String connURL = "jdbc:derby:target/UserDatabase";
 
+    
     protected void setUp() throws Exception {
         super.setUp();
         Class clazz = Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
         Driver driver = (Driver) clazz.newInstance();
         Properties props = new Properties();
         Connection dbConnection = driver.connect(
-                connectionURL + ";create=true", props);
+                connURL + ";create=true", props);
 
         DefaultDatabaseUtil.createDatabase(dbConnection);
         
@@ -56,7 +57,8 @@
         
         realm = new DefaultRealm();
         config = (DefaultRealmConfig) realm.getRealmConfiguration();
-        config.setConnectionURL(connectionURL);
+        config.setConnectionURL(connURL);
+        config.setResetPoolManager(true);
         realm.init(config);
 
     }
@@ -73,7 +75,7 @@
         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");

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

Reply via email to