|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.dao.support.DaoSupport
org.springframework.jdbc.core.support.JdbcDaoSupport
org.acegisecurity.acl.basic.jdbc.JdbcDaoImpl
public class JdbcDaoImpl
Retrieves ACL details from a JDBC location.
A default database structure is assumed. This may be overridden by setting the default query strings to use.
If this does not provide enough flexibility, another strategy would be to subclass this class and override the
MappingSqlQuery
instance used, via the initMappingSqlQueries()
extension point.
Nested Class Summary | |
---|---|
protected class |
JdbcDaoImpl.AclDetailsHolder
Used to hold details of a domain object instance's properties, or an individual ACL entry. |
protected class |
JdbcDaoImpl.AclsByObjectIdentityMapping
Query object to look up individual ACL entries. |
protected class |
JdbcDaoImpl.ObjectPropertiesMapping
Query object to look up properties for an object identity. |
Field Summary | |
---|---|
protected org.springframework.jdbc.object.MappingSqlQuery |
aclsByObjectIdentity
|
static java.lang.String |
DEF_ACLS_BY_OBJECT_IDENTITY_QUERY
|
static java.lang.String |
DEF_OBJECT_PROPERTIES_QUERY
|
protected org.springframework.jdbc.object.MappingSqlQuery |
objectProperties
|
static java.lang.String |
RECIPIENT_USED_FOR_INHERITENCE_MARKER
|
Constructor Summary | |
---|---|
JdbcDaoImpl()
|
Method Summary | |
---|---|
protected java.lang.String |
convertAclObjectIdentityToString(AclObjectIdentity aclObjectIdentity)
Responsible for covering a AclObjectIdentity to a String that can be located
in the RDBMS. |
BasicAclEntry[] |
getAcls(AclObjectIdentity aclObjectIdentity)
Returns the ACLs associated with the requested AclObjectIdentity . |
org.springframework.jdbc.object.MappingSqlQuery |
getAclsByObjectIdentity()
|
java.lang.String |
getAclsByObjectIdentityQuery()
|
java.lang.String |
getObjectPropertiesQuery()
|
protected void |
initDao()
|
protected void |
initMappingSqlQueries()
Extension point to allow other MappingSqlQuery objects to be substituted in a subclass |
void |
setAclsByObjectIdentity(org.springframework.jdbc.object.MappingSqlQuery aclsByObjectIdentityQuery)
|
void |
setAclsByObjectIdentityQuery(java.lang.String queryString)
Allows the default query string used to retrieve ACLs based on object identity to be overriden, if default table or column names need to be changed. |
void |
setObjectProperties(org.springframework.jdbc.object.MappingSqlQuery objectPropertiesQuery)
|
void |
setObjectPropertiesQuery(java.lang.String queryString)
|
Methods inherited from class org.springframework.jdbc.core.support.JdbcDaoSupport |
---|
checkDaoConfig, createJdbcTemplate, getConnection, getDataSource, getExceptionTranslator, getJdbcTemplate, initTemplateConfig, releaseConnection, setDataSource, setJdbcTemplate |
Methods inherited from class org.springframework.dao.support.DaoSupport |
---|
afterPropertiesSet |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String RECIPIENT_USED_FOR_INHERITENCE_MARKER
public static final java.lang.String DEF_ACLS_BY_OBJECT_IDENTITY_QUERY
public static final java.lang.String DEF_OBJECT_PROPERTIES_QUERY
protected org.springframework.jdbc.object.MappingSqlQuery aclsByObjectIdentity
protected org.springframework.jdbc.object.MappingSqlQuery objectProperties
Constructor Detail |
---|
public JdbcDaoImpl()
Method Detail |
---|
protected java.lang.String convertAclObjectIdentityToString(AclObjectIdentity aclObjectIdentity)
AclObjectIdentity
to a String
that can be located
in the RDBMS.
aclObjectIdentity
- to locate
String
public BasicAclEntry[] getAcls(AclObjectIdentity aclObjectIdentity)
AclObjectIdentity
.The BasicAclEntry
s returned by this method will have String
-based recipients. This will not be a
problem if you are using the GrantedAuthorityEffectiveAclsResolver
, which is the default
configured against BasicAclProvider
.
This method will only return ACLs for requests where the AclObjectIdentity
is of type
NamedEntityObjectIdentity
. Of course, you can subclass or replace this class and support your own
custom AclObjectIdentity
types.
getAcls
in interface BasicAclDao
aclObjectIdentity
- for which ACL information is required (cannot be null
and must be an
instance of NamedEntityObjectIdentity
)
null
s inside the array), or null
if not found
or if an incompatible AclObjectIdentity
was requestedpublic org.springframework.jdbc.object.MappingSqlQuery getAclsByObjectIdentity()
public java.lang.String getAclsByObjectIdentityQuery()
public java.lang.String getObjectPropertiesQuery()
protected void initDao() throws org.springframework.context.ApplicationContextException
initDao
in class org.springframework.dao.support.DaoSupport
org.springframework.context.ApplicationContextException
protected void initMappingSqlQueries()
public void setAclsByObjectIdentity(org.springframework.jdbc.object.MappingSqlQuery aclsByObjectIdentityQuery)
public void setAclsByObjectIdentityQuery(java.lang.String queryString)
DEF_ACLS_BY_OBJECT_IDENTITY_QUERY
; when modifying this query, ensure that all returned columns are mapped
back to the same column names as in the default query.
queryString
- The query string to setpublic void setObjectProperties(org.springframework.jdbc.object.MappingSqlQuery objectPropertiesQuery)
public void setObjectPropertiesQuery(java.lang.String queryString)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |