Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.acegisecurity.acl.basic.jdbc
Class JdbcExtendedDaoImpl  view JdbcExtendedDaoImpl download JdbcExtendedDaoImpl.java

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

public class JdbcExtendedDaoImpl
extends JdbcDaoImpl
implements org.acegisecurity.acl.basic.BasicAclExtendedDao

Extension of the base JdbcDaoImpl, which implements org.acegisecurity.acl.basic.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 org.acegisecurity.acl.basic.NamedEntityObjectIdentity only. The latter can be changed by overriding JdbcDaoImpl.convertAclObjectIdentityToString(AclObjectIdentity) 55 .

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

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 inherited from class org.acegisecurity.acl.basic.jdbc.JdbcDaoImpl
JdbcDaoImpl.AclDetailsHolder, JdbcDaoImpl.AclsByObjectIdentityMapping, JdbcDaoImpl.ObjectPropertiesMapping
 
Field Summary
private  JdbcExtendedDaoImpl.AclObjectIdentityDelete aclObjectIdentityDelete
           
private  java.lang.String aclObjectIdentityDeleteStatement
           
private  JdbcExtendedDaoImpl.AclObjectIdentityInsert aclObjectIdentityInsert
           
private  java.lang.String aclObjectIdentityInsertStatement
           
private  JdbcExtendedDaoImpl.AclPermissionDelete aclPermissionDelete
           
private  java.lang.String aclPermissionDeleteStatement
           
private  JdbcExtendedDaoImpl.AclPermissionInsert aclPermissionInsert
           
private  java.lang.String aclPermissionInsertStatement
           
private  JdbcExtendedDaoImpl.AclPermissionUpdate aclPermissionUpdate
           
private  java.lang.String aclPermissionUpdateStatement
           
static java.lang.String DEF_ACL_OBJECT_IDENTITY_DELETE_STATEMENT
           
static java.lang.String DEF_ACL_OBJECT_IDENTITY_INSERT_STATEMENT
           
static java.lang.String DEF_ACL_PERMISSION_DELETE_STATEMENT
           
static java.lang.String DEF_ACL_PERMISSION_INSERT_STATEMENT
           
static java.lang.String DEF_ACL_PERMISSION_UPDATE_STATEMENT
           
static java.lang.String DEF_LOOKUP_PERMISSION_ID_QUERY
           
private static org.apache.commons.logging.Log logger
           
private  org.springframework.jdbc.object.MappingSqlQuery lookupPermissionIdMapping
           
private  java.lang.String lookupPermissionIdQuery
           
 
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
 
Fields inherited from class org.springframework.jdbc.core.support.JdbcDaoSupport
 
Constructor Summary
JdbcExtendedDaoImpl()
           
 
Method Summary
 void changeMask(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity, java.lang.Object recipient, java.lang.Integer newMask)
          Changes the permission mask assigned to the BasicAclEntry associated with the specified AclObjectIdentity and recipient Object.
 void create(org.acegisecurity.acl.basic.BasicAclEntry basicAclEntry)
           
private  void createAclObjectIdentityIfRequired(org.acegisecurity.acl.basic.BasicAclEntry basicAclEntry)
          Convenience method that creates an acl_object_identity record if required.
 void delete(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity)
          Deletes all entries associated with the specified AclObjectIdentity.
 void delete(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity, java.lang.Object recipient)
          Deletes the BasicAclEntry associated with the specified AclObjectIdentity and recipient Object.
 JdbcExtendedDaoImpl.AclObjectIdentityDelete getAclObjectIdentityDelete()
           
 java.lang.String getAclObjectIdentityDeleteStatement()
           
 JdbcExtendedDaoImpl.AclObjectIdentityInsert getAclObjectIdentityInsert()
           
 java.lang.String getAclObjectIdentityInsertStatement()
           
 JdbcExtendedDaoImpl.AclPermissionDelete getAclPermissionDelete()
           
 java.lang.String getAclPermissionDeleteStatement()
           
 JdbcExtendedDaoImpl.AclPermissionInsert getAclPermissionInsert()
           
 java.lang.String getAclPermissionInsertStatement()
           
 JdbcExtendedDaoImpl.AclPermissionUpdate getAclPermissionUpdate()
           
 java.lang.String getAclPermissionUpdateStatement()
           
 org.springframework.jdbc.object.MappingSqlQuery getLookupPermissionIdMapping()
           
 java.lang.String getLookupPermissionIdQuery()
           
protected  void initDao()
          Subclasses can override this for custom initialization behavior.
private  JdbcDaoImpl.AclDetailsHolder lookupAclDetailsHolder(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity)
          Convenience method that obtains a given acl_object_identity record.
private  long lookupPermissionId(long aclObjectIdentityId, java.lang.Object recipient)
          Convenience method to lookup the acl_permission applying to a given acl_object_identity.id and acl_permission.recipient.
 void setAclObjectIdentityDelete(JdbcExtendedDaoImpl.AclObjectIdentityDelete aclObjectIdentityDelete)
           
 void setAclObjectIdentityDeleteStatement(java.lang.String aclObjectIdentityDeleteStatement)
           
 void setAclObjectIdentityInsert(JdbcExtendedDaoImpl.AclObjectIdentityInsert aclObjectIdentityInsert)
           
 void setAclObjectIdentityInsertStatement(java.lang.String aclObjectIdentityInsertStatement)
           
 void setAclPermissionDelete(JdbcExtendedDaoImpl.AclPermissionDelete aclPermissionDelete)
           
 void setAclPermissionDeleteStatement(java.lang.String aclPermissionDeleteStatement)
           
 void setAclPermissionInsert(JdbcExtendedDaoImpl.AclPermissionInsert aclPermissionInsert)
           
 void setAclPermissionInsertStatement(java.lang.String aclPermissionInsertStatement)
           
 void setAclPermissionUpdate(JdbcExtendedDaoImpl.AclPermissionUpdate aclPermissionUpdate)
           
 void setAclPermissionUpdateStatement(java.lang.String aclPermissionUpdateStatement)
           
 void setLookupPermissionIdMapping(org.springframework.jdbc.object.MappingSqlQuery lookupPermissionIdMapping)
           
 void setLookupPermissionIdQuery(java.lang.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
afterPropertiesSet, closeConnectionIfNecessary, createJdbcTemplate, getConnection, getDataSource, getExceptionTranslator, getJdbcTemplate, setDataSource, setJdbcTemplate
 
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

logger

private static final org.apache.commons.logging.Log logger

DEF_ACL_OBJECT_IDENTITY_DELETE_STATEMENT

public static final java.lang.String DEF_ACL_OBJECT_IDENTITY_DELETE_STATEMENT
See Also:
Constant Field Values

DEF_ACL_OBJECT_IDENTITY_INSERT_STATEMENT

public static final java.lang.String DEF_ACL_OBJECT_IDENTITY_INSERT_STATEMENT
See Also:
Constant Field Values

DEF_ACL_PERMISSION_DELETE_STATEMENT

public static final java.lang.String DEF_ACL_PERMISSION_DELETE_STATEMENT
See Also:
Constant Field Values

DEF_ACL_PERMISSION_INSERT_STATEMENT

public static final java.lang.String DEF_ACL_PERMISSION_INSERT_STATEMENT
See Also:
Constant Field Values

DEF_ACL_PERMISSION_UPDATE_STATEMENT

public static final java.lang.String DEF_ACL_PERMISSION_UPDATE_STATEMENT
See Also:
Constant Field Values

DEF_LOOKUP_PERMISSION_ID_QUERY

public static final java.lang.String DEF_LOOKUP_PERMISSION_ID_QUERY
See Also:
Constant Field Values

aclObjectIdentityDelete

private JdbcExtendedDaoImpl.AclObjectIdentityDelete aclObjectIdentityDelete

aclObjectIdentityInsert

private JdbcExtendedDaoImpl.AclObjectIdentityInsert aclObjectIdentityInsert

aclPermissionDelete

private JdbcExtendedDaoImpl.AclPermissionDelete aclPermissionDelete

aclPermissionInsert

private JdbcExtendedDaoImpl.AclPermissionInsert aclPermissionInsert

aclPermissionUpdate

private JdbcExtendedDaoImpl.AclPermissionUpdate aclPermissionUpdate

lookupPermissionIdMapping

private org.springframework.jdbc.object.MappingSqlQuery lookupPermissionIdMapping

aclObjectIdentityDeleteStatement

private java.lang.String aclObjectIdentityDeleteStatement

aclObjectIdentityInsertStatement

private java.lang.String aclObjectIdentityInsertStatement

aclPermissionDeleteStatement

private java.lang.String aclPermissionDeleteStatement

aclPermissionInsertStatement

private java.lang.String aclPermissionInsertStatement

aclPermissionUpdateStatement

private java.lang.String aclPermissionUpdateStatement

lookupPermissionIdQuery

private java.lang.String lookupPermissionIdQuery
Constructor Detail

JdbcExtendedDaoImpl

public JdbcExtendedDaoImpl()
Method Detail

setAclObjectIdentityDelete

public void setAclObjectIdentityDelete(JdbcExtendedDaoImpl.AclObjectIdentityDelete aclObjectIdentityDelete)

getAclObjectIdentityDelete

public JdbcExtendedDaoImpl.AclObjectIdentityDelete getAclObjectIdentityDelete()

setAclObjectIdentityDeleteStatement

public void setAclObjectIdentityDeleteStatement(java.lang.String aclObjectIdentityDeleteStatement)

getAclObjectIdentityDeleteStatement

public java.lang.String getAclObjectIdentityDeleteStatement()

setAclObjectIdentityInsert

public void setAclObjectIdentityInsert(JdbcExtendedDaoImpl.AclObjectIdentityInsert aclObjectIdentityInsert)

getAclObjectIdentityInsert

public JdbcExtendedDaoImpl.AclObjectIdentityInsert getAclObjectIdentityInsert()

setAclObjectIdentityInsertStatement

public void setAclObjectIdentityInsertStatement(java.lang.String aclObjectIdentityInsertStatement)

getAclObjectIdentityInsertStatement

public java.lang.String getAclObjectIdentityInsertStatement()

setAclPermissionDelete

public void setAclPermissionDelete(JdbcExtendedDaoImpl.AclPermissionDelete aclPermissionDelete)

getAclPermissionDelete

public JdbcExtendedDaoImpl.AclPermissionDelete getAclPermissionDelete()

setAclPermissionDeleteStatement

public void setAclPermissionDeleteStatement(java.lang.String aclPermissionDeleteStatement)

getAclPermissionDeleteStatement

public java.lang.String getAclPermissionDeleteStatement()

setAclPermissionInsert

public void setAclPermissionInsert(JdbcExtendedDaoImpl.AclPermissionInsert aclPermissionInsert)

getAclPermissionInsert

public JdbcExtendedDaoImpl.AclPermissionInsert getAclPermissionInsert()

setAclPermissionInsertStatement

public void setAclPermissionInsertStatement(java.lang.String aclPermissionInsertStatement)

getAclPermissionInsertStatement

public java.lang.String getAclPermissionInsertStatement()

setAclPermissionUpdate

public void setAclPermissionUpdate(JdbcExtendedDaoImpl.AclPermissionUpdate aclPermissionUpdate)

getAclPermissionUpdate

public JdbcExtendedDaoImpl.AclPermissionUpdate getAclPermissionUpdate()

setAclPermissionUpdateStatement

public void setAclPermissionUpdateStatement(java.lang.String aclPermissionUpdateStatement)

getAclPermissionUpdateStatement

public java.lang.String getAclPermissionUpdateStatement()

setLookupPermissionIdMapping

public void setLookupPermissionIdMapping(org.springframework.jdbc.object.MappingSqlQuery lookupPermissionIdMapping)

getLookupPermissionIdMapping

public org.springframework.jdbc.object.MappingSqlQuery getLookupPermissionIdMapping()

setLookupPermissionIdQuery

public void setLookupPermissionIdQuery(java.lang.String lookupPermissionIdQuery)

getLookupPermissionIdQuery

public java.lang.String getLookupPermissionIdQuery()

changeMask

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

Specified by:
changeMask in interface org.acegisecurity.acl.basic.BasicAclExtendedDao

create

public void create(org.acegisecurity.acl.basic.BasicAclEntry basicAclEntry)
            throws org.springframework.dao.DataAccessException
Specified by:
create in interface org.acegisecurity.acl.basic.BasicAclExtendedDao

delete

public void delete(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity)
            throws org.springframework.dao.DataAccessException
Description copied from interface: org.acegisecurity.acl.basic.BasicAclExtendedDao
Deletes all entries associated with the specified AclObjectIdentity.

Specified by:
delete in interface org.acegisecurity.acl.basic.BasicAclExtendedDao

delete

public void delete(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity,
                   java.lang.Object recipient)
            throws org.springframework.dao.DataAccessException
Description copied from interface: org.acegisecurity.acl.basic.BasicAclExtendedDao
Deletes the BasicAclEntry associated with the specified AclObjectIdentity and recipient Object.

Specified by:
delete in interface org.acegisecurity.acl.basic.BasicAclExtendedDao

initDao

protected void initDao()
                throws org.springframework.context.ApplicationContextException
Description copied from class: org.springframework.jdbc.core.support.JdbcDaoSupport
Subclasses can override this for custom initialization behavior. Gets called after population of this instance's bean properties.

Overrides:
initDao in class JdbcDaoImpl

createAclObjectIdentityIfRequired

private void createAclObjectIdentityIfRequired(org.acegisecurity.acl.basic.BasicAclEntry basicAclEntry)
                                        throws org.springframework.dao.DataAccessException
Convenience method that creates an acl_object_identity record if required.


lookupAclDetailsHolder

private JdbcDaoImpl.AclDetailsHolder lookupAclDetailsHolder(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity)
                                                     throws org.springframework.dao.DataRetrievalFailureException
Convenience method that obtains a given acl_object_identity record.


lookupPermissionId

private long lookupPermissionId(long aclObjectIdentityId,
                                java.lang.Object recipient)
                         throws org.springframework.dao.DataAccessException
Convenience method to lookup the acl_permission applying to a given acl_object_identity.id and acl_permission.recipient.