[Carbon-dev] svn commit r41500 - trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc

dimuthul at wso2.com dimuthul at wso2.com
Sun Jul 19 22:09:56 PDT 2009


Author: dimuthul
Date: Sun Jul 19 22:09:56 2009
New Revision: 41500
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=41500

Log:
Implementing the JDBC realm.



Modified:
   trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc/JDBCRealmConstants.java
   trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc/JDBCUserStoreManager.java

Modified: trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc/JDBCRealmConstants.java
URL: http://wso2.org/svn/browse/wso2/trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc/JDBCRealmConstants.java?rev=41500&r1=41499&r2=41500&view=diff
==============================================================================
--- trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc/JDBCRealmConstants.java	(original)
+++ trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc/JDBCRealmConstants.java	Sun Jul 19 22:09:56 2009
@@ -6,6 +6,7 @@
     public static final String GET_ROLE_LIST_SQL = "GetRoleListSQL";
     public static final String GET_USER_FILTER_SQL = "UserFilterSQL";
     public static final String GET_USER_ROLE_SQL = "UserRoleSQL";
+    public static final String GET_IS_ROLE_EXISTING_SQL = "IsRoleExistingSQL";
     public static final String GET_USERS_IN_ROLE_SQL = "UsersInRoleSQL";
     public static final String GET_IS_USER_EXISTING_SQL = "IsUserExistingSQL";
     public static final String GET_PROPS_SQL = "GetUserPropertiesSQL";

Modified: trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc/JDBCUserStoreManager.java
URL: http://wso2.org/svn/browse/wso2/trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc/JDBCUserStoreManager.java?rev=41500&r1=41499&r2=41500&view=diff
==============================================================================
--- trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc/JDBCUserStoreManager.java	(original)
+++ trunk/carbon/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/temp/jdbc/JDBCUserStoreManager.java	Sun Jul 19 22:09:56 2009
@@ -73,14 +73,20 @@
 
     @Override
     public boolean isExistingRole(String roleName) throws UserStoreException {
-        // TODO Auto-generated method stub
-        return false;
+        String sqlStmt = realmConfig.getPropertyValue(JDBCRealmConstants.GET_IS_ROLE_EXISTING_SQL);
+        if(sqlStmt == null){
+            throw new UserStoreException("The sql statement for is role existing role null");
+        }
+        return isValueExisting(sqlStmt, roleName);
     }
 
     @Override
     public boolean isExistingUser(String userName) throws UserStoreException {
-        // TODO Auto-generated method stub
-        return false;
+        String sqlStmt = realmConfig.getPropertyValue(JDBCRealmConstants.GET_IS_USER_EXISTING_SQL);
+        if(sqlStmt == null){
+            throw new UserStoreException("The sql statement for is user existing null");
+        }
+        return isValueExisting(sqlStmt, userName);
     }
 
     @Override
@@ -202,11 +208,11 @@
                     if (param != null) {
                         prepStmt.setString(i+1, param);
                     }else{
-                        
+                        throw new UserStoreException("Null data provided.");
                     }
                 }
             }
-            
+            prepStmt = dbConnection.prepareStatement(sqlStmt);
             rs = prepStmt.executeQuery();
             List<String> lst = new ArrayList<String>();
             while (rs.next()) {
@@ -226,6 +232,33 @@
             DatabaseUtil.closeAllConnections(dbConnection, rs, prepStmt);
         }
     }
+    
+    private boolean isValueExisting(String sqlStmt, String param) throws UserStoreException {
+        Connection dbConnection = null;
+        PreparedStatement prepStmt = null;
+        ResultSet rs = null;
+        boolean isExisting = false;
+        try {
+            dbConnection = getDBConnection();
+            dbConnection.setAutoCommit(false);
+            prepStmt = dbConnection.prepareStatement(sqlStmt);
+            prepStmt.setString(1, param);
+            rs = prepStmt.executeQuery();
+            if (rs.next()) {
+                int value = rs.getInt(1);
+                if(value > -1){
+                    isExisting = true;
+                }
+            }
+            return isExisting;
+        } catch (SQLException e) {
+            log.error("Error! "+e.getMessage(), e);
+            log.error("Using sql : " + sqlStmt);
+            throw new UserStoreException("Error! "+e.getMessage(), e);
+        } finally {
+            DatabaseUtil.closeAllConnections(dbConnection, rs, prepStmt);
+        }
+    }
 
     private Connection getDBConnection() throws SQLException{
         return dataSource.getConnection();



More information about the Carbon-dev mailing list