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=?";