Skip to content

OACC v2.0.0-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@fspinnenhirn fspinnenhirn released this 10 Jan 01:49
· 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
    • ResourcePermissions
    • ResourceCreatePermissions
    • DomainPermissions
    • DomainCreatePermissions

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 takes withGrant attribute into account when asserting permission
  • fixes #11 - assertGlobalResourcePermission() now takes withGrant attribute into account when asserting permission
  • fixes #10 - assertPostCreateResourcePermission() now takes withGrant attribute 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.