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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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
|
* <code>AclObjectIdentity</code> was requested
|
||||||
*/
|
*/
|
||||||
public BasicAclEntry[] getAcls(AclObjectIdentity aclObjectIdentity) {
|
public BasicAclEntry[] getAcls(AclObjectIdentity aclObjectIdentity) {
|
||||||
// Ensure we can process this type of AclObjectIdentity
|
String aclObjectIdentityString;
|
||||||
if (!(aclObjectIdentity instanceof NamedEntityObjectIdentity)) {
|
|
||||||
return null;
|
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)
|
// Lookup the object's main properties from the RDBMS (guaranteed no nulls)
|
||||||
List objects = objectProperties.execute(aclObjectIdentityString);
|
List objects = objectProperties.execute(aclObjectIdentityString);
|
||||||
|
|
||||||
|
@ -189,6 +186,31 @@ public class JdbcDaoImpl extends JdbcDaoSupport implements BasicAclDao {
|
||||||
return objectPropertiesQuery;
|
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 {
|
protected void initDao() throws ApplicationContextException {
|
||||||
initMappingSqlQueries();
|
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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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.AclObjectIdentity;
|
||||||
import net.sf.acegisecurity.acl.basic.BasicAclEntry;
|
import net.sf.acegisecurity.acl.basic.BasicAclEntry;
|
||||||
import net.sf.acegisecurity.acl.basic.BasicAclExtendedDao;
|
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.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
@ -295,30 +294,6 @@ public class JdbcExtendedDaoImpl extends JdbcDaoImpl
|
||||||
aclPermissionUpdate = new AclPermissionUpdate(getDataSource());
|
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
|
* Convenience method that creates an acl_object_identity record if
|
||||||
* required.
|
* 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 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 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="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>
|
||||||
<release version="0.8.3" date="2005-05-12">
|
<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>
|
<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