com.jaspersoft.jasperserver.api.metadata.user.service.impl
Class ObjectPermissionServiceImpl

java.lang.Object
  extended by org.springframework.dao.support.DaoSupport
      extended by org.springframework.orm.hibernate3.support.HibernateDaoSupport
          extended by com.jaspersoft.jasperserver.api.metadata.common.service.impl.HibernateDaoImpl
              extended by com.jaspersoft.jasperserver.api.metadata.user.service.impl.ObjectPermissionServiceImpl
All Implemented Interfaces:
PersistentObjectResolver, AclService, ObjectPermissionServiceInternal, ObjectPermissionService, org.acegisecurity.acl.AclProvider, org.acegisecurity.acl.basic.BasicAclDao, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware

public class ObjectPermissionServiceImpl
extends HibernateDaoImpl
implements org.acegisecurity.acl.basic.BasicAclDao, org.acegisecurity.acl.AclProvider, AclService, ObjectPermissionService, ObjectPermissionServiceInternal, org.springframework.context.ApplicationContextAware, PersistentObjectResolver, org.springframework.beans.factory.InitializingBean

Author:
swood

Nested Class Summary
 
Nested classes/interfaces inherited from class com.jaspersoft.jasperserver.api.metadata.common.service.impl.HibernateDaoImpl
HibernateDaoImpl.DaoCallback
 
Field Summary
protected static org.apache.commons.logging.Log log
           
static java.lang.String RECIPIENT_USED_FOR_INHERITANCE_MARKER
           
 
Fields inherited from class org.springframework.dao.support.DaoSupport
logger
 
Constructor Summary
ObjectPermissionServiceImpl()
           
 
Method Summary
 void deleteObjectPermission(ExecutionContext context, ObjectPermission objPermission)
           
protected  void deleteObjectPermission(RepoObjectPermission permission)
           
 void deleteObjectPermissionForObject(ExecutionContext context, java.lang.Object targetObject)
           
 void deleteObjectPermissionForRepositoryPath(ExecutionContext context, java.lang.String path)
           
protected  void deleteObjectPermissions(java.util.List permissions)
           
 void deleteObjectPermissionsForRecipient(ExecutionContext context, java.lang.Object recipient)
           
 void deleteObjectPermissionsForRecipient(ExecutionContext context, ObjectPermissionRecipientIdentity recipientIdentity)
           
 org.acegisecurity.acl.basic.BasicAclEntry[] getAcls(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity)
           
 org.acegisecurity.acl.basic.BasicAclEntry[] getAcls(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity, java.lang.Object recipient)
           
 org.acegisecurity.acl.basic.BasicAclEntry[] getAcls(InternalURI targetURI)
          Returns the ACLs associated with the requested AclObjectIdentity.
 org.acegisecurity.acl.AclEntry[] getAcls(java.lang.Object obj)
          Find ObjectPermissions for the object (non-Javadoc)
 org.acegisecurity.acl.AclEntry[] getAcls(java.lang.Object obj, org.acegisecurity.Authentication auth)
          Find ObjectPermissions for the object and Authentication (user) (non-Javadoc)
 org.acegisecurity.acl.basic.BasicAclEntry[] getAcls(java.lang.String uri)
          Returns the ACLs associated with the requested AclObjectIdentity.
 org.acegisecurity.acl.basic.BasicAclEntryCache getBasicAclEntryCache()
           
 org.acegisecurity.acl.basic.EffectiveAclsResolver getEffectiveAclsResolver()
           
 RepoResource getExternalReference(java.lang.String uri, java.lang.Class persistentReferenceClass)
           
 ResourceFactory getObjectMappingFactory()
           
 ObjectPermission getObjectPermission(ExecutionContext context, ObjectPermission objPermission)
           
 java.util.List getObjectPermissionsForObject(ExecutionContext context, java.lang.Object targetObject)
           
 java.util.List getObjectPermissionsForObjectAndRecipient(ExecutionContext context, java.lang.Object targetObject, java.lang.Object recipient)
           
 java.util.List getObjectPermissionsForRecipient(ExecutionContext context, java.lang.Object recipient)
           
 ResourceFactory getPersistentClassFactory()
           
 java.lang.Object getPersistentObject(java.lang.Object clientObject)
           
 RepoResource getReference(RepoResource owner, Resource resource, java.lang.Class persistentReferenceClass)
           
protected  java.util.List getRepoObjectPermissions(ObjectPermissionRecipientIdentity recipientIdentity)
           
 HibernateRepositoryService getRepositoryService()
           
 UserAuthorityService getUserAuthorityService()
           
 ObjectPermission newObjectPermission(ExecutionContext context)
           
 void putObjectPermission(ExecutionContext context, ObjectPermission objPermission)
           
 void setApplicationContext(org.springframework.context.ApplicationContext arg0)
           
 void setBasicAclEntryCache(org.acegisecurity.acl.basic.BasicAclEntryCache basicAclEntryCache)
           
 void setEffectiveAclsResolver(org.acegisecurity.acl.basic.EffectiveAclsResolver effectiveAclsResolver)
           
 void setObjectMappingFactory(ResourceFactory objectFactory)
           
 void setPersistentClassFactory(ResourceFactory persistentClassFactory)
           
 void setRepositoryService(HibernateRepositoryService repoService)
           
 void setUserAuthorityService(UserAuthorityService userService)
           
 boolean supports(java.lang.Object obj)
          We can authorize InternalURI (non-Javadoc)
 
Methods inherited from class com.jaspersoft.jasperserver.api.metadata.common.service.impl.HibernateDaoImpl
endOperation, executeCallback, executeWriteCallback, executeWriteCallback, getOperationTimestamp, startOperation
 
Methods inherited from class org.springframework.orm.hibernate3.support.HibernateDaoSupport
checkDaoConfig, convertHibernateAccessException, createHibernateTemplate, getHibernateTemplate, getSession, getSession, getSessionFactory, releaseSession, setHibernateTemplate, setSessionFactory
 
Methods inherited from class org.springframework.dao.support.DaoSupport
afterPropertiesSet, initDao
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.beans.factory.InitializingBean
afterPropertiesSet
 

Field Detail

log

protected static final org.apache.commons.logging.Log log

RECIPIENT_USED_FOR_INHERITANCE_MARKER

public static final java.lang.String RECIPIENT_USED_FOR_INHERITANCE_MARKER
See Also:
Constant Field Values
Constructor Detail

ObjectPermissionServiceImpl

public ObjectPermissionServiceImpl()
Method Detail

getRepositoryService

public HibernateRepositoryService getRepositoryService()
Returns:
Returns the repoService.

setRepositoryService

public void setRepositoryService(HibernateRepositoryService repoService)
Parameters:
repoService - The repoService to set.

getUserAuthorityService

public UserAuthorityService getUserAuthorityService()
Returns:
Returns the userService.

setUserAuthorityService

public void setUserAuthorityService(UserAuthorityService userService)
Parameters:
userService - The userService to set.

getObjectMappingFactory

public ResourceFactory getObjectMappingFactory()

setObjectMappingFactory

public void setObjectMappingFactory(ResourceFactory objectFactory)

getPersistentClassFactory

public ResourceFactory getPersistentClassFactory()

setPersistentClassFactory

public void setPersistentClassFactory(ResourceFactory persistentClassFactory)

setBasicAclEntryCache

public void setBasicAclEntryCache(org.acegisecurity.acl.basic.BasicAclEntryCache basicAclEntryCache)

getBasicAclEntryCache

public org.acegisecurity.acl.basic.BasicAclEntryCache getBasicAclEntryCache()

getEffectiveAclsResolver

public org.acegisecurity.acl.basic.EffectiveAclsResolver getEffectiveAclsResolver()
Returns:
Returns the effectiveAclsResolver.

setEffectiveAclsResolver

public void setEffectiveAclsResolver(org.acegisecurity.acl.basic.EffectiveAclsResolver effectiveAclsResolver)
Parameters:
effectiveAclsResolver - The effectiveAclsResolver to set.

setApplicationContext

public void setApplicationContext(org.springframework.context.ApplicationContext arg0)
                           throws org.springframework.beans.BeansException
Specified by:
setApplicationContext in interface org.springframework.context.ApplicationContextAware
Throws:
org.springframework.beans.BeansException

getAcls

public org.acegisecurity.acl.basic.BasicAclEntry[] getAcls(java.lang.String uri)
Returns the ACLs associated with the requested AclObjectIdentity.

The BasicAclEntrys 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.

Specified by:
getAcls in interface AclService
Parameters:
aclObjectIdentity - for which ACL information is required (cannot be null)
Returns:
the ACLs that apply (without any nulls inside the array), or null if not found or if an incompatible AclObjectIdentity was requested

getAcls

public org.acegisecurity.acl.basic.BasicAclEntry[] getAcls(InternalURI targetURI)
Returns the ACLs associated with the requested AclObjectIdentity.

The BasicAclEntrys 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.

Specified by:
getAcls in interface AclService
Parameters:
aclObjectIdentity - for which ACL information is required (cannot be null)
Returns:
the ACLs that apply (without any nulls inside the array), or null if not found or if an incompatible AclObjectIdentity was requested

getAcls

public org.acegisecurity.acl.basic.BasicAclEntry[] getAcls(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity)
Specified by:
getAcls in interface org.acegisecurity.acl.basic.BasicAclDao

getAcls

public org.acegisecurity.acl.basic.BasicAclEntry[] getAcls(org.acegisecurity.acl.basic.AclObjectIdentity aclObjectIdentity,
                                                           java.lang.Object recipient)

getAcls

public org.acegisecurity.acl.AclEntry[] getAcls(java.lang.Object obj)
Find ObjectPermissions for the object (non-Javadoc)

Specified by:
getAcls in interface org.acegisecurity.acl.AclProvider
See Also:
AclManager.getAcls(java.lang.Object)

getAcls

public org.acegisecurity.acl.AclEntry[] getAcls(java.lang.Object obj,
                                                org.acegisecurity.Authentication auth)
Find ObjectPermissions for the object and Authentication (user) (non-Javadoc)

Specified by:
getAcls in interface org.acegisecurity.acl.AclProvider
See Also:
AclManager.getAcls(java.lang.Object, org.acegisecurity.Authentication)

deleteObjectPermissionForObject

public void deleteObjectPermissionForObject(ExecutionContext context,
                                            java.lang.Object targetObject)
Specified by:
deleteObjectPermissionForObject in interface ObjectPermissionService

deleteObjectPermissionForRepositoryPath

public void deleteObjectPermissionForRepositoryPath(ExecutionContext context,
                                                    java.lang.String path)
Specified by:
deleteObjectPermissionForRepositoryPath in interface ObjectPermissionServiceInternal

deleteObjectPermissionsForRecipient

public void deleteObjectPermissionsForRecipient(ExecutionContext context,
                                                java.lang.Object recipient)
Specified by:
deleteObjectPermissionsForRecipient in interface ObjectPermissionService

deleteObjectPermissionsForRecipient

public void deleteObjectPermissionsForRecipient(ExecutionContext context,
                                                ObjectPermissionRecipientIdentity recipientIdentity)
Specified by:
deleteObjectPermissionsForRecipient in interface ObjectPermissionServiceInternal

deleteObjectPermissions

protected void deleteObjectPermissions(java.util.List permissions)

supports

public boolean supports(java.lang.Object obj)
We can authorize InternalURI (non-Javadoc)

Specified by:
supports in interface org.acegisecurity.acl.AclProvider
See Also:
AclProvider.supports(java.lang.Object)

newObjectPermission

public ObjectPermission newObjectPermission(ExecutionContext context)
Specified by:
newObjectPermission in interface ObjectPermissionService

putObjectPermission

public void putObjectPermission(ExecutionContext context,
                                ObjectPermission objPermission)
Specified by:
putObjectPermission in interface ObjectPermissionService

deleteObjectPermission

public void deleteObjectPermission(ExecutionContext context,
                                   ObjectPermission objPermission)
Specified by:
deleteObjectPermission in interface ObjectPermissionService

deleteObjectPermission

protected void deleteObjectPermission(RepoObjectPermission permission)

getObjectPermission

public ObjectPermission getObjectPermission(ExecutionContext context,
                                            ObjectPermission objPermission)
Specified by:
getObjectPermission in interface ObjectPermissionService

getRepoObjectPermissions

protected java.util.List getRepoObjectPermissions(ObjectPermissionRecipientIdentity recipientIdentity)

getObjectPermissionsForObject

public java.util.List getObjectPermissionsForObject(ExecutionContext context,
                                                    java.lang.Object targetObject)
Specified by:
getObjectPermissionsForObject in interface ObjectPermissionService

getObjectPermissionsForRecipient

public java.util.List getObjectPermissionsForRecipient(ExecutionContext context,
                                                       java.lang.Object recipient)
Specified by:
getObjectPermissionsForRecipient in interface ObjectPermissionService

getObjectPermissionsForObjectAndRecipient

public java.util.List getObjectPermissionsForObjectAndRecipient(ExecutionContext context,
                                                                java.lang.Object targetObject,
                                                                java.lang.Object recipient)
Specified by:
getObjectPermissionsForObjectAndRecipient in interface ObjectPermissionService

getPersistentObject

public java.lang.Object getPersistentObject(java.lang.Object clientObject)
Specified by:
getPersistentObject in interface PersistentObjectResolver

getExternalReference

public RepoResource getExternalReference(java.lang.String uri,
                                         java.lang.Class persistentReferenceClass)

getReference

public RepoResource getReference(RepoResource owner,
                                 Resource resource,
                                 java.lang.Class persistentReferenceClass)


Copyright © 2007. All Rights Reserved.