com.ibm.ims.normalize
Class UIDNormalizer

java.lang.Object
  extended by com.ibm.ims.normalize.UIDNormalizer

public class UIDNormalizer
extends java.lang.Object


Field Summary
protected static java.lang.ClassLoader classLoader
           
static java.lang.String COPYRIGHT
           
static java.lang.String ENABLE_MULTIPLE_ID_MAPPING_PROPERTY
           
static java.lang.String ENABLE_MULTIPLE_SERVICE_URI_MAPPING_PROPERTY
           
protected static java.lang.String enableMultipleIDMapping
           
protected static java.lang.String enableMultipleServiceURIMapping
           
static java.lang.String ID_MAPPING_PROVIDER
           
protected static IDMappingProvider idMappingProvider
           
static java.lang.String IS_CASE_SENSITIVE_PROPERTY
           
protected static java.lang.String isCaseSensitive
           
protected static boolean isInitalized
           
static java.lang.String NORMALIZE_PROPERTIES_FILE
           
static java.lang.String STRIP_PORT_PROPERTY
           
protected static java.lang.String stripPort
           
protected static java.util.Vector<java.lang.String> UIDParameters
           
static java.lang.String URI_PARAMETERS_PROPERTY
           
protected static java.lang.String URIParametersFilter
           
 
Constructor Summary
UIDNormalizer()
           
 
Method Summary
 boolean compareDomainNoMapping(java.lang.String UID1, java.lang.String UID2)
          Compares the domains of two UIDs based on normalize config rules without using the IDMappingProvider
 boolean compareUID(java.lang.String UID1, java.lang.String UID2)
          Compares two UIDs based on normalize config rules
 boolean compareUIDNoMapping(java.lang.String UID1, java.lang.String UID2)
          Compares two UIDs based on normalize config rules without using the IDMappingProvider
 java.lang.String getDomainFromUIDNoMapping(java.lang.String UID)
          Returns the domain for a normalized UID without using the IDMappingProvider
static UIDNormalizer getInstance()
          Get the singleton instance.
 java.lang.String getProperty(java.lang.String propertyName)
          gets a normalization property
static void initalize(java.lang.ClassLoader aClassLoader)
          Initialize the UIDNormalizer with the parent classloader of the application
protected static void loadIDMappingProvider(java.lang.String className)
          Loads the IDMappingProvider implementation class
protected static void loadProperties()
           
protected static void loadProperties(java.util.Properties normalizeProperties)
          Loads Normalize Properties
 java.lang.String normalizeServiceURI(java.lang.String serviceURI)
          Normalizes a service URI based on config rules.
 java.lang.String normalizeUID(java.lang.String UID)
          Normalizes a UID based on config rules The enableMultipleIDMapping, isCaseSensitive, and idMappingProvider determines the settings for normalization.
 java.lang.String normalizeUID(java.lang.String UID, boolean useIDMapping)
          Normalizes a UID based on config rules The enableMultipleIDMapping, isCaseSensitive, and idMappingProvider determines the settings for normalization.
protected  java.lang.String normalizeUID(java.lang.String UID, boolean useIDMapping, boolean doStripScheme, boolean useCaseSensitive, boolean useStripPort, boolean useURIParmFilter)
          Normalizes a UID based on config rules
 void setProperties(java.lang.String enableMID, java.lang.String caseS, java.lang.String port, java.lang.String UIDparams)
          used for testing only!
 void setProperties(java.lang.String enableMID, java.lang.String caseS, java.lang.String port, java.lang.String UIDparams, java.lang.String idMappingProviderClass)
          used for testing only!
 void setProperties(java.lang.String enableMID, java.lang.String caseS, java.lang.String port, java.lang.String UIDparams, java.lang.String idMappingProviderClass, java.lang.String enableMServiceURI)
          used for testing only!
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COPYRIGHT

public static final java.lang.String COPYRIGHT

NORMALIZE_PROPERTIES_FILE

public static final java.lang.String NORMALIZE_PROPERTIES_FILE
See Also:
Constant Field Values

ENABLE_MULTIPLE_ID_MAPPING_PROPERTY

public static final java.lang.String ENABLE_MULTIPLE_ID_MAPPING_PROPERTY
See Also:
Constant Field Values

IS_CASE_SENSITIVE_PROPERTY

public static final java.lang.String IS_CASE_SENSITIVE_PROPERTY
See Also:
Constant Field Values

STRIP_PORT_PROPERTY

public static final java.lang.String STRIP_PORT_PROPERTY
See Also:
Constant Field Values

ENABLE_MULTIPLE_SERVICE_URI_MAPPING_PROPERTY

public static final java.lang.String ENABLE_MULTIPLE_SERVICE_URI_MAPPING_PROPERTY
See Also:
Constant Field Values

URI_PARAMETERS_PROPERTY

public static final java.lang.String URI_PARAMETERS_PROPERTY
See Also:
Constant Field Values

ID_MAPPING_PROVIDER

public static final java.lang.String ID_MAPPING_PROVIDER
See Also:
Constant Field Values

enableMultipleServiceURIMapping

protected static java.lang.String enableMultipleServiceURIMapping

enableMultipleIDMapping

protected static java.lang.String enableMultipleIDMapping

isCaseSensitive

protected static java.lang.String isCaseSensitive

stripPort

protected static java.lang.String stripPort

URIParametersFilter

protected static java.lang.String URIParametersFilter

idMappingProvider

protected static IDMappingProvider idMappingProvider

UIDParameters

protected static java.util.Vector<java.lang.String> UIDParameters

isInitalized

protected static boolean isInitalized

classLoader

protected static java.lang.ClassLoader classLoader
Constructor Detail

UIDNormalizer

public UIDNormalizer()
Method Detail

initalize

public static void initalize(java.lang.ClassLoader aClassLoader)
Initialize the UIDNormalizer with the parent classloader of the application

Parameters:
classloader - The ClassLoader of the application

getInstance

public static UIDNormalizer getInstance()
Get the singleton instance.

Returns:
UIDNormalizer instance

loadIDMappingProvider

protected static void loadIDMappingProvider(java.lang.String className)
Loads the IDMappingProvider implementation class

Parameters:
className - Name of class to load

loadProperties

protected static void loadProperties()

loadProperties

protected static void loadProperties(java.util.Properties normalizeProperties)
Loads Normalize Properties


normalizeServiceURI

public java.lang.String normalizeServiceURI(java.lang.String serviceURI)
Normalizes a service URI based on config rules. The enableMultipleServiceURIMapping, URIParametersFilter, and stripPort determines the settings for normalization. The URI is always case sensitive.

Parameters:
serviceURI - A service URI as defined in an RLS
Returns:
Normalized service URI string

normalizeUID

public java.lang.String normalizeUID(java.lang.String UID)
Normalizes a UID based on config rules The enableMultipleIDMapping, isCaseSensitive, and idMappingProvider determines the settings for normalization. The port and any uri parameters are always stripped off during normalization.

Parameters:
UID - user ID string
Returns:
Normalized UID string

normalizeUID

public java.lang.String normalizeUID(java.lang.String UID,
                                     boolean useIDMapping)
Normalizes a UID based on config rules The enableMultipleIDMapping, isCaseSensitive, and idMappingProvider determines the settings for normalization. The port and any uri parameters are always stripped off during normalization.

Parameters:
UID - user ID string
useIDMapping - If true, use the IDMappingProvider for mapping to primary user ID
Returns:
Normalized UID string

normalizeUID

protected java.lang.String normalizeUID(java.lang.String UID,
                                        boolean useIDMapping,
                                        boolean doStripScheme,
                                        boolean useCaseSensitive,
                                        boolean useStripPort,
                                        boolean useURIParmFilter)
Normalizes a UID based on config rules

Parameters:
UID - user ID string
useIDMapping - use ID Mapping to happen given an IDMappingProvider
doStripScheme - Do strip the scheme if true
useCaseInsensitive - use case sensitive comparisons
useStripPort - use the port stripping
useURIParmFilter - use URI parameter filtering if defined
Returns:
Normalized UID string

compareUID

public boolean compareUID(java.lang.String UID1,
                          java.lang.String UID2)
Compares two UIDs based on normalize config rules

Parameters:
UID1 - string of a user ID to compare
UID2 - string of a user ID to compare
Returns:
true if two strings are equal

compareUIDNoMapping

public boolean compareUIDNoMapping(java.lang.String UID1,
                                   java.lang.String UID2)
Compares two UIDs based on normalize config rules without using the IDMappingProvider

Parameters:
UID1 - string of a user ID to compare
UID2 - string of a user ID to compare
Returns:
true if two strings are equal

compareDomainNoMapping

public boolean compareDomainNoMapping(java.lang.String UID1,
                                      java.lang.String UID2)
Compares the domains of two UIDs based on normalize config rules without using the IDMappingProvider

Parameters:
UID1 - string of a user ID to compare
UID2 - string of a user ID to compare
Returns:
true if two domains of the two UIDs are equal

getDomainFromUIDNoMapping

public java.lang.String getDomainFromUIDNoMapping(java.lang.String UID)
Returns the domain for a normalized UID without using the IDMappingProvider

Parameters:
UID - string of a user ID to compare
Returns:
Returns the domain of a UID

getProperty

public java.lang.String getProperty(java.lang.String propertyName)
gets a normalization property

Parameters:
propertyName -
Returns:
Propety value. If invalid property, return null

setProperties

public void setProperties(java.lang.String enableMID,
                          java.lang.String caseS,
                          java.lang.String port,
                          java.lang.String UIDparams)
used for testing only!

Parameters:
enableMID -
caseS -
port -
UIDparams -

setProperties

public void setProperties(java.lang.String enableMID,
                          java.lang.String caseS,
                          java.lang.String port,
                          java.lang.String UIDparams,
                          java.lang.String idMappingProviderClass)
used for testing only!

Parameters:
enableMID -
caseS -
port -
UIDparams -
idMappingProvider -

setProperties

public void setProperties(java.lang.String enableMID,
                          java.lang.String caseS,
                          java.lang.String port,
                          java.lang.String UIDparams,
                          java.lang.String idMappingProviderClass,
                          java.lang.String enableMServiceURI)
used for testing only!

Parameters:
enableMID -
caseS -
port -
UIDparams -
idMappingProvider -
enableMServiceURI -