Issue Details (XML | Word | Printable)

Key: SEC-676
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Ben Alex
Reporter: Andrei Stefan
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Spring Security

Children Acls are not removed from cache when parent is deleted

Created: 15/Feb/08 04:20 PM   Updated: 04/Apr/08 10:43 PM
Component/s: ACLs
Affects Version/s: 2.0.0 M1
Fix Version/s: 2.0.0

Time Tracking:
Not Specified


 Description  « Hide
Calling jdbcMutableAclService.deleteAcl(parentOid, true) should remove the parent acl and, also, its children. The records are deleted from database, but the children related entries from cache are not removed.
The element in cache was built using an ObjectIdentityImpl that received as parameters a string as class name and a Long as domain object id. But, calling JdbcAclService.findChildren() the domain objects returned are created using two strings as parameters and because of this the children are not found in cache and, thus, not removed.
A possible solution could be the creation of ObjectIdentityImpl objects in JdbcAclService.findChildren() method using a Long as the id of the domain object.
The test method demonstrating this behavior is found JdbcAclServiceTests - testDeleteAclAlsoDeletesChildren.

 All   Comments   Work Log   Change History   FishEye   Builds      Sort Order: Ascending order - Click to sort in descending order
Ben Alex added a comment - 04/Apr/08 10:43 PM
Modified JdbcAclService to use Long based identifiers, consistent with the remainder of the basic implementation provided in the ACL module.

Tests pass.

SVN revision 2861.