diff --git a/acl/src/main/java/org/springframework/security/acls/jdbc/AclClassIdUtils.java b/acl/src/main/java/org/springframework/security/acls/jdbc/AclClassIdUtils.java index 76d47c6f5fd..54e499f01e4 100644 --- a/acl/src/main/java/org/springframework/security/acls/jdbc/AclClassIdUtils.java +++ b/acl/src/main/java/org/springframework/security/acls/jdbc/AclClassIdUtils.java @@ -38,6 +38,10 @@ class AclClassIdUtils { public AclClassIdUtils() { } + public AclClassIdUtils(ConversionService conversionService) { + this.conversionService = conversionService; + } + /** * Converts the raw type from the database into the right Java type. For most applications the 'raw type' will be Long, for some applications * it could be String. diff --git a/acl/src/main/java/org/springframework/security/acls/jdbc/BasicLookupStrategy.java b/acl/src/main/java/org/springframework/security/acls/jdbc/BasicLookupStrategy.java index 530c64ae8c6..cfd8d71cdb5 100644 --- a/acl/src/main/java/org/springframework/security/acls/jdbc/BasicLookupStrategy.java +++ b/acl/src/main/java/org/springframework/security/acls/jdbc/BasicLookupStrategy.java @@ -31,6 +31,7 @@ import javax.sql.DataSource; import org.springframework.core.convert.ConversionException; +import org.springframework.core.convert.ConversionService; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.PreparedStatementSetter; import org.springframework.jdbc.core.ResultSetExtractor; @@ -553,8 +554,8 @@ public final void setAclClassIdSupported(boolean aclClassIdSupported) { } } - public final void setAclClassIdUtils(AclClassIdUtils aclClassIdUtils) { - this.aclClassIdUtils = aclClassIdUtils; + public final void setConversionService(ConversionService conversionService) { + this.aclClassIdUtils = new AclClassIdUtils(conversionService); } // ~ Inner Classes diff --git a/acl/src/main/java/org/springframework/security/acls/jdbc/JdbcAclService.java b/acl/src/main/java/org/springframework/security/acls/jdbc/JdbcAclService.java index 1032e6da9f5..615fe2b6b60 100644 --- a/acl/src/main/java/org/springframework/security/acls/jdbc/JdbcAclService.java +++ b/acl/src/main/java/org/springframework/security/acls/jdbc/JdbcAclService.java @@ -26,6 +26,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.core.convert.ConversionService; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.security.acls.domain.ObjectIdentityImpl; @@ -163,8 +164,8 @@ public void setAclClassIdSupported(boolean aclClassIdSupported) { } } - public void setAclClassIdUtils(AclClassIdUtils aclClassIdUtils) { - this.aclClassIdUtils = aclClassIdUtils; + public void setConversionService(ConversionService conversionService) { + this.aclClassIdUtils = new AclClassIdUtils(conversionService); } protected boolean isAclClassIdSupported() { diff --git a/acl/src/test/java/org/springframework/security/acls/jdbc/BasicLookupStrategyWithAclClassTypeTests.java b/acl/src/test/java/org/springframework/security/acls/jdbc/BasicLookupStrategyWithAclClassTypeTests.java index b84d606c222..b8af73ef33e 100644 --- a/acl/src/test/java/org/springframework/security/acls/jdbc/BasicLookupStrategyWithAclClassTypeTests.java +++ b/acl/src/test/java/org/springframework/security/acls/jdbc/BasicLookupStrategyWithAclClassTypeTests.java @@ -70,13 +70,11 @@ public static void dropDatabase() throws Exception { @Before public void initializeBeans() { super.initializeBeans(); - AclClassIdUtils aclClassIdUtils = new AclClassIdUtils(); - aclClassIdUtils.setConversionService(new DefaultConversionService()); uuidEnabledStrategy = new BasicLookupStrategy(getDataSource(), aclCache(), aclAuthStrategy(), new DefaultPermissionGrantingStrategy(new ConsoleAuditLogger())); uuidEnabledStrategy.setPermissionFactory(new DefaultPermissionFactory()); uuidEnabledStrategy.setAclClassIdSupported(true); - uuidEnabledStrategy.setAclClassIdUtils(aclClassIdUtils); + uuidEnabledStrategy.setConversionService(new DefaultConversionService()); } @Before diff --git a/acl/src/test/resources/jdbcMutableAclServiceTestsWithAclClass-context.xml b/acl/src/test/resources/jdbcMutableAclServiceTestsWithAclClass-context.xml index e0baeede48a..8490e0218e0 100644 --- a/acl/src/test/resources/jdbcMutableAclServiceTestsWithAclClass-context.xml +++ b/acl/src/test/resources/jdbcMutableAclServiceTestsWithAclClass-context.xml @@ -5,11 +5,8 @@ - - - - - + + @@ -17,7 +14,7 @@ - + @@ -28,6 +25,6 @@ - +