OACC Framework v2.0.0-rc.1 Release Notes

Release Date: 2015-01-10 // almost 7 years ago
  • ๐Ÿš€ 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.