com.ibm.di.plugin.pwstore.itim.policy.impl
Class ITIMPasswordPolicyFactoryImpl

java.lang.Object
  extended by com.ibm.di.plugin.pwstore.itim.policy.impl.ITIMPasswordPolicyFactoryImpl
All Implemented Interfaces:
PasswordPolicyFactory

public final class ITIMPasswordPolicyFactoryImpl
extends java.lang.Object
implements PasswordPolicyFactory

The ITIM specific implementation of the PasswordPolicyFactory.

This factory is configured by setting the following properties:

itimPasswordUrl - The HTTP url of the ITIM password policy servlet, e.g. https:///passwordsynch/synch
itimPrincipalName - The user name of an ITIM princpal with authority to perform password validation requests against the policy servlet.
itimPrincipalPassword - The password of the ITIM principal. This property value will be decrypted as needed.
itimSourceDN - The ITIM service DN that identifies the source of password operations detected by clients of this object family, e.g. erservicename=SpmlRaProxyToCA, o=International Business Machines, ou=IBM, dc=com.


Field Summary
static java.lang.String PROP_NAME_ITIM_PASSWORD_URL
           
static java.lang.String PROP_NAME_ITIM_PRINCIPAL_NAME
           
static java.lang.String PROP_NAME_ITIM_PRINCIPAL_PASSWORD
           
static java.lang.String PROP_NAME_ITIM_SOURCE_DN
           
 
Constructor Summary
ITIMPasswordPolicyFactoryImpl()
           
 
Method Summary
 void configure()
          Configure this factory.
 PasswordPolicyService newPasswordPolicyService()
          Factory method for PasswordPolicyService instances.
 PasswordPolicyService newPasswordPolicyService(PolicyServiceConnection conn)
          Factory method for PasswordPolicyService instances.
 PolicyServiceConnection newPolicyServiceConnection()
          Factory method for connection objects.
 PolicyServiceConnection newPolicyServiceConnection(java.net.URL url)
          Factory method for connection objects.
 PolicyServiceRequest newPolicyServiceRequest(PolicyServiceMessage.ServiceOp op)
          Factory method for request objects.
 PolicyServiceResponse newPolicyServiceResponse(PolicyServiceRequest req)
          Factory method for response objects.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_NAME_ITIM_PASSWORD_URL

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

PROP_NAME_ITIM_PRINCIPAL_NAME

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

PROP_NAME_ITIM_PRINCIPAL_PASSWORD

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

PROP_NAME_ITIM_SOURCE_DN

public static final java.lang.String PROP_NAME_ITIM_SOURCE_DN
See Also:
Constant Field Values
Constructor Detail

ITIMPasswordPolicyFactoryImpl

public ITIMPasswordPolicyFactoryImpl()
Method Detail

configure

public void configure()
               throws PolicyInitializationException
Configure this factory.

Specified by:
configure in interface PasswordPolicyFactory
Throws:
PolicyInitializationException - if required property names are missing or values are not valid.

newPasswordPolicyService

public PasswordPolicyService newPasswordPolicyService()
                                               throws PolicyConnectionException
Factory method for PasswordPolicyService instances.

Specified by:
newPasswordPolicyService in interface PasswordPolicyFactory
Returns:
new PasswordPolicyService instance.
Throws:
PolicyConnectionException - if underlying connection cannot be created.
java.lang.IllegalStateException - if not configured.

newPasswordPolicyService

public PasswordPolicyService newPasswordPolicyService(PolicyServiceConnection conn)
Factory method for PasswordPolicyService instances.

Specified by:
newPasswordPolicyService in interface PasswordPolicyFactory
Parameters:
conn - The conn to the policy service provider. Stored config is ignored if using this overload.
Returns:
new PasswordPolicyService instance.
Throws:
java.lang.IllegalArgumentException - if conn is null.
java.lang.IllegalStateException - if not configured.

newPolicyServiceRequest

public PolicyServiceRequest newPolicyServiceRequest(PolicyServiceMessage.ServiceOp op)
Factory method for request objects.

Specified by:
newPolicyServiceRequest in interface PasswordPolicyFactory
Parameters:
op - The opeation type.
Returns:
a new request object.
Throws:
java.lang.IllegalStateException - if not configured.

newPolicyServiceResponse

public PolicyServiceResponse newPolicyServiceResponse(PolicyServiceRequest req)
Factory method for response objects.

Specified by:
newPolicyServiceResponse in interface PasswordPolicyFactory
Parameters:
req - The original request.
Returns:
new response object instance.
Throws:
java.lang.IllegalStateException - if not configured.

newPolicyServiceConnection

public PolicyServiceConnection newPolicyServiceConnection()
                                                   throws PolicyConnectionException
Factory method for connection objects.

Specified by:
newPolicyServiceConnection in interface PasswordPolicyFactory
Returns:
new connection based on stored configuration.
Throws:
PolicyConnectionException
java.lang.IllegalStateException - if not configured.

newPolicyServiceConnection

public PolicyServiceConnection newPolicyServiceConnection(java.net.URL url)
                                                   throws PolicyConnectionException
Factory method for connection objects.

Specified by:
newPolicyServiceConnection in interface PasswordPolicyFactory
Parameters:
url - The url
Returns:
new connection based on URL. Stored config is ignored if this overload is used.
Throws:
PolicyConnectionException
java.lang.IllegalArgumentException - if url is null, or protocol is not HTTP.
java.lang.IllegalStateException - if not configured.