Class PspJexlUtils

java.lang.Object
edu.internet2.middleware.grouper.util.GrouperUtilElSafe
edu.internet2.middleware.grouper.pspng.PspJexlUtils

public class PspJexlUtils extends GrouperUtilElSafe
This class is included in the variable namespace created when JEXL expressions are evaluated. This class's purpose it to help simplify some jexl expressions. -- containedWithin(item, collections...) will search multiple java arrays or collections for 'item.' This class will transparently handle null collections.
  • Constructor Details

    • PspJexlUtils

      public PspJexlUtils()
  • Method Details

    • containedWithin

      public static boolean containedWithin(Object item, Object... arraysOrCollections)
      This is a null-safe and flexible method for seeing if an item is a member of one or more arrays or collections.
      Parameters:
      item -
      arraysOrCollections - varargs of Java arrays or collections
      Returns:
      True iff item is a member of (or equal to) one of the arrays or collections.
    • bushyDn

      public static String bushyDn(String groupName, String rdnAttributeName, String ouAttributeName)
    • bushyDn

      public static String bushyDn(String groupName, String rdnAttributeName, String ouAttributeName, boolean performRdnEscaping, boolean performFilterEscaping)
    • escapeLdapRdn

      public static String escapeLdapRdn(String rdnString) throws PspException
      This takes a string of attribute=value and makes sure that special, dn-relevant characters are escaped, particularly commas, pluses, etc
      Parameters:
      rdnString - An RDN: attribute=value
      Returns:
      Throws:
      PspException
    • escapeLdapFilter

      public static String escapeLdapFilter(String filterString)
      This takes a simple ldap filter 'attribute=value' or just 'value' and escapes the filter-relevant characters: \, *, (, ) Ref: https://stackoverflow.com/questions/31309673/parse-ldap-filter-to-escape-special-characters
      Parameters:
      filterString -
      Returns: