Package oracle.iam.provisioning.vo
Class ApplicationInstance
java.lang.Object
oracle.iam.provisioning.vo.ApplicationInstance
- All Implemented Interfaces:
Serializable
Despite introducing new request management feature in OIM 11gR1,
the mechanism for provisioning an account or entitlement in any target remained very IT centric.
End-users who are requesting for accounts or entitlements in targets are supposed to be IT savvy enough
to know the names of the target types In addition, requesting for entitlements as a first-class entity is not supported directly.
This is due to the fact that in OIM, provisioning is driven by the "Resource Object" abstraction.
The provisioning flow always selects the Resource Object first, and the actual physical target (IT Resource instance)
is selected as a part of the data on the account profile.
However, typically in enterprises, most end-users or requesters are more familiar with the real life name of the IT Resource,
which encapsulates the physical target, as well as the type of the account requested
This calls out for defining an entity which has a business friendly name/metadata, and encapsulates,
in addition to the physical target, also the account type.
Hence, we are defining a new abstraction called
ApplicationInstance
.
This is a combination of the IT Resource Instance (target connectivity + connector configuration)
and the Resource Object (the provisioning mechanism).
An Application Instance will have a well-known business friendly name and additional metadata associated with it.
An Application Instance is the provision able entity which will be published to the catalog.
The Application Instance is also the entity with which security primitives are associated
via the organization publishing mechanism.
In multi-tenant environments, resource definitions can be shared by multiple organizations,
but only those organizations that have the application instance published to them will be actually able to provision
to the targets- Since:
- 11.1.2.0.0
- Author:
- apitre
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
An enumeration which determines the type of this Application Instance. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final long
static final String
static final String
static final String
-
Constructor Summary
ConstructorsConstructorDescriptionApplicationInstance
(long appInstanceKey) This constructor creates an instance of ApplicationInstance that is already been created.ApplicationInstance
(String applicationInstanceName, String displayName, String description, long objectKey, long itResourceKey, String dataSetName, String uiFragmentName) This constructor is used to create (add) an ApplicationInstance record in OIM respository. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addChildForm
(FormInfo childForm) This method returns FormInfo value object containing meta data information about parent form and child form associated with ApplicationInstancelong
This method is used to get primary key of ApplicationInstance (APP_INSTANCE.APP_INSTANCE_KEY)This method is used to get ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)This method gets the catalog valuesThis method returns the list of FormInfo value object containing meta data information about child form associated with ApplicationInstanceThis method is used to get the dataset Name (APP_INSTANCE.APP_INSTANCE_DATASET) associated with ApplicationInstance.This method is used to get the description associated with ApplicationInstance.This method gets the display name of the ApplicationInstance (APP_INSTANCE.APP_INSTANCE_DISPLAY_NAME)long
This method is used to get the ITResource key (APP_INSTANCE.ITRESOURCE_KEY) associated with ApplicationInstance.This method is used to get the ITResource name (SVR.SVR_NAME) for ITResource associated with ApplicationInstance.long
This method is used to get the Resource Object Key (APP_INSTANCE.OBJECT_KEY) associated with ApplicationInstance.This method is used to get the Resource Object Name (APP_INSTANCE.OBJECT_NAME) associated with ApplicationInstance.This method gets the parent ApplicationInstance associated with current ApplicationInstance.long
This method gets the primary Key of the parent ApplicationInstance.getType()
This method is used to get type of ApplicationInstance.boolean
Deprecated.boolean
This method returns if ApplicationInstance is soft deleted.void
setAccountForm
(FormInfo accountForm) This method sets FormInfo value object containing meta data information about parent form associated with ApplicationInstancevoid
setApplicableToEntitlement
(boolean isApplicableToEntitlement) Deprecated.void
setApplicationInstanceKey
(long applicationInstanceKey) This method is used to set ApplicationInstance primary key.void
setApplicationInstanceName
(String applicationInstanceName) This method is used to set ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)void
setCatalogAttributes
(Catalog catalogAttributes) This method sets the catalog values to the Application Instance objectvoid
setChildForms
(List<FormInfo> childForms) This method sets the list of FormInfo value object containing meta data information about child form associated with ApplicationInstancevoid
setDataSetName
(String dataSetName) This method is used to set the dataset Name (APP_INSTANCE.APP_INSTANCE_DATASET) associated with ApplicationInstance.void
setDescription
(String description) This method is used to set the description associated with ApplicationInstance.void
setDisplayName
(String displayName) This method sets the display name of the ApplicationInstance (APP_INSTANCE.APP_INSTANCE_DISPLAY_NAME)void
setItResourceKey
(long itResourceKey) This method is used to set the ITResource key (APP_INSTANCE.ITRESOURCE_KEY) associated with ApplicationInstance.void
setItResourceName
(String itResourceName) This method is used to set the ITResource name (SVR.SVR_NAME) for ITResource associated with ApplicationInstance.void
setObjectKey
(long objectKey) This method is used to set the Resource Object Key (APP_INSTANCE.OBJECT_KEY) associated with ApplicationInstance.void
setObjectName
(String objectName) This method is used to set the Resource Object Name (APP_INSTANCE.OBJECT_NAME) associated with ApplicationInstance.void
setParentAppInstance
(ApplicationInstance parentAppInstance) This method sets the parent ApplicationInstance associated with current ApplicationInstance.void
setParentKey
(long parentKey) This method sets the primary Key of the parent ApplicationInstance.void
setSoftDelete
(boolean softDelete) This method sets if ApplicationInstance is soft deleted.void
This method is used to set type of ApplicationInstance.toString()
This method is used to convert ApplicationInstance value object to String It prints ApplicationInstance name:ITResourceKey:ResourceObjectKey
-
Field Details
-
serialVersionUID
public static final long serialVersionUID- See Also:
-
APPINST_NAME
- See Also:
-
OBJ_NAME
- See Also:
-
ITRES_NAME
- See Also:
-
DISPLAY_NAME
- See Also:
-
APPINST_TYPE
- See Also:
-
DESCRIPTION
- See Also:
-
DATASET
- See Also:
-
APPINST_KEY
- See Also:
-
ITRES_KEY
- See Also:
-
APPLICATION_TYPE
- See Also:
-
OBJ_KEY
- See Also:
-
APP_INSTANCE_PARENT_KEY
- See Also:
-
STARTROW
- See Also:
-
ENDROW
- See Also:
-
SORTORDER
- See Also:
-
SORTEDBY
- See Also:
-
FORMDETAILS
- See Also:
-
OPERATIONCONTEXT
- See Also:
-
ASSIGNED_PARENT_APP_INSTANCE
- See Also:
-
OBJ_DISCONNECTED
- See Also:
-
-
Constructor Details
-
ApplicationInstance
public ApplicationInstance(long appInstanceKey) This constructor creates an instance of ApplicationInstance that is already been created.- Parameters:
appInstanceKey
- The primary key of ApplicationInstance record in APP_INSTANCE table.
-
ApplicationInstance
public ApplicationInstance() -
ApplicationInstance
public ApplicationInstance(String applicationInstanceName, String displayName, String description, long objectKey, long itResourceKey, String dataSetName, String uiFragmentName) This constructor is used to create (add) an ApplicationInstance record in OIM respository.- Parameters:
applicationInstanceName
- ApplicationInstance name. One can not change ApplicationInstance name once it is created.displayName
- ApplicationInstance display name.description
- ApplicationInstance description.objectKey
- A Resource Object key (APP_INSTANCE.OBJECT_KEY) associated with ApplicationInstance. This should be available in Resource Object table. (OBJ.OBJ_KEY).itResourceKey
- - An ITResource Key (APP_INSTANCE.ITRESOURCE_KEY) associated with ApplicationInstance. This key should be available in ITResource table (SVR.SVR_KEY)dataSetName
- - The name of dataset associated with ApplicationInstance. The attributes in this dataset are used to display form associated with ApplicationInstance in UI.uiFragmentName
- - This is not currently used. Can be used in future.
-
-
Method Details
-
getApplicationInstanceKey
public long getApplicationInstanceKey()This method is used to get primary key of ApplicationInstance (APP_INSTANCE.APP_INSTANCE_KEY)- Returns:
- ApplicationInstance primary key.
-
setApplicationInstanceKey
public void setApplicationInstanceKey(long applicationInstanceKey) This method is used to set ApplicationInstance primary key.- Parameters:
applicationInstanceKey
- ApplicationInstance primary key.
-
getDescription
This method is used to get the description associated with ApplicationInstance.- Returns:
- description associated with ApplicationInstance.
-
setDescription
This method is used to set the description associated with ApplicationInstance.- Parameters:
description
- description associated with ApplicationInstance.
-
getObjectKey
public long getObjectKey()This method is used to get the Resource Object Key (APP_INSTANCE.OBJECT_KEY) associated with ApplicationInstance.- Returns:
- Resource Object key associated with ApplicationInstance.
-
setObjectKey
public void setObjectKey(long objectKey) This method is used to set the Resource Object Key (APP_INSTANCE.OBJECT_KEY) associated with ApplicationInstance.- Parameters:
objectKey
-
-
getObjectName
This method is used to get the Resource Object Name (APP_INSTANCE.OBJECT_NAME) associated with ApplicationInstance. Even though it looks redundant to have Resource Object name here, it avoids call to Resource Object table when Resource Object name is needed. Hence, this is intentionally maintained in this value object. It is not stored in APP_INSTANCE table.- Returns:
- Resource object name of the application instance.
-
setObjectName
This method is used to set the Resource Object Name (APP_INSTANCE.OBJECT_NAME) associated with ApplicationInstance. Even though it looks redundant to have Resource Object name here, it avoids call to Resource Object table when Object name is needed. Hence, this is intentionally maintained in this value object.- Parameters:
objectName
- object name of the application instance.
-
getDataSetName
This method is used to get the dataset Name (APP_INSTANCE.APP_INSTANCE_DATASET) associated with ApplicationInstance. This in turn is used in dataset plugin that is used to return dataset name associated to ApplicationInstance, to request engine. The actual dataset XML is stored in MDS.- Returns:
- dataset name associated with ApplicationInstance.
-
setDataSetName
This method is used to set the dataset Name (APP_INSTANCE.APP_INSTANCE_DATASET) associated with ApplicationInstance. This in turn is used in dataset plugin that is used to return dataset name associated to ApplicationInstance, to request engine. The actual dataset XML is stored in MDS.- Parameters:
dataSetName
- The dataset name that has to be associated with ApplicationInstance.
-
getItResourceKey
public long getItResourceKey()This method is used to get the ITResource key (APP_INSTANCE.ITRESOURCE_KEY) associated with ApplicationInstance. This key should also be available in ITResource table (SVR.SVR_KEY). ITResource represents the connectivity to target system.- Returns:
- ITResource Key associated with ApplicationInstance.
-
setItResourceKey
public void setItResourceKey(long itResourceKey) This method is used to set the ITResource key (APP_INSTANCE.ITRESOURCE_KEY) associated with ApplicationInstance. This key should also be available in ITResource table (SVR.SVR_KEY). ITResource represents the connectivity to target system.- Parameters:
itResourceKey
-
-
getItResourceName
This method is used to get the ITResource name (SVR.SVR_NAME) for ITResource associated with ApplicationInstance. ITResource name is not stored in APP_INSTANCE table.- Returns:
- ITResource name associated with ApplicationInstance.
-
setItResourceName
This method is used to set the ITResource name (SVR.SVR_NAME) for ITResource associated with ApplicationInstance. ITResource name is not stored in APP_INSTANCE table.- Parameters:
itResourceName
- ITResource name associated with ApplicationInstance.
-
getParentKey
public long getParentKey()This method gets the primary Key of the parent ApplicationInstance.- Returns:
- The primary Key of the parent ApplicationInstance.
-
setParentKey
public void setParentKey(long parentKey) This method sets the primary Key of the parent ApplicationInstance.- Parameters:
parentKey
- The primary Key of the parent ApplicationInstance.
-
isSoftDelete
public boolean isSoftDelete()This method returns if ApplicationInstance is soft deleted. When ApplicationInstance is deleted via API (ApplicationInstanceService/deleteApplicationInstance) then this flag is marked as true. i.e the record is soft deleted. Also, when ITResource and/or Resource Object associated with ApplicationInstance is deleted, this flag is marked as true (APP_INSTANCE_IS_SOFT_DELETE = 1) Once "Application Instance Post Delete Processing Job" is run, for all such soft-deleted records of ApplicationInstance, the system will proceed with processing as follows after hard deleting entry in APP_INSTANCE table. 1) Revoke mode - Task will revoke accounts associated with ApplicationInstance via API, which in turn will remove entries from target as well. 2) Delete mode - Task will hard delete the entries from OIM DB (OBI, OIU, ORC, UD_PARENT, UD_CHILD) 3) Decommission mode - All accounts associated to AppInstance will be marked revoked without actually going to target (i.e no adapters executed) All such deleted entries will be removed from CATALOG as well via Catalog Synchronization Job.- Returns:
- If ApplicationInstance record is soft deleted. (APP_INSTANCE_IS_SOFT_DELETE = 1)
-
setSoftDelete
public void setSoftDelete(boolean softDelete) This method sets if ApplicationInstance is soft deleted. When ApplicationInstance is deleted via API (ApplicationInstanceService/deleteApplicationInstance) then this flag is marked as true. i.e the record is soft deleted. Also, when ITResource and/or Resource Object associated with ApplicationInstance is deleted, this flag is marked as true (APP_INSTANCE_IS_SOFT_DELETE = 1) Once "Application Instance Post Delete Processing Job" is run, for all such soft-deleted records of ApplicationInstance, the system will proceed with processing as follows after hard deleting entry in APP_INSTANCE table. 1) Revoke mode - Task will revoke accounts associated with ApplicationInstance via API, which in turn will remove entries from target as well. 2) Delete mode - Task will hard delete the entries from OIM DB (OBI, OIU, ORC, UD_PARENT, UD_CHILD) 3) Decommission mode - All accounts associated to AppInstance will be marked revoked without actually going to target (i.e no adapters executed) All such deleted entries will be removed from CATALOG as well via Catalog Synchronization Job.- Parameters:
softDelete
- A flag representing if ApplicationInstance is soft deleted.
-
isApplicableToEntitlement
public boolean isApplicableToEntitlement()Deprecated. -
setApplicableToEntitlement
public void setApplicableToEntitlement(boolean isApplicableToEntitlement) Deprecated. -
getAccountForm
This method returns FormInfo value object containing meta data information about parent form and child form associated with ApplicationInstance- Returns:
- FormInfo value object containing meta data information about parent form associated with ApplicationInstance
-
setAccountForm
This method sets FormInfo value object containing meta data information about parent form associated with ApplicationInstance- Parameters:
accountForm
- FormInfo value object- See Also:
-
getChildForms
This method returns the list of FormInfo value object containing meta data information about child form associated with ApplicationInstance- Returns:
- The list of FormInfo value object containing child form meta data infomration.
- See Also:
-
setChildForms
This method sets the list of FormInfo value object containing meta data information about child form associated with ApplicationInstance- Parameters:
childForms
- The list of FormInfo value objects representing child forms.- See Also:
-
addChildForm
-
getApplicationInstanceName
This method is used to get ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)- Returns:
- ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)
-
setApplicationInstanceName
This method is used to set ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)- Parameters:
applicationInstanceName
- ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)
-
getType
This method is used to get type of ApplicationInstance. DOBBased for connected ApplicationInstance Disconnected for Disconnected ApplicationInstance SPMLBased and ICFBased are reserved for future.- Returns:
- ApplicationInstance type (APP_INSTANCE. APP_INSTANCE_TYPE)
-
setType
This method is used to set type of ApplicationInstance. DOBBased for connected ApplicationInstance Disconnected for Disconnected ApplicationInstance SPMLBased and ICFBased are reserved for future.- Parameters:
type
- ApplicationInstance type
-
getDisplayName
This method gets the display name of the ApplicationInstance (APP_INSTANCE.APP_INSTANCE_DISPLAY_NAME)- Returns:
- the display name of the ApplicationInstance (APP_INSTANCE.APP_INSTANCE_DISPLAY_NAME)
-
setDisplayName
This method sets the display name of the ApplicationInstance (APP_INSTANCE.APP_INSTANCE_DISPLAY_NAME)- Parameters:
displayName
- the display name of the ApplicationInstance (APP_INSTANCE.APP_INSTANCE_DISPLAY_NAME)
-
toString
This method is used to convert ApplicationInstance value object to String It prints ApplicationInstance name:ITResourceKey:ResourceObjectKey -
getParentAppInstance
This method gets the parent ApplicationInstance associated with current ApplicationInstance. It means current ApplicationInstance depends on ApplicationInstance returned by this method.- Returns:
- Parent ApplicationInstance of this ApplicationInstance.
-
setParentAppInstance
This method sets the parent ApplicationInstance associated with current ApplicationInstance. It means current ApplicationInstance depends on ApplicationInstance returned by this method.- Parameters:
parentAppInstance
- Parent ApplicationInstance of this ApplicationInstance.
-
getCatalogAttributes
This method gets the catalog values -
setCatalogAttributes
This method sets the catalog values to the Application Instance object
-