Class ChangeAdminLockHelper

java.lang.Object
wt.change2.adminlock.ChangeAdminLockHelper

public class ChangeAdminLockHelper extends Object
Administrative locked objects are limited to permissions of to Read, Download, and Change Permissions. This will not work for change management for the following reasons.
  1. Objects that were created as part of a package import should by default not be allowed to be added as resulting objects on a Change Task. Currently a user only needs read access to perform that action. Since users will still have read access to objects with the PRODUCT_DESIGN_PACKAGE administrative lock we will need to do something to stop them from adding locked objects as resulting objects.
  2. The Change Admin I and II and Product Manager will have Administrative access to change objects so the permission restrictions due to the PRODUCT_DESIGN_PACKAGE administrative lock would not apply to them however access still needs to be restricted for certain actions from being performed on the change objects.
  3. A user may have permission to promote objects however the system should prevent the promotion of any object with the PRODUCT_DESIGN_PACKAGE administrative lock
In order to properly support access for different Change Management and Promotion Request operations on package imported objects this helper should be used. By default the properties are an empty string. The properties can be added to wt.properties to extend access for the operation type. See ChangeAdminLockOperation for configuring Administrative Lock properties and operation type values.

Supported API: true

Extendable: false
  • Method Details

    • getNonSupportedKeys

      public static Set<String> getNonSupportedKeys(ChangeAdminLockOperation lockType)
      Used to determine the set of administrative lock keys that don't extend access for the given operation type. This method is typically used for generating a search picker where clause for filtering the administrative lock types that are not valid for a operation.

      Supported API: true
      Parameters:
      lockType -
      Returns:
      a set of administrative lock keys to filter
      Throws:
      WTException
    • allowOperation

      public static boolean allowOperation(Persistable object, ChangeAdminLockOperation lockType)
      Checks if the given object has an administrative lock and if it is then evaluates if the given operation type has been configured to extended access.

      Supported API: true
      Parameters:
      object - Object to test for an administrative lock.
      lockType - Type of change management lock that can override an administrative lock (null for no type).
      Returns:
      True when the object is does not have an administrative lock or the object is has an administrative lock and the operation type has been configured to extended access.