org.acegisecurity.acl.basic.jdbc
Class JdbcExtendedDaoImpl

java.lang.Object
  extended by org.springframework.dao.support.DaoSupport
      extended by org.springframework.jdbc.core.support.JdbcDaoSupport
          extended by org.acegisecurity.acl.basic.jdbc.JdbcDaoImpl
              extended by org.acegisecurity.acl.basic.jdbc.JdbcExtendedDaoImpl
All Implemented Interfaces:
BasicAclDao, BasicAclExtendedDao, InitializingBean

public class JdbcExtendedDaoImpl
extends JdbcDaoImpl
implements BasicAclExtendedDao

Extension of the base JdbcDaoImpl, which implements BasicAclExtendedDao.

A default database structure is assumed. This may be overridden by setting the default query strings to use.

This implementation works with String based recipients and NamedEntityObjectIdentity only. The latter can be changed by overriding JdbcDaoImpl.convertAclObjectIdentityToString(AclObjectIdentity).

Version:
$Id: JdbcExtendedDaoImpl.java,v 1.7 2005/11/17 00:56:10 benalex Exp $
Author:
Ben Alex

Nested Class Summary
protected  class JdbcExtendedDaoImpl.AclObjectIdentityDelete
           
protected  class JdbcExtendedDaoImpl.AclObjectIdentityInsert
           
protected  class JdbcExtendedDaoImpl.AclPermissionDelete
           
protected  class JdbcExtendedDaoImpl.AclPermissionInsert
           
protected  class JdbcExtendedDaoImpl.AclPermissionUpdate
           
protected  class JdbcExtendedDaoImpl.LookupPermissionIdMapping
           
 
Nested classes/interfaces inherited from class org.acegisecurity.acl.basic.jdbc.JdbcDaoImpl
JdbcDaoImpl.AclDetailsHolder, JdbcDaoImpl.AclsByObjectIdentityMapping, JdbcDaoImpl.ObjectPropertiesMapping
 
Field Summary
static String DEF_ACL_OBJECT_IDENTITY_DELETE_STATEMENT
           
static String DEF_ACL_OBJECT_IDENTITY_INSERT_STATEMENT
           
static String DEF_ACL_PERMISSION_DELETE_STATEMENT
           
static String DEF_ACL_PERMISSION_INSERT_STATEMENT
           
static String DEF_ACL_PERMISSION_UPDATE_STATEMENT
           
static String DEF_LOOKUP_PERMISSION_ID_QUERY
           
 
Fields inherited from class org.acegisecurity.acl.basic.jdbc.JdbcDaoImpl
aclsByObjectIdentity, DEF_ACLS_BY_OBJECT_IDENTITY_QUERY, DEF_OBJECT_PROPERTIES_QUERY, objectProperties, RECIPIENT_USED_FOR_INHERITENCE_MARKER
 
Constructor Summary
JdbcExtendedDaoImpl()
           
 
Method Summary
 void changeMask(AclObjectIdentity aclObjectIdentity, Object recipient, Integer newMask)
          Changes the permission mask assigned to the BasicAclEntry associated with the specified AclObjectIdentity and recipient Object.
 void create(BasicAclEntry basicAclEntry)
           
 void delete(AclObjectIdentity aclObjectIdentity)
          Deletes all entries associated with the specified AclObjectIdentity.
 void delete(AclObjectIdentity aclObjectIdentity, Object recipient)
          Deletes the BasicAclEntry associated with the specified AclObjectIdentity and recipient Object.
 JdbcExtendedDaoImpl.AclObjectIdentityDelete getAclObjectIdentityDelete()
           
 String getAclObjectIdentityDeleteStatement()
           
 JdbcExtendedDaoImpl.AclObjectIdentityInsert getAclObjectIdentityInsert()
           
 String getAclObjectIdentityInsertStatement()
           
 JdbcExtendedDaoImpl.AclPermissionDelete getAclPermissionDelete()
           
 String getAclPermissionDeleteStatement()
           
 JdbcExtendedDaoImpl.AclPermissionInsert getAclPermissionInsert()
           
 String getAclPermissionInsertStatement()
           
 JdbcExtendedDaoImpl.AclPermissionUpdate getAclPermissionUpdate()
           
 String getAclPermissionUpdateStatement()
           
 MappingSqlQuery getLookupPermissionIdMapping()
           
 String getLookupPermissionIdQuery()
           
protected  void initDao()
           
 void setAclObjectIdentityDelete(JdbcExtendedDaoImpl.AclObjectIdentityDelete aclObjectIdentityDelete)
           
 void setAclObjectIdentityDeleteStatement(String aclObjectIdentityDeleteStatement)
           
 void setAclObjectIdentityInsert(JdbcExtendedDaoImpl.AclObjectIdentityInsert aclObjectIdentityInsert)
           
 void setAclObjectIdentityInsertStatement(String aclObjectIdentityInsertStatement)
           
 void setAclPermissionDelete(JdbcExtendedDaoImpl.AclPermissionDelete aclPermissionDelete)
           
 void setAclPermissionDeleteStatement(String aclPermissionDeleteStatement)
           
 void setAclPermissionInsert(JdbcExtendedDaoImpl.AclPermissionInsert aclPermissionInsert)
           
 void setAclPermissionInsertStatement(String aclPermissionInsertStatement)
           
 void setAclPermissionUpdate(JdbcExtendedDaoImpl.AclPermissionUpdate aclPermissionUpdate)
           
 void setAclPermissionUpdateStatement(String aclPermissionUpdateStatement)
           
 void setLookupPermissionIdMapping(MappingSqlQuery lookupPermissionIdMapping)
           
 void setLookupPermissionIdQuery(String lookupPermissionIdQuery)
           
 
Methods inherited from class org.acegisecurity.acl.basic.jdbc.JdbcDaoImpl
convertAclObjectIdentityToString, getAcls, getAclsByObjectIdentity, getAclsByObjectIdentityQuery, getObjectPropertiesQuery, initMappingSqlQueries, setAclsByObjectIdentity, setAclsByObjectIdentityQuery, setObjectProperties, setObjectPropertiesQuery
 
Methods inherited from class org.springframework.jdbc.core.support.JdbcDaoSupport
checkDaoConfig, closeConnectionIfNecessary, createJdbcTemplate, getConnection, getDataSource, getExceptionTranslator, getJdbcTemplate, 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
 
Methods inherited from interface org.acegisecurity.acl.basic.BasicAclDao
getAcls
 

Field Detail

DEF_ACL_OBJECT_IDENTITY_DELETE_STATEMENT

public static final String DEF_ACL_OBJECT_IDENTITY_DELETE_STATEMENT
See Also:
Constant Field Values

DEF_ACL_OBJECT_IDENTITY_INSERT_STATEMENT

public static final String DEF_ACL_OBJECT_IDENTITY_INSERT_STATEMENT
See Also:
Constant Field Values

DEF_ACL_PERMISSION_DELETE_STATEMENT

public static final String DEF_ACL_PERMISSION_DELETE_STATEMENT
See Also:
Constant Field Values

DEF_ACL_PERMISSION_INSERT_STATEMENT

public static final String DEF_ACL_PERMISSION_INSERT_STATEMENT
See Also:
Constant Field Values

DEF_ACL_PERMISSION_UPDATE_STATEMENT

public static final String DEF_ACL_PERMISSION_UPDATE_STATEMENT
See Also:
Constant Field Values

DEF_LOOKUP_PERMISSION_ID_QUERY

public static final String DEF_LOOKUP_PERMISSION_ID_QUERY
See Also:
Constant Field Values
Constructor Detail

JdbcExtendedDaoImpl

public JdbcExtendedDaoImpl()
Method Detail

setAclObjectIdentityDelete

public void setAclObjectIdentityDelete(JdbcExtendedDaoImpl.AclObjectIdentityDelete aclObjectIdentityDelete)

getAclObjectIdentityDelete

public JdbcExtendedDaoImpl.AclObjectIdentityDelete getAclObjectIdentityDelete()

setAclObjectIdentityDeleteStatement

public void setAclObjectIdentityDeleteStatement(String aclObjectIdentityDeleteStatement)

getAclObjectIdentityDeleteStatement

public String getAclObjectIdentityDeleteStatement()

setAclObjectIdentityInsert

public void setAclObjectIdentityInsert(JdbcExtendedDaoImpl.AclObjectIdentityInsert aclObjectIdentityInsert)

getAclObjectIdentityInsert

public JdbcExtendedDaoImpl.AclObjectIdentityInsert getAclObjectIdentityInsert()

setAclObjectIdentityInsertStatement

public void setAclObjectIdentityInsertStatement(String aclObjectIdentityInsertStatement)

getAclObjectIdentityInsertStatement

public String getAclObjectIdentityInsertStatement()

setAclPermissionDelete

public void setAclPermissionDelete(JdbcExtendedDaoImpl.AclPermissionDelete aclPermissionDelete)

getAclPermissionDelete

public JdbcExtendedDaoImpl.AclPermissionDelete getAclPermissionDelete()

setAclPermissionDeleteStatement

public void setAclPermissionDeleteStatement(String aclPermissionDeleteStatement)

getAclPermissionDeleteStatement

public String getAclPermissionDeleteStatement()

setAclPermissionInsert

public void setAclPermissionInsert(JdbcExtendedDaoImpl.AclPermissionInsert aclPermissionInsert)

getAclPermissionInsert

public JdbcExtendedDaoImpl.AclPermissionInsert getAclPermissionInsert()

setAclPermissionInsertStatement

public void setAclPermissionInsertStatement(String aclPermissionInsertStatement)

getAclPermissionInsertStatement

public String getAclPermissionInsertStatement()

setAclPermissionUpdate

public void setAclPermissionUpdate(JdbcExtendedDaoImpl.AclPermissionUpdate aclPermissionUpdate)

getAclPermissionUpdate

public JdbcExtendedDaoImpl.AclPermissionUpdate getAclPermissionUpdate()

setAclPermissionUpdateStatement

public void setAclPermissionUpdateStatement(String aclPermissionUpdateStatement)

getAclPermissionUpdateStatement

public String getAclPermissionUpdateStatement()

setLookupPermissionIdMapping

public void setLookupPermissionIdMapping(MappingSqlQuery lookupPermissionIdMapping)

getLookupPermissionIdMapping

public MappingSqlQuery getLookupPermissionIdMapping()

setLookupPermissionIdQuery

public void setLookupPermissionIdQuery(String lookupPermissionIdQuery)

getLookupPermissionIdQuery

public String getLookupPermissionIdQuery()

changeMask

public void changeMask(AclObjectIdentity aclObjectIdentity,
                       Object recipient,
                       Integer newMask)
                throws DataAccessException
Description copied from interface: BasicAclExtendedDao
Changes the permission mask assigned to the BasicAclEntry associated with the specified AclObjectIdentity and recipient Object.

Specified by:
changeMask in interface BasicAclExtendedDao
Parameters:
aclObjectIdentity - to locate the relevant BasicAclEntry
recipient - to locate the relevant BasicAclEntry
newMask - indicating the new permission
Throws:
DataAccessException

create

public void create(BasicAclEntry basicAclEntry)
            throws DataAccessException
Specified by:
create in interface BasicAclExtendedDao
Throws:
DataAccessException

delete

public void delete(AclObjectIdentity aclObjectIdentity)
            throws DataAccessException
Description copied from interface: BasicAclExtendedDao
Deletes all entries associated with the specified AclObjectIdentity.

Specified by:
delete in interface BasicAclExtendedDao
Parameters:
aclObjectIdentity - to delete, including any BasicAclEntrys
Throws:
DataAccessException

delete

public void delete(AclObjectIdentity aclObjectIdentity,
                   Object recipient)
            throws DataAccessException
Description copied from interface: BasicAclExtendedDao
Deletes the BasicAclEntry associated with the specified AclObjectIdentity and recipient Object.

Specified by:
delete in interface BasicAclExtendedDao
Parameters:
aclObjectIdentity - to delete
recipient - to delete
Throws:
DataAccessException

initDao

protected void initDao()
                throws ApplicationContextException
Overrides:
initDao in class JdbcDaoImpl
Throws:
ApplicationContextException


Copyright © 2004-2005 Acegi Technology Pty Limited. All Rights Reserved.