You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by io...@apache.org on 2010/12/08 22:12:43 UTC
svn commit: r1043678 - in
/karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc:
JDBCBackingEngine.java JDBCBackingEngineFactory.java JDBCLoginModule.java
Author: iocanel
Date: Wed Dec 8 21:12:42 2010
New Revision: 1043678
URL: http://svn.apache.org/viewvc?rev=1043678&view=rev
Log:
[KARAF-318] Changed JDBCBackingEngineFactory to build the JDBCBacking engine usign schema configuration from JDBCLoginModule.
Modified:
karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCBackingEngine.java
karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCBackingEngineFactory.java
karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java
Modified: karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCBackingEngine.java
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCBackingEngine.java?rev=1043678&r1=1043677&r2=1043678&view=diff
==============================================================================
--- karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCBackingEngine.java (original)
+++ karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCBackingEngine.java Wed Dec 8 21:12:42 2010
@@ -48,8 +48,8 @@ public class JDBCBackingEngine implement
private String deleteRoleStatement = "DELETE FROM ROLES WHERE USERNAME=? AND ROLE=?";
private String deleteAllUserRolesStatement = "DELETE FROM ROLES WHERE USERNAME=?";
private String deleteUserStatement = "DELETE FROM USERS WHERE USERNAME=?";
- private String selectUsersStatement = "SELECT USERNAME FROM USERS";
- private String selectRolesStatement = "SELECT ROLE FROM ROLES WHERE USERNAME=?";
+ private String selectUsersQuery = "SELECT USERNAME FROM USERS";
+ private String selectRolesQuery = "SELECT ROLE FROM ROLES WHERE USERNAME=?";
/**
@@ -186,7 +186,7 @@ public class JDBCBackingEngine implement
connection = dataSource.getConnection();
//Remove from users
- listUserStatement = connection.prepareStatement(selectUsersStatement);
+ listUserStatement = connection.prepareStatement(selectUsersQuery);
usersResultSet = listUserStatement.executeQuery();
while (!usersResultSet.next()) {
String username = usersResultSet.getString("USERNAME");
@@ -233,7 +233,7 @@ public class JDBCBackingEngine implement
connection = dataSource.getConnection();
//Remove from roles
- listRolesStatement = connection.prepareStatement(selectRolesStatement);
+ listRolesStatement = connection.prepareStatement(selectRolesQuery);
listRolesStatement.setString(1, user.getName());
rolesResultSet = listRolesStatement.executeQuery();
@@ -347,4 +347,60 @@ public class JDBCBackingEngine implement
}
}
}
+
+ public String getAddUserStatement() {
+ return addUserStatement;
+ }
+
+ public void setAddUserStatement(String addUserStatement) {
+ this.addUserStatement = addUserStatement;
+ }
+
+ public String getAddRoleStatement() {
+ return addRoleStatement;
+ }
+
+ public void setAddRoleStatement(String addRoleStatement) {
+ this.addRoleStatement = addRoleStatement;
+ }
+
+ public String getDeleteRoleStatement() {
+ return deleteRoleStatement;
+ }
+
+ public void setDeleteRoleStatement(String deleteRoleStatement) {
+ this.deleteRoleStatement = deleteRoleStatement;
+ }
+
+ public String getDeleteAllUserRolesStatement() {
+ return deleteAllUserRolesStatement;
+ }
+
+ public void setDeleteAllUserRolesStatement(String deleteAllUserRolesStatement) {
+ this.deleteAllUserRolesStatement = deleteAllUserRolesStatement;
+ }
+
+ public String getDeleteUserStatement() {
+ return deleteUserStatement;
+ }
+
+ public void setDeleteUserStatement(String deleteUserStatement) {
+ this.deleteUserStatement = deleteUserStatement;
+ }
+
+ public String getSelectUsersQuery() {
+ return selectUsersQuery;
+ }
+
+ public void setSelectUsersQuery(String selectUsersQuery) {
+ this.selectUsersQuery = selectUsersQuery;
+ }
+
+ public String getSelectRolesQuery() {
+ return selectRolesQuery;
+ }
+
+ public void setSelectRolesQuery(String selectRolesQuery) {
+ this.selectRolesQuery = selectRolesQuery;
+ }
}
Modified: karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCBackingEngineFactory.java
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCBackingEngineFactory.java?rev=1043678&r1=1043677&r2=1043678&view=diff
==============================================================================
--- karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCBackingEngineFactory.java (original)
+++ karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCBackingEngineFactory.java Wed Dec 8 21:12:42 2010
@@ -43,10 +43,40 @@ public class JDBCBackingEngineFactory im
JDBCBackingEngine instance = null;
String datasourceURL = (String) options.get(JDBCUtils.DATASOURCE);
BundleContext bundleContext = (BundleContext) options.get(BundleContext.class.getName());
+
+ String addUserStatement = (String) options.get(JDBCLoginModule.INSERT_USER_STATEMENT);
+ String addRoleStatement = (String) options.get(JDBCLoginModule.INSERT_ROLE_STATEMENT);
+ String deleteRoleStatement = (String) options.get(JDBCLoginModule.DELETE_ROLE_STATEMENT);
+ String deleteAllUserRolesStatement = (String) options.get(JDBCLoginModule.DELETE_ROLES_STATEMENT);
+ String deleteUserStatement = (String) options.get(JDBCLoginModule.DELETE_USER_STATEMENT);
+ String selectUsersQuery = (String) options.get(JDBCLoginModule.PASSWORD_QUERY);
+ String selectRolesQuery = (String) options.get(JDBCLoginModule.ROLE_QUERY);
+
try {
DataSource dataSource = (DataSource) JDBCUtils.createDatasource(bundleContext, datasourceURL);
EncryptionSupport encryptionSupport = new EncryptionSupport(options);
instance = new JDBCBackingEngine(dataSource, encryptionSupport);
+ if(addUserStatement != null) {
+ instance.setAddUserStatement(addUserStatement);
+ }
+ if(addRoleStatement != null) {
+ instance.setAddRoleStatement(addRoleStatement);
+ }
+ if(deleteRoleStatement != null) {
+ instance.setDeleteRoleStatement(deleteRoleStatement);
+ }
+ if(deleteAllUserRolesStatement != null) {
+ instance.setDeleteAllUserRolesStatement(deleteAllUserRolesStatement);
+ }
+ if(deleteUserStatement != null) {
+ instance.setDeleteUserStatement(deleteUserStatement);
+ }
+ if(selectUsersQuery != null) {
+ instance.setSelectUsersQuery(selectUsersQuery);
+ }
+ if(selectRolesQuery != null) {
+ instance.setSelectRolesQuery(selectRolesQuery);
+ }
} catch (Exception e) {
LOG.error("Error creating JDBCBackingEngine.", e);
}
Modified: karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java?rev=1043678&r1=1043677&r2=1043678&view=diff
==============================================================================
--- karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java (original)
+++ karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java Wed Dec 8 21:12:42 2010
@@ -43,8 +43,13 @@ public class JDBCLoginModule extends Abs
private static final Log LOG = LogFactory.getLog(PropertiesLoginModule.class);
- private static final String PASSWORD_QUERY = "query.password";
- private static final String ROLE_QUERY = "query.role";
+ public static final String PASSWORD_QUERY = "query.password";
+ public static final String ROLE_QUERY = "query.role";
+ public static final String INSERT_USER_STATEMENT = "insert.user";
+ public static final String INSERT_ROLE_STATEMENT = "insert.role";
+ public static final String DELETE_ROLE_STATEMENT = "delete.role";
+ public static final String DELETE_ROLES_STATEMENT = "delete.roles";
+ public static final String DELETE_USER_STATEMENT = "delete.roles";
private String datasourceURL;
protected String passwordQuery = "SELECT PASSWORD FROM USERS WHERE USERNAME=?";