Skip navigation links


oracle.iam.provisioning.vo
Class ApplicationInstance

java.lang.Object
  extended by oracle.iam.provisioning.vo.ApplicationInstance

All Implemented Interfaces:
java.io.Serializable

public class ApplicationInstance
extends java.lang.Object
implements java.io.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
See Also:
Serialized Form

Nested Class Summary
static class ApplicationInstance.TYPE
          An enumeration which determines the type of this Application Instance.

 

Field Summary
static java.lang.String APP_INSTANCE_PARENT_KEY
           
static java.lang.String APPINST_KEY
           
static java.lang.String APPINST_NAME
           
static java.lang.String APPINST_TYPE
           
static java.lang.String APPLICATION_TYPE
           
static java.lang.String ASSIGNED_PARENT_APP_INSTANCE
           
static java.lang.String DATASET
           
static java.lang.String DESCRIPTION
           
static java.lang.String DISPLAY_NAME
           
static java.lang.String ENDROW
           
static java.lang.String FORMDETAILS
           
static java.lang.String ITRES_KEY
           
static java.lang.String ITRES_NAME
           
static java.lang.String OBJ_DISCONNECTED
           
static java.lang.String OBJ_KEY
           
static java.lang.String OBJ_NAME
           
static java.lang.String OPERATIONCONTEXT
           
static long serialVersionUID
           
static java.lang.String SORTEDBY
           
static java.lang.String SORTORDER
           
static java.lang.String STARTROW
           

 

Constructor Summary
ApplicationInstance()
           
ApplicationInstance(long appInstanceKey)
          This constructor creates an instance of ApplicationInstance that is already been created.
ApplicationInstance(java.lang.String applicationInstanceName, java.lang.String displayName, java.lang.String description, long objectKey, long itResourceKey, java.lang.String dataSetName, java.lang.String uiFragmentName)
          This constructor is used to create (add) an ApplicationInstance record in OIM respository.

 

Method Summary
 void addChildForm(FormInfo childForm)
           
 FormInfo getAccountForm()
          This method returns FormInfo value object containing meta data information about parent form and child form associated with ApplicationInstance
 long getApplicationInstanceKey()
          This method is used to get primary key of ApplicationInstance (APP_INSTANCE.APP_INSTANCE_KEY)
 java.lang.String getApplicationInstanceName()
          This method is used to get ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)
 java.util.List getChildForms()
          This method returns the list of FormInfo value object containing meta data information about child form associated with ApplicationInstance
 java.lang.String getDataSetName()
          This method is used to get the dataset Name (APP_INSTANCE.APP_INSTANCE_DATASET) associated with ApplicationInstance.
 java.lang.String getDescription()
          This method is used to get the description associated with ApplicationInstance.
 java.lang.String getDisplayName()
          This method gets the display name of the ApplicationInstance (APP_INSTANCE.APP_INSTANCE_DISPLAY_NAME)
 long getItResourceKey()
          This method is used to get the ITResource key (APP_INSTANCE.ITRESOURCE_KEY) associated with ApplicationInstance.
 java.lang.String getItResourceName()
          This method is used to get the ITResource name (SVR.SVR_NAME) for ITResource associated with ApplicationInstance.
 long getObjectKey()
          This method is used to get the Resource Object Key (APP_INSTANCE.OBJECT_KEY) associated with ApplicationInstance.
 java.lang.String getObjectName()
          This method is used to get the Resource Object Name (APP_INSTANCE.OBJECT_NAME) associated with ApplicationInstance.
 ApplicationInstance getParentAppInstance()
          This method gets the parent ApplicationInstance associated with current ApplicationInstance.
 long getParentKey()
          This method gets the primary Key of the parent ApplicationInstance.
 ApplicationInstance.TYPE getType()
          This method is used to get type of ApplicationInstance.
 boolean isApplicableToEntitlement()
          Deprecated.  
 boolean isSoftDelete()
          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 ApplicationInstance
 void setApplicableToEntitlement(boolean isApplicableToEntitlement)
          Deprecated.  
 void setApplicationInstanceKey(long applicationInstanceKey)
          This method is used to set ApplicationInstance primary key.
 void setApplicationInstanceName(java.lang.String applicationInstanceName)
          This method is used to set ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)
 void setChildForms(java.util.List childForms)
          This method sets the list of FormInfo value object containing meta data information about child form associated with ApplicationInstance
 void setDataSetName(java.lang.String dataSetName)
          This method is used to set the dataset Name (APP_INSTANCE.APP_INSTANCE_DATASET) associated with ApplicationInstance.
 void setDescription(java.lang.String description)
          This method is used to set the description associated with ApplicationInstance.
 void setDisplayName(java.lang.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(java.lang.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(java.lang.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 setType(ApplicationInstance.TYPE type)
          This method is used to set type of ApplicationInstance.
 java.lang.String toString()
          This method is used to convert ApplicationInstance value object to String It prints ApplicationInstance name:ITResourceKey:ResourceObjectKey

 

Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values

APPINST_NAME

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

OBJ_NAME

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

ITRES_NAME

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

DISPLAY_NAME

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

APPINST_TYPE

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

DESCRIPTION

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

DATASET

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

APPINST_KEY

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

ITRES_KEY

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

APPLICATION_TYPE

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

OBJ_KEY

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

APP_INSTANCE_PARENT_KEY

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

STARTROW

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

ENDROW

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

SORTORDER

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

SORTEDBY

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

FORMDETAILS

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

OPERATIONCONTEXT

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

ASSIGNED_PARENT_APP_INSTANCE

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

OBJ_DISCONNECTED

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

Constructor Detail

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(java.lang.String applicationInstanceName,
                           java.lang.String displayName,
                           java.lang.String description,
                           long objectKey,
                           long itResourceKey,
                           java.lang.String dataSetName,
                           java.lang.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 Detail

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

public java.lang.String getDescription()
This method is used to get the description associated with ApplicationInstance.
Returns:
description associated with ApplicationInstance.

setDescription

public void setDescription(java.lang.String description)
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

public java.lang.String 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

public void setObjectName(java.lang.String objectName)
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

public java.lang.String 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

public void setDataSetName(java.lang.String dataSetName)
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

public java.lang.String 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

public void setItResourceName(java.lang.String itResourceName)
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

public FormInfo 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

public void setAccountForm(FormInfo accountForm)
This method sets FormInfo value object containing meta data information about parent form associated with ApplicationInstance
Parameters:
accountForm - FormInfo value object
See Also:
FormInfo

getChildForms

public java.util.List 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:
FormInfo

setChildForms

public void setChildForms(java.util.List childForms)
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:
FormInfo

addChildForm

public void addChildForm(FormInfo childForm)

getApplicationInstanceName

public java.lang.String getApplicationInstanceName()
This method is used to get ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)
Returns:
ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)

setApplicationInstanceName

public void setApplicationInstanceName(java.lang.String applicationInstanceName)
This method is used to set ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)
Parameters:
applicationInstanceName - ApplicationInstance name (APP_INSTANCE.APP_INSTANCE_NAME)

getType

public ApplicationInstance.TYPE 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

public void setType(ApplicationInstance.TYPE type)
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

public java.lang.String 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

public void setDisplayName(java.lang.String displayName)
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

public java.lang.String toString()
This method is used to convert ApplicationInstance value object to String It prints ApplicationInstance name:ITResourceKey:ResourceObjectKey
Overrides:
toString in class java.lang.Object

getParentAppInstance

public ApplicationInstance 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

public void setParentAppInstance(ApplicationInstance parentAppInstance)
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.

Skip navigation links


Copyright © 2015, Oracle and/or its affiliates. All rights reserved.