Selaa lähdekoodia

Remove getters and setters from JdbcDaoImpl so IoC container cannot modify MappingSqlQuerys (thanks to David Durham for bug report).

Ben Alex 20 vuotta sitten
vanhempi
commit
c0f1d4e19d

+ 3 - 21
core/src/main/java/org/acegisecurity/userdetails/jdbc/JdbcDaoImpl.java

@@ -1,4 +1,4 @@
-/* Copyright 2004 Acegi Technology Pty Limited
+/* Copyright 2004, 2005 Acegi Technology Pty Limited
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -95,15 +95,6 @@ public class JdbcDaoImpl extends JdbcDaoSupport implements AuthenticationDao {
 
     //~ Methods ================================================================
 
-    public void setAuthoritiesByUsernameMapping(
-        MappingSqlQuery authoritiesByUsernameQuery) {
-        this.authoritiesByUsernameMapping = authoritiesByUsernameQuery;
-    }
-
-    public MappingSqlQuery getAuthoritiesByUsernameMapping() {
-        return authoritiesByUsernameMapping;
-    }
-
     /**
      * Allows the default query string used to retrieve authorities based on
      * username to be overriden, if default table or column names need to be
@@ -162,14 +153,6 @@ public class JdbcDaoImpl extends JdbcDaoSupport implements AuthenticationDao {
         return usernameBasedPrimaryKey;
     }
 
-    public void setUsersByUsernameMapping(MappingSqlQuery usersByUsernameQuery) {
-        this.usersByUsernameMapping = usersByUsernameQuery;
-    }
-
-    public MappingSqlQuery getUsersByUsernameMapping() {
-        return usersByUsernameMapping;
-    }
-
     /**
      * Allows the default query string used to retrieve users based on username
      * to be overriden, if default table or column names need to be changed.
@@ -243,9 +226,8 @@ public class JdbcDaoImpl extends JdbcDaoSupport implements AuthenticationDao {
      * in a subclass
      */
     protected void initMappingSqlQueries() {
-        setUsersByUsernameMapping(new UsersByUsernameMapping(getDataSource()));
-        setAuthoritiesByUsernameMapping(new AuthoritiesByUsernameMapping(
-                getDataSource()));
+        this.usersByUsernameMapping = new UsersByUsernameMapping(getDataSource());
+        this.authoritiesByUsernameMapping = new AuthoritiesByUsernameMapping(getDataSource());
     }
 
     //~ Inner Classes ==========================================================

+ 0 - 6
core/src/test/java/org/acegisecurity/providers/dao/jdbc/JdbcDaoTests.java

@@ -87,12 +87,6 @@ public class JdbcDaoTests extends TestCase {
 
         dao.setUsersByUsernameQuery("SELECT USERS FROM FOO");
         assertEquals("SELECT USERS FROM FOO", dao.getUsersByUsernameQuery());
-
-        dao.setAuthoritiesByUsernameMapping(new MockMappingSqlQuery());
-        assertTrue(dao.getAuthoritiesByUsernameMapping() != null);
-
-        dao.setUsersByUsernameMapping(new MockMappingSqlQuery());
-        assertTrue(dao.getUsersByUsernameMapping() != null);
     }
 
     public void testLookupFailsIfUserHasNoGrantedAuthorities()

+ 1 - 0
doc/xdocs/changes.xml

@@ -39,6 +39,7 @@
       <action dev="benalex" type="fix">Correct synchronization issue with FilterToBeanProxy initialization</action>
       <action dev="benalex" type="update">Refactor Authentication.isAuthenticated() handling to be more performance</action>
       <action dev="benalex" type="fix">Silently catch NotSerializableException in AbstractProcessingFilter if rootCause is not Serializable</action>
+      <action dev="benalex" type="fix">Remove getters and setters from JdbcDaoImpl so IoC container cannot modify MappingSqlQuerys</action>
     </release>
     <release version="0.8.2" date="2005-04-20">
       <action dev="benalex" type="fix">Correct location of AuthenticationSimpleHttpInvokerRequestExecutor in clientContext.xml</action>