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 @@
-
+