Package com.netscape.cms.profile.common
Class BasicProfile
- java.lang.Object
-
- com.netscape.cms.profile.common.BasicProfile
-
- All Implemented Interfaces:
IProfile
- Direct Known Subclasses:
EnrollProfile
public abstract class BasicProfile extends java.lang.Object implements IProfile
This class implements a basic profile.- Version:
- $Revision$, $Date$
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringmAuthInstanceIdprotected java.lang.StringmAuthzAclprotected IConfigStoremConfigprotected java.lang.StringmIdprotected java.util.Vector<java.lang.String>mInputIdsprotected java.util.Vector<java.lang.String>mInputNamesprotected java.util.Hashtable<java.lang.String,IProfileInput>mInputsprotected java.util.Vector<java.lang.String>mOutputIdsprotected java.util.Hashtable<java.lang.String,IProfileOutput>mOutputsprotected IProfileSubsystemmOwnerprotected java.util.Hashtable<java.lang.String,java.util.Vector<IProfilePolicy>>mPolicySetprotected IPluginRegistrymRegistryprotected java.util.Vector<java.lang.String>mUpdaterIdsprotected java.util.Hashtable<java.lang.String,IProfileUpdater>mUpdatersstatic java.lang.StringPROP_CLASS_IDstatic java.lang.StringPROP_CONSTRAINTstatic java.lang.StringPROP_DEFAULTstatic java.lang.StringPROP_DESCstatic java.lang.StringPROP_ENABLEstatic java.lang.StringPROP_ENABLE_BYstatic java.lang.StringPROP_GENERIC_EXT_DEFAULTstatic java.lang.StringPROP_INPUTstatic java.lang.StringPROP_INPUT_LISTstatic java.lang.StringPROP_INSTANCE_IDstatic java.lang.StringPROP_IS_RENEWALstatic java.lang.StringPROP_NAMEstatic java.lang.StringPROP_NO_CONSTRAINTstatic java.lang.StringPROP_NO_DEFAULTstatic java.lang.StringPROP_OUTPUTstatic java.lang.StringPROP_OUTPUT_LISTstatic java.lang.StringPROP_PARAMSstatic java.lang.StringPROP_POLICY_LISTstatic java.lang.StringPROP_UPDATER_LISTstatic java.lang.StringPROP_VISIBLEstatic java.lang.StringPROP_XML_OUTPUTprotected static LoggersignedAuditLogger
-
Constructor Summary
Constructors Constructor Description BasicProfile()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddInputName(java.lang.String name)protected java.lang.StringauditSubjectID()Signed Audit Log Subject ID This method is inherited by all extended "BasicProfile"s, and is called to obtain the "SubjectID" for a signed audit log message.abstract IProfileContextcreateContext()Retrieves profile context.IProfileInputcreateProfileInput(java.lang.String id, java.lang.String inputId, NameValuePairs nvps)Creates a input policy.IProfileInputcreateProfileInput(java.lang.String id, java.lang.String inputId, NameValuePairs nvps, boolean createConfig)IProfileOutputcreateProfileOutput(java.lang.String id, java.lang.String outputId, NameValuePairs nvps)Creates a output policy.IProfileOutputcreateProfileOutput(java.lang.String id, java.lang.String outputId, NameValuePairs nvps, boolean createConfig)IProfilePolicycreateProfilePolicy(java.lang.String setId, java.lang.String id, java.lang.String defaultClassId, java.lang.String constraintClassId)Creates a profile policyIProfilePolicycreateProfilePolicy(java.lang.String setId, java.lang.String id, java.lang.String defaultClassId, java.lang.String constraintClassId, boolean createConfig)abstract IRequest[]createRequests(IProfileContext ctx, java.util.Locale locale)Creates request.voiddeleteAllProfileInputs()Delete all profile inputsvoiddeleteAllProfileOutputs()Delete all profile inputsvoiddeleteAllProfilePolicies()Delete all profile policiesvoiddeleteProfileInput(java.lang.String inputId)Deletes input policy by id.voiddeleteProfileOutput(java.lang.String outputId)Deletes output policy by id.voiddeleteProfilePolicy(java.lang.String setId, java.lang.String policyId)Deletes a policy.voidexecute(IRequest request)Process a request after validation.java.lang.StringgetApprovedBy()Retrieves the user id of the person who approves this profile.IProfileAuthenticatorgetAuthenticator()Retrieves the associated authenticator instance.java.lang.StringgetAuthenticatorId()Retrieves the instance id of the authenticator for this profile.java.lang.StringgetAuthzAcl()IConfigStoregetConfigStore()Retrieves the configuration store of this profile.java.lang.StringgetDescription(java.util.Locale locale)Returns the profile description.java.lang.StringgetId()Returns the identifier of this profile.java.lang.StringgetInput(java.lang.String name, java.util.Locale locale, IRequest request)IDescriptorgetInputDescriptor(java.lang.String name)java.util.Enumeration<java.lang.String>getInputNames()java.lang.StringgetName(java.util.Locale locale)Returns the profile name.java.util.Vector<IProfilePolicy>getPolicies(java.lang.String setId)IProfileInputgetProfileInput(java.lang.String name)Retrieves input policy by id.java.util.Enumeration<java.lang.String>getProfileInputIds()Retrieves a list of input policy IDs.IProfileOutputgetProfileOutput(java.lang.String name)Retrieves output policy by id.java.util.Enumeration<java.lang.String>getProfileOutputIds()Retrieves a list of output policy IDs.java.util.Enumeration<IProfilePolicy>getProfilePolicies(java.lang.String setId)Returns a list of profile policies.IProfilePolicygetProfilePolicy(java.lang.String setId, java.lang.String id)Retrieves a policy.java.util.Enumeration<java.lang.String>getProfilePolicyIds(java.lang.String setId)Retrieves all the policy id within a set.java.util.Enumeration<java.lang.String>getProfilePolicySetIds()Returns the profile policy set identifiers.IProfileUpdatergetProfileUpdater(java.lang.String name)java.util.Enumeration<java.lang.String>getProfileUpdaterIds()java.lang.StringgetRequestorDN(IRequest request)Retrieves a localized string that represents requestor's distinguished name.voidinit(IProfileSubsystem owner, IConfigStore config)Initializes this profile.booleanisEnable()java.lang.StringisRenewal()booleanisVisible()Checks if this profile is end-user profile or not.java.lang.StringisXmlOutput()voidpopulate(IRequest request)Passes the request to the set of default policies that populate the profile information against the profile.voidpopulateInput(IProfileContext ctx, IRequest request)Populates user-supplied input values into the requests.voidsetAuthenticatorId(java.lang.String id)Sets the instance id of the authenticator for this profile.voidsetAuthzAcl(java.lang.String id)voidsetDescription(java.util.Locale locale, java.lang.String desc)Returns the profile description.voidsetId(java.lang.String id)Sets id of this profile.voidsetInput(java.lang.String name, java.util.Locale locale, IRequest request, java.lang.String value)voidsetName(java.util.Locale locale, java.lang.String name)Returns the profile name.voidsetRenewal(boolean renewal)voidsetVisible(boolean v)Sets this profile end-user profile or not.voidsetXMLOutput(boolean xmlOutput)voidvalidate(IRequest request)Passes the request to the set of constraint policies that validate the request against the profile.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.netscape.certsrv.profile.IProfile
getPolicySetId, getRequestQueue, submit
-
-
-
-
Field Detail
-
signedAuditLogger
protected static Logger signedAuditLogger
-
PROP_ENABLE
public static final java.lang.String PROP_ENABLE
- See Also:
- Constant Field Values
-
PROP_ENABLE_BY
public static final java.lang.String PROP_ENABLE_BY
- See Also:
- Constant Field Values
-
PROP_IS_RENEWAL
public static final java.lang.String PROP_IS_RENEWAL
- See Also:
- Constant Field Values
-
PROP_XML_OUTPUT
public static final java.lang.String PROP_XML_OUTPUT
- See Also:
- Constant Field Values
-
PROP_VISIBLE
public static final java.lang.String PROP_VISIBLE
- See Also:
- Constant Field Values
-
PROP_INPUT_LIST
public static final java.lang.String PROP_INPUT_LIST
- See Also:
- Constant Field Values
-
PROP_OUTPUT_LIST
public static final java.lang.String PROP_OUTPUT_LIST
- See Also:
- Constant Field Values
-
PROP_UPDATER_LIST
public static final java.lang.String PROP_UPDATER_LIST
- See Also:
- Constant Field Values
-
PROP_POLICY_LIST
public static final java.lang.String PROP_POLICY_LIST
- See Also:
- Constant Field Values
-
PROP_DEFAULT
public static final java.lang.String PROP_DEFAULT
- See Also:
- Constant Field Values
-
PROP_CONSTRAINT
public static final java.lang.String PROP_CONSTRAINT
- See Also:
- Constant Field Values
-
PROP_INPUT
public static final java.lang.String PROP_INPUT
- See Also:
- Constant Field Values
-
PROP_OUTPUT
public static final java.lang.String PROP_OUTPUT
- See Also:
- Constant Field Values
-
PROP_CLASS_ID
public static final java.lang.String PROP_CLASS_ID
- See Also:
- Constant Field Values
-
PROP_INSTANCE_ID
public static final java.lang.String PROP_INSTANCE_ID
- See Also:
- Constant Field Values
-
PROP_PARAMS
public static final java.lang.String PROP_PARAMS
- See Also:
- Constant Field Values
-
PROP_NAME
public static final java.lang.String PROP_NAME
- See Also:
- Constant Field Values
-
PROP_DESC
public static final java.lang.String PROP_DESC
- See Also:
- Constant Field Values
-
PROP_NO_DEFAULT
public static final java.lang.String PROP_NO_DEFAULT
- See Also:
- Constant Field Values
-
PROP_NO_CONSTRAINT
public static final java.lang.String PROP_NO_CONSTRAINT
- See Also:
- Constant Field Values
-
PROP_GENERIC_EXT_DEFAULT
public static final java.lang.String PROP_GENERIC_EXT_DEFAULT
- See Also:
- Constant Field Values
-
mOwner
protected IProfileSubsystem mOwner
-
mConfig
protected IConfigStore mConfig
-
mRegistry
protected IPluginRegistry mRegistry
-
mInputNames
protected java.util.Vector<java.lang.String> mInputNames
-
mInputs
protected java.util.Hashtable<java.lang.String,IProfileInput> mInputs
-
mInputIds
protected java.util.Vector<java.lang.String> mInputIds
-
mOutputs
protected java.util.Hashtable<java.lang.String,IProfileOutput> mOutputs
-
mOutputIds
protected java.util.Vector<java.lang.String> mOutputIds
-
mUpdaters
protected java.util.Hashtable<java.lang.String,IProfileUpdater> mUpdaters
-
mUpdaterIds
protected java.util.Vector<java.lang.String> mUpdaterIds
-
mAuthInstanceId
protected java.lang.String mAuthInstanceId
-
mId
protected java.lang.String mId
-
mAuthzAcl
protected java.lang.String mAuthzAcl
-
mPolicySet
protected java.util.Hashtable<java.lang.String,java.util.Vector<IProfilePolicy>> mPolicySet
-
-
Method Detail
-
isEnable
public boolean isEnable()
-
setRenewal
public void setRenewal(boolean renewal)
- Specified by:
setRenewalin interfaceIProfile
-
isXmlOutput
public java.lang.String isXmlOutput()
- Specified by:
isXmlOutputin interfaceIProfile
-
setXMLOutput
public void setXMLOutput(boolean xmlOutput)
- Specified by:
setXMLOutputin interfaceIProfile
-
getApprovedBy
public java.lang.String getApprovedBy()
Description copied from interface:IProfileRetrieves the user id of the person who approves this profile.- Specified by:
getApprovedByin interfaceIProfile- Returns:
- user id of the approver of this profile
-
setId
public void setId(java.lang.String id)
Description copied from interface:IProfileSets id of this profile.
-
getId
public java.lang.String getId()
Description copied from interface:IProfileReturns the identifier of this profile.
-
getAuthenticator
public IProfileAuthenticator getAuthenticator() throws EProfileException
Description copied from interface:IProfileRetrieves the associated authenticator instance.- Specified by:
getAuthenticatorin interfaceIProfile- Returns:
- profile authenticator instance. if no associated authenticator, null is returned
- Throws:
EProfileException- failed to retrieve
-
getRequestorDN
public java.lang.String getRequestorDN(IRequest request)
Description copied from interface:IProfileRetrieves a localized string that represents requestor's distinguished name. This string displayed in the request listing user interface.- Specified by:
getRequestorDNin interfaceIProfile- Parameters:
request- request- Returns:
- distringuished name of the request owner
-
getAuthenticatorId
public java.lang.String getAuthenticatorId()
Description copied from interface:IProfileRetrieves the instance id of the authenticator for this profile.- Specified by:
getAuthenticatorIdin interfaceIProfile- Returns:
- authenticator instance id
-
setAuthenticatorId
public void setAuthenticatorId(java.lang.String id)
Description copied from interface:IProfileSets the instance id of the authenticator for this profile.- Specified by:
setAuthenticatorIdin interfaceIProfile- Parameters:
id- authenticator instance id
-
setAuthzAcl
public void setAuthzAcl(java.lang.String id)
- Specified by:
setAuthzAclin interfaceIProfile
-
getAuthzAcl
public java.lang.String getAuthzAcl()
- Specified by:
getAuthzAclin interfaceIProfile
-
init
public void init(IProfileSubsystem owner, IConfigStore config) throws EBaseException
Initializes this profile.- Specified by:
initin interfaceIProfile- Parameters:
owner- profile subsystemconfig- configuration store for this profile- Throws:
EBaseException- failed to initialize
-
getConfigStore
public IConfigStore getConfigStore()
Description copied from interface:IProfileRetrieves the configuration store of this profile.- Specified by:
getConfigStorein interfaceIProfile- Returns:
- configuration store
-
getInputNames
public java.util.Enumeration<java.lang.String> getInputNames()
-
getProfileUpdaterIds
public java.util.Enumeration<java.lang.String> getProfileUpdaterIds()
-
getProfileUpdater
public IProfileUpdater getProfileUpdater(java.lang.String name)
-
getProfileOutputIds
public java.util.Enumeration<java.lang.String> getProfileOutputIds()
Description copied from interface:IProfileRetrieves a list of output policy IDs.- Specified by:
getProfileOutputIdsin interfaceIProfile- Returns:
- output policy id list
-
getProfileOutput
public IProfileOutput getProfileOutput(java.lang.String name)
Description copied from interface:IProfileRetrieves output policy by id.- Specified by:
getProfileOutputin interfaceIProfile- Parameters:
name- output policy id- Returns:
- output policy instance
-
getProfileInputIds
public java.util.Enumeration<java.lang.String> getProfileInputIds()
Description copied from interface:IProfileRetrieves a list of input policy IDs.- Specified by:
getProfileInputIdsin interfaceIProfile- Returns:
- input policy id list
-
getProfileInput
public IProfileInput getProfileInput(java.lang.String name)
Description copied from interface:IProfileRetrieves input policy by id.- Specified by:
getProfileInputin interfaceIProfile- Parameters:
name- input policy id- Returns:
- input policy instance
-
addInputName
public void addInputName(java.lang.String name)
-
getInputDescriptor
public IDescriptor getInputDescriptor(java.lang.String name)
-
getInput
public java.lang.String getInput(java.lang.String name, java.util.Locale locale, IRequest request) throws EProfileException- Throws:
EProfileException
-
setInput
public void setInput(java.lang.String name, java.util.Locale locale, IRequest request, java.lang.String value) throws EProfileException- Throws:
EProfileException
-
getProfilePolicySetIds
public java.util.Enumeration<java.lang.String> getProfilePolicySetIds()
Description copied from interface:IProfileReturns the profile policy set identifiers.- Specified by:
getProfilePolicySetIdsin interfaceIProfile- Returns:
- a list of policy set id
-
deleteProfilePolicy
public void deleteProfilePolicy(java.lang.String setId, java.lang.String policyId) throws EProfileExceptionDescription copied from interface:IProfileDeletes a policy.- Specified by:
deleteProfilePolicyin interfaceIProfile- Parameters:
setId- id of the policy setpolicyId- id of policy to delete- Throws:
EProfileException- failed to delete
-
deleteAllProfilePolicies
public void deleteAllProfilePolicies() throws EProfileExceptionDescription copied from interface:IProfileDelete all profile policies- Specified by:
deleteAllProfilePoliciesin interfaceIProfile- Throws:
EProfileException
-
deleteProfileInput
public void deleteProfileInput(java.lang.String inputId) throws EProfileExceptionDescription copied from interface:IProfileDeletes input policy by id.- Specified by:
deleteProfileInputin interfaceIProfile- Parameters:
inputId- id of the input policy- Throws:
EProfileException- failed to delete
-
deleteAllProfileInputs
public void deleteAllProfileInputs() throws EProfileExceptionDescription copied from interface:IProfileDelete all profile inputs- Specified by:
deleteAllProfileInputsin interfaceIProfile- Throws:
EProfileException
-
deleteProfileOutput
public void deleteProfileOutput(java.lang.String outputId) throws EProfileExceptionDescription copied from interface:IProfileDeletes output policy by id.- Specified by:
deleteProfileOutputin interfaceIProfile- Parameters:
outputId- id of the output policy- Throws:
EProfileException- failed to delete
-
deleteAllProfileOutputs
public void deleteAllProfileOutputs() throws EProfileExceptionDescription copied from interface:IProfileDelete all profile inputs- Specified by:
deleteAllProfileOutputsin interfaceIProfile- Throws:
EProfileException
-
createProfileOutput
public IProfileOutput createProfileOutput(java.lang.String id, java.lang.String outputId, NameValuePairs nvps) throws EProfileException
Description copied from interface:IProfileCreates a output policy.- Specified by:
createProfileOutputin interfaceIProfile- Parameters:
id- output policy idoutputId- id of the registered output implementationnvps- default parameters- Returns:
- output policy
- Throws:
EProfileException- failed to create
-
createProfileOutput
public IProfileOutput createProfileOutput(java.lang.String id, java.lang.String outputId, NameValuePairs nvps, boolean createConfig) throws EProfileException
- Throws:
EProfileException
-
createProfileInput
public IProfileInput createProfileInput(java.lang.String id, java.lang.String inputId, NameValuePairs nvps) throws EProfileException
Description copied from interface:IProfileCreates a input policy.- Specified by:
createProfileInputin interfaceIProfile- Parameters:
id- input policy idinputId- id of the registered input implementationnvps- default parameters- Returns:
- input policy
- Throws:
EProfileException- failed to create
-
createProfileInput
public IProfileInput createProfileInput(java.lang.String id, java.lang.String inputId, NameValuePairs nvps, boolean createConfig) throws EProfileException
- Throws:
EProfileException
-
createProfilePolicy
public IProfilePolicy createProfilePolicy(java.lang.String setId, java.lang.String id, java.lang.String defaultClassId, java.lang.String constraintClassId) throws EProfileException
Creates a profile policy- Specified by:
createProfilePolicyin interfaceIProfile- Parameters:
setId- id of the policy set that owns this policyid- policy iddefaultClassId- id of the registered default implementationconstraintClassId- id of the registered constraint implementation- Returns:
- profile policy instance
- Throws:
EProfileException- failed to create policy
-
createProfilePolicy
public IProfilePolicy createProfilePolicy(java.lang.String setId, java.lang.String id, java.lang.String defaultClassId, java.lang.String constraintClassId, boolean createConfig) throws EProfileException
- Throws:
EProfileException
-
getProfilePolicy
public IProfilePolicy getProfilePolicy(java.lang.String setId, java.lang.String id)
Description copied from interface:IProfileRetrieves a policy.- Specified by:
getProfilePolicyin interfaceIProfile- Parameters:
setId- set idid- policy id- Returns:
- profile policy
-
isVisible
public boolean isVisible()
Description copied from interface:IProfileChecks if this profile is end-user profile or not. End-user profile will be displayed to the end user. Non end-user profile mainly is for registration manager.
-
setVisible
public void setVisible(boolean v)
Description copied from interface:IProfileSets this profile end-user profile or not.- Specified by:
setVisiblein interfaceIProfile- Parameters:
v- end-user profile or not
-
getName
public java.lang.String getName(java.util.Locale locale)
Returns the profile name.
-
setName
public void setName(java.util.Locale locale, java.lang.String name)Description copied from interface:IProfileReturns the profile name.
-
createContext
public abstract IProfileContext createContext()
Description copied from interface:IProfileRetrieves profile context. The context stores information about the requestor before the actual request is created.- Specified by:
createContextin interfaceIProfile- Returns:
- profile context.
-
createRequests
public abstract IRequest[] createRequests(IProfileContext ctx, java.util.Locale locale) throws EProfileException
Creates request.- Specified by:
createRequestsin interfaceIProfile- Parameters:
ctx- profile contextlocale- user locale- Returns:
- a list of requests
- Throws:
EProfileException- failed to create requests
-
getDescription
public java.lang.String getDescription(java.util.Locale locale)
Returns the profile description.- Specified by:
getDescriptionin interfaceIProfile- Parameters:
locale- end-user locale- Returns:
- localized profile description
-
setDescription
public void setDescription(java.util.Locale locale, java.lang.String desc)Description copied from interface:IProfileReturns the profile description.- Specified by:
setDescriptionin interfaceIProfile- Parameters:
locale- end-user localedesc- profile description
-
populateInput
public void populateInput(IProfileContext ctx, IRequest request) throws EProfileException
Description copied from interface:IProfilePopulates user-supplied input values into the requests.- Specified by:
populateInputin interfaceIProfile- Parameters:
ctx- profile contextrequest- request- Throws:
EProfileException- failed to populate
-
getPolicies
public java.util.Vector<IProfilePolicy> getPolicies(java.lang.String setId)
-
populate
public void populate(IRequest request) throws EProfileException
Passes the request to the set of default policies that populate the profile information against the profile.- Specified by:
populatein interfaceIProfile- Parameters:
request- request- Throws:
EProfileException- failed to populate default values
-
validate
public void validate(IRequest request) throws ERejectException
Passes the request to the set of constraint policies that validate the request against the profile.- Specified by:
validatein interfaceIProfile- Parameters:
request- request- Throws:
ERejectException- validation violation
-
getProfilePolicies
public java.util.Enumeration<IProfilePolicy> getProfilePolicies(java.lang.String setId)
Description copied from interface:IProfileReturns a list of profile policies.- Specified by:
getProfilePoliciesin interfaceIProfile- Parameters:
setId- set id- Returns:
- a list of policies
-
getProfilePolicyIds
public java.util.Enumeration<java.lang.String> getProfilePolicyIds(java.lang.String setId)
Description copied from interface:IProfileRetrieves all the policy id within a set.- Specified by:
getProfilePolicyIdsin interfaceIProfile- Parameters:
setId- set id- Returns:
- a list of policy id
-
execute
public void execute(IRequest request) throws EProfileException
Description copied from interface:IProfileProcess a request after validation.- Specified by:
executein interfaceIProfile- Parameters:
request- request to be processed- Throws:
EProfileException- failed to process
-
auditSubjectID
protected java.lang.String auditSubjectID()
Signed Audit Log Subject ID This method is inherited by all extended "BasicProfile"s, and is called to obtain the "SubjectID" for a signed audit log message.- Returns:
- id string containing the signed audit log message SubjectID
-
-