OACC v2.0.0-rc.1
Pre-release
Pre-release
·
368 commits
to master
since this release
Release date: 2015-01-09
Summary of changes in this release:
- adds new API methods to retrieve direct permissions
- changes all permission classes to interfaces and moves factory methods to new permission factories
- fixes several bugs, as described in more detail below
- extends comprehensive test suite to essentially cover the entire API
- adds checks to API methods to assert arguments are not null or blank
- refines javaDoc comments
- refactors internal codebase (i.e. not the public-facing API)
- to be more consistent and descriptive in method and class names
- to improve readability
- updates copyright notices
Summary of API changes:
- in
AccessControlContext, adds get-methods for direct permissions to provide round-trip symmetry with the set-methods (enhancement #13) - previously OACC only had getters for effective permissions.getResourcePermissions()getGlobalResourcePermissions()getResourceCreatePermissions()getDomainPermissions()getDomainCreatePermissions()
- changes all permission classes to interfaces and moves factory methods to the following newly added permission factories
ResourcePermissionsResourceCreatePermissionsDomainPermissionsDomainCreatePermissions
Bug fixes:
- fixes overloaded
getResourcesByResourcePermission()to check permissions to the accessor resource when the accessor resource is not identical to the session resource - fixes
getResourcesByResourcePermission()to not check permissions to the accessor resource when it is identical to the session resource - fixes
impersonate()to explicitly use the authenticated resource when checking permissions and to check for null arguments - fixes
getDomainNameByResource()to not throw NullPointerException for non-existent resource references - fixes
getResourceClassInfo()to not throw NullPointerException for non-existent resource class references - fixes #12 -
assertResourcePermission()now takeswithGrantattribute into account when asserting permission - fixes #11 -
assertGlobalResourcePermission()now takeswithGrantattribute into account when asserting permission - fixes #10 -
assertPostCreateResourcePermission()now takeswithGrantattribute into account when asserting permission - fixes #9 -
setCredentials()now allows the authenticated resource to set its credentials without requiring explicit permissions - fixes
getAccessorResourcesByResourcePermission()to be whitespace consistent - fixes
getResourcePermissionNames()to be whitespace consistent - fixes
assertPostCreateResourcePermission()to be whitespace consistent - fixes
setGlobalResourcePermissions()to be whitespace consistent - fixes
getEffectiveGlobalResourcePermissions()to be whitespace consistent - fixes
getEffectiveResourceCreatePermissions()to be whitespace consistent - fixes
getEffectiveDomainPermissions()to be whitespace consistent - fixes
createDomain()for child domains to be whitespace consistent - fixes
getResourcesByResourcePermission()to be whitespace consistent - fixes all effective permission getters to remove grant-equivalent duplicates from the result
- fixes #8 -
setDomainCreatePermissions()no longer checks grant permissions on permissions that are not being changed - fixes #7 -
setDomainPermissions()no longer checks grant permissions on permissions that are not being changed - fixes #6 -
setGlobalResourcePermissions()no longer checks grant permissions on permissions that are not being changed and correctly handles up/downgrade of permissions with grant - fixes #4 -
setResourceCreatePermissions()no longer checks grant permissions on permissions that are not being changed and correctly handles up/downgrade of permissions with grant - fixes #5 -
setResourceCreatePermissions()strictly validates requested create permissions against specified resource class - fixes #3 -
setResourcePermissions()no longer checks grant permissions on permissions that are not being changed and correctly handles up/downgrade of permissions with grant - fixes #2 -
setResourcePermissions()no longer checks grant permissions on permissions that are not being changed and only requires the granting privileges that are necessary - fixes #1 -
getEffectiveResourcePermissions()now includes global and domain-inherited permissions
Corresponding oacc-db release:
The version of the oacc-db database configuration scripts to be used with this release can be found here.