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 c3def3869c..54e499f01e 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 @@ -29,7 +29,7 @@ import org.springframework.security.acls.model.ObjectIdentity; * the correct Java type as specified by acl_class.class_id_type. * @author paulwheeler */ -public class AclClassIdUtils { +class AclClassIdUtils { private static final String DEFAULT_CLASS_ID_TYPE_COLUMN_NAME = "class_id_type"; private static final Log log = LogFactory.getLog(AclClassIdUtils.class); @@ -38,6 +38,10 @@ public 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 530c64ae8c..cfd8d71cdb 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 java.util.Set; 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 class BasicLookupStrategy implements LookupStrategy { } } - 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 872a459ae6..fc3496c3c3 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 javax.sql.DataSource; 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 class JdbcAclService implements AclService { } } - 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 b84d606c22..b8af73ef33 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 class BasicLookupStrategyWithAclClassTypeTests extends AbstractBasicLooku @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 e0baeede48..8490e0218e 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 @@ - +