Relocated JdbcDaoExtendedImpl.convertAclObjectIdentityToString to superclass (pursuant to suggestion made by Tim Kettering on acegisecurity-developer).
This commit is contained in:
parent
2bda6ec25c
commit
55f5c3397a
|
@ -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.
|
||||
|
@ -106,17 +106,14 @@ public class JdbcDaoImpl extends JdbcDaoSupport implements BasicAclDao {
|
|||
* <code>AclObjectIdentity</code> was requested
|
||||
*/
|
||||
public BasicAclEntry[] getAcls(AclObjectIdentity aclObjectIdentity) {
|
||||
// Ensure we can process this type of AclObjectIdentity
|
||||
if (!(aclObjectIdentity instanceof NamedEntityObjectIdentity)) {
|
||||
return null;
|
||||
String aclObjectIdentityString;
|
||||
|
||||
try {
|
||||
aclObjectIdentityString = convertAclObjectIdentityToString(aclObjectIdentity);
|
||||
} catch (IllegalArgumentException unsupported) {
|
||||
return null; // pursuant to contract described in JavaDocs above
|
||||
}
|
||||
|
||||
NamedEntityObjectIdentity neoi = (NamedEntityObjectIdentity) aclObjectIdentity;
|
||||
|
||||
// Compose the String we expect to find in the RDBMS
|
||||
String aclObjectIdentityString = neoi.getClassname() + ":"
|
||||
+ neoi.getId();
|
||||
|
||||
// Lookup the object's main properties from the RDBMS (guaranteed no nulls)
|
||||
List objects = objectProperties.execute(aclObjectIdentityString);
|
||||
|
||||
|
@ -189,6 +186,31 @@ public class JdbcDaoImpl extends JdbcDaoSupport implements BasicAclDao {
|
|||
return objectPropertiesQuery;
|
||||
}
|
||||
|
||||
/**
|
||||
* Responsible for covering a <code>AclObjectIdentity</code> to a
|
||||
* <code>String</code> that can be located in the RDBMS.
|
||||
*
|
||||
* @param aclObjectIdentity to locate
|
||||
*
|
||||
* @return the object identity as a <code>String</code>
|
||||
*
|
||||
* @throws IllegalArgumentException DOCUMENT ME!
|
||||
*/
|
||||
protected String convertAclObjectIdentityToString(
|
||||
AclObjectIdentity aclObjectIdentity) {
|
||||
// Ensure we can process this type of AclObjectIdentity
|
||||
if (!(aclObjectIdentity instanceof NamedEntityObjectIdentity)) {
|
||||
throw new IllegalArgumentException(
|
||||
"Only aclObjectIdentity of type NamedEntityObjectIdentity supported (was passed: "
|
||||
+ aclObjectIdentity + ")");
|
||||
}
|
||||
|
||||
NamedEntityObjectIdentity neoi = (NamedEntityObjectIdentity) aclObjectIdentity;
|
||||
|
||||
// Compose the String we expect to find in the RDBMS
|
||||
return neoi.getClassname() + ":" + neoi.getId();
|
||||
}
|
||||
|
||||
protected void initDao() throws ApplicationContextException {
|
||||
initMappingSqlQueries();
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
@ -18,7 +18,6 @@ package net.sf.acegisecurity.acl.basic.jdbc;
|
|||
import net.sf.acegisecurity.acl.basic.AclObjectIdentity;
|
||||
import net.sf.acegisecurity.acl.basic.BasicAclEntry;
|
||||
import net.sf.acegisecurity.acl.basic.BasicAclExtendedDao;
|
||||
import net.sf.acegisecurity.acl.basic.NamedEntityObjectIdentity;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
@ -295,30 +294,6 @@ public class JdbcExtendedDaoImpl extends JdbcDaoImpl
|
|||
aclPermissionUpdate = new AclPermissionUpdate(getDataSource());
|
||||
}
|
||||
|
||||
/**
|
||||
* Responsible for covering a <code>AclObjectIdentity</code> to a
|
||||
* <code>String</code> that can be located in the RDBMS.
|
||||
*
|
||||
* @param aclObjectIdentity to locate
|
||||
*
|
||||
* @return the object identity as a <code>String</code>
|
||||
*
|
||||
* @throws IllegalArgumentException DOCUMENT ME!
|
||||
*/
|
||||
String convertAclObjectIdentityToString(AclObjectIdentity aclObjectIdentity) {
|
||||
// Ensure we can process this type of AclObjectIdentity
|
||||
if (!(aclObjectIdentity instanceof NamedEntityObjectIdentity)) {
|
||||
throw new IllegalArgumentException(
|
||||
"Only aclObjectIdentity of type NamedEntityObjectIdentity supported (was passed: "
|
||||
+ aclObjectIdentity + ")");
|
||||
}
|
||||
|
||||
NamedEntityObjectIdentity neoi = (NamedEntityObjectIdentity) aclObjectIdentity;
|
||||
|
||||
// Compose the String we expect to find in the RDBMS
|
||||
return neoi.getClassname() + ":" + neoi.getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience method that creates an acl_object_identity record if
|
||||
* required.
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
<action dev="smccrory" type="update">Added debug statement to AbstractTicketValidator to help with Acegi+CAS+SSL setup (thanks Seth Ladd for the patch) (see http://opensource.atlassian.com/projects/spring/browse/SEC-34)</action>
|
||||
<action dev="smccrory" type="update">Added package.html files to empty resources dirs so CVS serves them to new developers</action>
|
||||
<action dev="smccrory" type="update">Added package.html files to reamining java packages (see http://opensource.atlassian.com/projects/spring/browse/SEC-41)</action>
|
||||
<action dev="benalex" type="update">Relocated JdbcDaoExtendedImpl.convertAclObjectIdentityToString to superclass</action>
|
||||
</release>
|
||||
<release version="0.8.3" date="2005-05-12">
|
||||
<action dev="benalex" type="fix">HttpSessionContextIntegrationFilter elegantly handles IOExceptions and ServletExceptions within filter chain (see http://opensource.atlassian.com/projects/spring/browse/SEC-20)</action>
|
||||
|
|
Loading…
Reference in New Issue