[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