Class GrouperWsConfig

java.lang.Object
edu.internet2.middleware.grouper.ws.GrouperWsConfig

public final class GrouperWsConfig extends Object
config constants for WS
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    name of param: ws.act.as.cache.seconds cache the decision to allow a user to actAs another, so it doesnt have to be calculated each time defaults to 30 minutes:
    static final String
    name of param # Web service users who are in the following group can use the actAs field to act as someone else # You can put multiple groups separated by commas.
    static final String
    name of param for add member web service max, default is 1000000 # Max number of subjects to be able to pass to addMember service, default is 1000000 ws.add.member.subjects.max = 20000
    static final String
    name of param for assignAttributeDefNameInheritance save, max assignAttributeDefNameInheritance to be able to save at once, default is 1000000 # Max number of assignAttributeDefNameInheritance to be able to pass to assignAttributeDefNameInheritance service, default is 1000000 ws.assign.attributeDefName.inheritance.max = 20000
    static final String
    name of param for attributedef delete, max attributedefs to be able to delete at once, default is 1000000 # Max number of attributedefs to be able to pass to attributedefDelete service, default is 1000000 ws.attributedef.delete.max = 20000
    static final String
    name of param for attributedefname delete, max attributedefnames to be able to delete at once, default is 1000000 # Max number of attributedefnames to be able to pass to attributedefnameDelete service, default is 1000000 ws.attributedefname.delete.max = 20000
    static final String
    name of param for attributeDefName save, max attributeDefNames to be able to save at once, default is 1000000 # Max number of attributeDefNames to be able to pass to attributeDefNameSave service, default is 1000000 ws.attributeDefName.save.max = 20000
    static final String
    name of param for attributeDef save, max attributeDef to be able to save at once, default is 1000000 # Max number of attributeDefs to be able to pass to attributeDefSave service, default is 1000000 ws.attributeDef.save.max = 20000
    static final String
    name of param: ws.client.user.group.cache.minutes cache the decision to allow a user to user web services, so it doesnt have to be calculated each time defaults to 30 minutes:
    static final String
    name of param: ws.client.user.group.name If there is an entry here for group name, then all web service client users must be in this group (before the actAs) e.g.
    static final String
    name of param for delete member web service max, default is 1000000 # Max number of subjects to be able to pass to deleteMember service, default is 1000000 ws.delete.member.subjects.max = 20000
    static final String
    name of param for get groups web service max, default is 1000000 # Max number of subjects to be able to pass to getGroups service, default is 1000000 ws.get.groups.subjects.max = 20000
    static final String
    name of param for group attribute, max groups to be able to view/edit attributes at once, default is 1000000 # Max number of subjects to be able to pass to addMember service, default is 1000000 ws.group.save.max = 20000
    static final String
    name of param for group delete, max groups to be able to delete at once, default is 1000000 # Max number of groups to be able to pass to groupDelete service, default is 1000000 ws.group.delete.max = 20000
    static final String
    name of param for group save, max groups to be able to save at once, default is 1000000 # Max number of groups to be able to pass to groupSave service, default is 1000000 ws.group.save.max = 20000
    static final String
    name of param for has member web service max, default is 1000000 # Max number of subjects to be able to pass to addMember service, default is 1000000 ws.has.member.subjects.max = 20000
    static final String
    name of param: ws.logged.in.subject.default.source if you have subject namespace overlap (or not), set the default subject source to lookup the user if none specified in user name
    static final String
    name of param for member change subject web service max, default is 1000000 # Max number of members to pass to memberChangeSubject, default is 1000000 ws.member.change.subject.max = 20000
    static final String
    name of param: ws.rest.default.response.content.type if the request has no content type (http params), and the response content type is not specified in the url, then put it here.
    static final String
    to provide custom authentication (instead of the default httpServletRequest.getUserPrincipal() for non-Rampart authentication.
    static final String
    to provide rampart authentication, Class must implement the interface: edu.internet2.middleware.grouper.ws.security.GrouperWssecAuthentication class must be fully qualified.
    static final String
    when packing things in a single param, this is the separator
    static final String
    name of param for stem delete, max stems to be able to delete at once, default is 1000000 # Max number of stems to be able to pass to stemDelete service, default is 1000000 ws.stem.delete.max = 20000
    static final String
    name of param for stem save, max stems to be able to save at once, default is 1000000 # Max number of stems to be able to pass to stemSave service, default is 1000000 ws.stem.save.max = 20000
    static final String
    subject attribute names to send back when a WsSubject is sent, comma separated e.g.
    static final String
    name of param for subject result attribute names when extended data is requested # subject result attribute names when extended data is requested (comma separated) default is name, description note, these will be in addition to ws.subject.result.attribute.names
    static final String
    name of param for save privileges web service max, default is 1000000 # Max number of subjects to be able to pass to savePrivileges service, default is 1000000 ws.view.or.edit.privileges.subjects.max = 20000
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    if the key is there, whether or not the value is blank
    static Properties
    Deprecated.
    use GrouperWsConfig.retrieveConfig().properties()
    static boolean
    getPropertyBoolean(String property, boolean defaultValue)
    Deprecated.
    use GrouperWsConfig.retrieveConfig().propertyValueBoolean instead
    static int
    getPropertyInt(String property, int defaultValue)
    Deprecated.
    use GrouperWsConfig.retrieveConfig().propertyValueInt instead
    static String
    Deprecated.
    use GrouperWsConfig.retrieveConfig().propertyValueString instead
    static String
    getPropertyString(String property, String defaultValue)
    Deprecated.
    use GrouperWsConfig.retrieveConfig().propertyValueString instead
    get the underlying properties for the config ui
    get the properties object for this config file
    find all keys/values with a certain pattern in a properties file.
    override map for properties for testing
    override map for properties in thread local to be used in a web server or the like, based on property class this is static since the properties class can get reloaded, but these shouldnt
     
    get a boolean and validate from grouper.client.properties or null if not there
    boolean
    propertyValueBoolean(String key, boolean defaultValue)
    get a boolean and validate from grouper.client.properties
    boolean
    get a boolean and validate from grouper.client.properties
    get a boolean and validate from grouper.client.properties
    int
    propertyValueInt(String key, int defaultValue)
    get a boolean and validate from grouper.client.properties
    int
    get a boolean and validate from grouper.client.properties
    get the property value as a string or null if not there
    propertyValueString(String key, String defaultValue)
    get the property value as a string
    get the property value as a string
    retrieve a config from the config file or from cache

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • WS_ADD_MEMBER_SUBJECTS_MAX

      public static final String WS_ADD_MEMBER_SUBJECTS_MAX
      name of param for add member web service max, default is 1000000 # Max number of subjects to be able to pass to addMember service, default is 1000000 ws.add.member.subjects.max = 20000
      See Also:
    • WS_MEMBER_CHANGE_SUBJECT_MAX

      public static final String WS_MEMBER_CHANGE_SUBJECT_MAX
      name of param for member change subject web service max, default is 1000000 # Max number of members to pass to memberChangeSubject, default is 1000000 ws.member.change.subject.max = 20000
      See Also:
    • WS_GET_GROUPS_SUBJECTS_MAX

      public static final String WS_GET_GROUPS_SUBJECTS_MAX
      name of param for get groups web service max, default is 1000000 # Max number of subjects to be able to pass to getGroups service, default is 1000000 ws.get.groups.subjects.max = 20000
      See Also:
    • WS_GROUP_DELETE_MAX

      public static final String WS_GROUP_DELETE_MAX
      name of param for group delete, max groups to be able to delete at once, default is 1000000 # Max number of groups to be able to pass to groupDelete service, default is 1000000 ws.group.delete.max = 20000
      See Also:
    • WS_ATTRIBUTE_DEF_NAME_DELETE_MAX

      public static final String WS_ATTRIBUTE_DEF_NAME_DELETE_MAX
      name of param for attributedefname delete, max attributedefnames to be able to delete at once, default is 1000000 # Max number of attributedefnames to be able to pass to attributedefnameDelete service, default is 1000000 ws.attributedefname.delete.max = 20000
      See Also:
    • WS_ATTRIBUTE_DEF_DELETE_MAX

      public static final String WS_ATTRIBUTE_DEF_DELETE_MAX
      name of param for attributedef delete, max attributedefs to be able to delete at once, default is 1000000 # Max number of attributedefs to be able to pass to attributedefDelete service, default is 1000000 ws.attributedef.delete.max = 20000
      See Also:
    • WS_GROUP_SAVE_MAX

      public static final String WS_GROUP_SAVE_MAX
      name of param for group save, max groups to be able to save at once, default is 1000000 # Max number of groups to be able to pass to groupSave service, default is 1000000 ws.group.save.max = 20000
      See Also:
    • WS_ATTRIBUTE_DEF_NAME_SAVE_MAX

      public static final String WS_ATTRIBUTE_DEF_NAME_SAVE_MAX
      name of param for attributeDefName save, max attributeDefNames to be able to save at once, default is 1000000 # Max number of attributeDefNames to be able to pass to attributeDefNameSave service, default is 1000000 ws.attributeDefName.save.max = 20000
      See Also:
    • WS_ATTRIBUTE_DEF_SAVE_MAX

      public static final String WS_ATTRIBUTE_DEF_SAVE_MAX
      name of param for attributeDef save, max attributeDef to be able to save at once, default is 1000000 # Max number of attributeDefs to be able to pass to attributeDefSave service, default is 1000000 ws.attributeDef.save.max = 20000
      See Also:
    • WS_STEM_DELETE_MAX

      public static final String WS_STEM_DELETE_MAX
      name of param for stem delete, max stems to be able to delete at once, default is 1000000 # Max number of stems to be able to pass to stemDelete service, default is 1000000 ws.stem.delete.max = 20000
      See Also:
    • WS_ASSIGN_ATTRIBUTE_DEF_NAME_INHERITANCE_MAX

      public static final String WS_ASSIGN_ATTRIBUTE_DEF_NAME_INHERITANCE_MAX
      name of param for assignAttributeDefNameInheritance save, max assignAttributeDefNameInheritance to be able to save at once, default is 1000000 # Max number of assignAttributeDefNameInheritance to be able to pass to assignAttributeDefNameInheritance service, default is 1000000 ws.assign.attributeDefName.inheritance.max = 20000
      See Also:
    • WS_STEM_SAVE_MAX

      public static final String WS_STEM_SAVE_MAX
      name of param for stem save, max stems to be able to save at once, default is 1000000 # Max number of stems to be able to pass to stemSave service, default is 1000000 ws.stem.save.max = 20000
      See Also:
    • WS_GROUP_ATTRIBUTE_MAX

      public static final String WS_GROUP_ATTRIBUTE_MAX
      name of param for group attribute, max groups to be able to view/edit attributes at once, default is 1000000 # Max number of subjects to be able to pass to addMember service, default is 1000000 ws.group.save.max = 20000
      See Also:
    • WS_DELETE_MEMBER_SUBJECTS_MAX

      public static final String WS_DELETE_MEMBER_SUBJECTS_MAX
      name of param for delete member web service max, default is 1000000 # Max number of subjects to be able to pass to deleteMember service, default is 1000000 ws.delete.member.subjects.max = 20000
      See Also:
    • WS_HAS_MEMBER_SUBJECTS_MAX

      public static final String WS_HAS_MEMBER_SUBJECTS_MAX
      name of param for has member web service max, default is 1000000 # Max number of subjects to be able to pass to addMember service, default is 1000000 ws.has.member.subjects.max = 20000
      See Also:
    • WS_SUBJECT_RESULT_DETAIL_ATTRIBUTE_NAMES

      public static final String WS_SUBJECT_RESULT_DETAIL_ATTRIBUTE_NAMES
      name of param for subject result attribute names when extended data is requested # subject result attribute names when extended data is requested (comma separated) default is name, description note, these will be in addition to ws.subject.result.attribute.names
      See Also:
    • WS_SUBJECT_RESULT_ATTRIBUTE_NAMES

      public static final String WS_SUBJECT_RESULT_ATTRIBUTE_NAMES
      subject attribute names to send back when a WsSubject is sent, comma separated e.g. name, netid default is none
      See Also:
    • WS_SEPARATOR

      public static final String WS_SEPARATOR
      when packing things in a single param, this is the separator
      See Also:
    • WS_ACT_AS_GROUP

      public static final String WS_ACT_AS_GROUP
      name of param # Web service users who are in the following group can use the actAs field to act as someone else # You can put multiple groups separated by commas. e.g. a:b:c, e:f:g # You can put a single entry as the group the calling user has to be in, and the grouper the actAs has to be in # separated by 4 colons # e.g. if the configured values is: a:b:c, e:f:d :::: r:e:w, x:e:w # then if the calling user is in a:b:c or x:e:w, then the actAs can be anyone # if not, then if the calling user is in e:f:d, then the actAs must be in r:e:w. If multiple rules, then # if one passes, then it is a success, if they all fail, then fail. field to act as someone else ws.act.as.group = aStem:aGroup
      See Also:
    • WS_ACT_AS_CACHE_MINUTES

      public static final String WS_ACT_AS_CACHE_MINUTES
      name of param: ws.act.as.cache.seconds cache the decision to allow a user to actAs another, so it doesnt have to be calculated each time defaults to 30 minutes:
      See Also:
    • WS_LOGGED_IN_SUBJECT_DEFAULT_SOURCE

      public static final String WS_LOGGED_IN_SUBJECT_DEFAULT_SOURCE
      name of param: ws.logged.in.subject.default.source if you have subject namespace overlap (or not), set the default subject source to lookup the user if none specified in user name
      See Also:
    • WS_VIEW_OR_EDIT_PRIVILEGES_SUBJECTS_MAX

      public static final String WS_VIEW_OR_EDIT_PRIVILEGES_SUBJECTS_MAX
      name of param for save privileges web service max, default is 1000000 # Max number of subjects to be able to pass to savePrivileges service, default is 1000000 ws.view.or.edit.privileges.subjects.max = 20000
      See Also:
    • WS_REST_DEFAULT_RESPONSE_CONTENT_TYPE

      public static final String WS_REST_DEFAULT_RESPONSE_CONTENT_TYPE
      name of param: ws.rest.default.response.content.type if the request has no content type (http params), and the response content type is not specified in the url, then put it here. must be a valid value of WsLiteResponseContentType defaults to xhtml if blank
      See Also:
    • WS_SECURITY_NON_RAMPART_AUTHENTICATION_CLASS

      public static final String WS_SECURITY_NON_RAMPART_AUTHENTICATION_CLASS
      to provide custom authentication (instead of the default httpServletRequest.getUserPrincipal() for non-Rampart authentication. Class must implement the interface: edu.internet2.middleware.grouper.ws.security.WsCustomAuthentication class must be fully qualified. e.g. edu.school.whatever.MyAuthenticator blank means use default: edu.internet2.middleware.grouper.ws.security.WsGrouperDefaultAuthentication ws.security.non-rampart.authentication.class =
      See Also:
    • WS_SECURITY_RAMPART_AUTHENTICATION_CLASS

      public static final String WS_SECURITY_RAMPART_AUTHENTICATION_CLASS
      to provide rampart authentication, Class must implement the interface: edu.internet2.middleware.grouper.ws.security.GrouperWssecAuthentication class must be fully qualified. e.g. edu.school.whatever.MyAuthenticator blank means rampart will throw 404 status code
      See Also:
    • WS_CLIENT_USER_GROUP_NAME

      public static final String WS_CLIENT_USER_GROUP_NAME
      name of param: ws.client.user.group.name If there is an entry here for group name, then all web service client users must be in this group (before the actAs) e.g. etc:webServiceClientUsers
      See Also:
    • WS_CLIENT_USER_GROUP_CACHE_MINUTES

      public static final String WS_CLIENT_USER_GROUP_CACHE_MINUTES
      name of param: ws.client.user.group.cache.minutes cache the decision to allow a user to user web services, so it doesnt have to be calculated each time defaults to 30 minutes:
      See Also:
  • Method Details

    • retrieveConfig

      public static GrouperWsConfig retrieveConfig()
      retrieve a config from the config file or from cache
      Returns:
      the config object
    • getPropertyString

      @Deprecated public static String getPropertyString(String property)
      Deprecated.
      use GrouperWsConfig.retrieveConfig().propertyValueString instead
      Get a Grouper configuration parameter.
       String wheel = GrouperConfig.getProperty("groups.wheel.group");
       
      Parameters:
      property - to lookup
      Returns:
      Value of configuration parameter or an empty string if parameter is invalid.
      Since:
      1.1.0
    • getProperties

      @Deprecated public static Properties getProperties()
      Deprecated.
      use GrouperWsConfig.retrieveConfig().properties()
      get all properties
      Returns:
      all properties
    • getPropertyString

      @Deprecated public static String getPropertyString(String property, String defaultValue)
      Deprecated.
      use GrouperWsConfig.retrieveConfig().propertyValueString instead
      Get a Grouper configuration parameter.
       String wheel = GrouperConfig.getProperty("groups.wheel.group");
       
      Parameters:
      property - to lookup
      defaultValue - is the value if the property isnt found
      Returns:
      Value of configuration parameter or the default value (will trim the value)
      Since:
      1.1.0
    • getPropertyInt

      @Deprecated public static int getPropertyInt(String property, int defaultValue)
      Deprecated.
      use GrouperWsConfig.retrieveConfig().propertyValueInt instead
      Get a Grouper configuration parameter an integer
      Parameters:
      property - to lookup
      defaultValue - of the int if not there
      Returns:
      Value of configuration parameter or null if parameter isnt specified. Exception is thrown if not formatted correcly
    • getPropertyBoolean

      @Deprecated public static boolean getPropertyBoolean(String property, boolean defaultValue)
      Deprecated.
      use GrouperWsConfig.retrieveConfig().propertyValueBoolean instead
      Get a Grouper configuration parameter as boolean (must be true|t|false|f case-insensitive)
      Parameters:
      property - to lookup
      defaultValue - if the property is not there
      Returns:
      Value of configuration parameter or null if parameter isnt specified. Exception is thrown if not formatted correcly
    • containsKey

      public boolean containsKey(String key)
      if the key is there, whether or not the value is blank
      Parameters:
      key -
      Returns:
      true or false
    • internalRetrieveConfigFiles

      public List<ConfigPropertiesCascadeBase.ConfigFile> internalRetrieveConfigFiles()
      get the underlying properties for the config ui
      Returns:
      the config files
    • properties

      public Properties properties()
      get the properties object for this config file
      Returns:
      the properties
    • propertiesMap

      public Map<String,String> propertiesMap(Pattern pattern)
      find all keys/values with a certain pattern in a properties file. return the keys. if none, will return the empty set, not null set
      Parameters:
      pattern -
      Returns:
      the keys. if none, will return the empty set, not null set
    • propertiesOverrideMap

      public Map<String,String> propertiesOverrideMap()
      override map for properties for testing
      Returns:
      the override map
    • propertiesThreadLocalOverrideMap

      public Map<String,String> propertiesThreadLocalOverrideMap()
      override map for properties in thread local to be used in a web server or the like, based on property class this is static since the properties class can get reloaded, but these shouldnt
      Returns:
      the override map
    • propertyNames

      public Set<String> propertyNames()
      Returns:
      the set of names
    • propertyValueBoolean

      public Boolean propertyValueBoolean(String key)
      get a boolean and validate from grouper.client.properties or null if not there
      Parameters:
      key -
      Returns:
      the boolean or null
    • propertyValueBoolean

      public boolean propertyValueBoolean(String key, boolean defaultValue)
      get a boolean and validate from grouper.client.properties
      Parameters:
      key -
      defaultValue -
      Returns:
      the string
    • propertyValueBooleanRequired

      public boolean propertyValueBooleanRequired(String key)
      get a boolean and validate from grouper.client.properties
      Parameters:
      key -
      Returns:
      the string
    • propertyValueInt

      public Integer propertyValueInt(String key)
      get a boolean and validate from grouper.client.properties
      Parameters:
      key -
      Returns:
      the int or null if there
    • propertyValueInt

      public int propertyValueInt(String key, int defaultValue)
      get a boolean and validate from grouper.client.properties
      Parameters:
      key -
      defaultValue -
      Returns:
      the string
    • propertyValueIntRequired

      public int propertyValueIntRequired(String key)
      get a boolean and validate from grouper.client.properties
      Parameters:
      key -
      Returns:
      the string
    • propertyValueString

      public String propertyValueString(String key)
      get the property value as a string or null if not there
      Parameters:
      key -
      Returns:
      the property value
    • propertyValueString

      public String propertyValueString(String key, String defaultValue)
      get the property value as a string
      Parameters:
      key -
      defaultValue -
      Returns:
      the property value
    • propertyValueStringRequired

      public String propertyValueStringRequired(String key)
      get the property value as a string
      Parameters:
      key -
      Returns:
      the property value