You can use the Jython or Jacl scripting language to manage the federated repository schema using the wsadmin tool. Use the commands and parameters in the IdMgrDataModel group to manage the property extension repository. The commands are available in connected or local mode using the –conntype NONE option.
Use the addIdMgrPropertyToEntityTypes command to add a new property to one or more existing entity types with specified parameters.
Target Object
None.Required parameters
(String, required)
You can use a valid namespace prefix (nsPrefix) to refer to the entity type names in a specific namespace. The default namespace prefix is wim. Use a colon (:) to specify the namespace prefix. For example, you can use: your_ext:Person_Account
(String, required)
Optional parameters
You must map each namespace URI (nsURI) value to a unique namespace prefix (nsPrefix) value the first time that you use the namespace URI. The new property is added to the default namespace if you do not specify a nsURI value. The default namespace is http://www.ibm.com/websphere/wim, which is mapped, by default, to the wim nsPrefix value.
(String, optional)
You must specify a namespace prefix (nsPrefix) value, if you specify a new namespace URI (nsURI) value, so that the new nsURI value is mapped to this nsPrefix value. The default nsPrefix value is wim, which is mapped, by default, to the http://www.ibm.com/websphere/wim nsURI value.
(String, optional)
(Boolean, optional)
Use a semicolon (;) as the delimiter to specify multiple repository identities. All of the configured repositories are included, if this parameter is not specified.
To add the new property into the property extension repository, specify LA as the value of this parameter.
To add the new property to the entity types for all the specified repositories, specify a list of repository identities and do not include LA in the list.
To extend the property to the property extension repository for particular Lightweight Directory Access Protocol (LDAP) repositories, specify a list that includes LA. The new extended property is then marked as not supported for the other LDAP repositories that are included in this list.
(String, optional)
Use a semicolon (;) as the delimiter to specify multiple entity types.
You can use a valid namespace prefix (nsPrefix) to refer to the entity type names in a specific namespace. The default namespace prefix is wim. Use a colon (:) to specify the namespace prefix. For example, you can use: your_ext:Person_Account
{-name contactNumber -entityTypeNames PersonAccount;Group -requiredEntityTypeNames PersonAccount}
(String, optional)
You can use the getIdMgrEntityTypeSchema command to retrieve the extended properties for a specific application ID, if you specify a value for the applicationId parameter.
(String, optional)
Examples
Batch mode example usage:
$AdminTask addIdMgrPropertyToEntityTypes {-name property_name_1 -dataType string -entityTypeNames entity_type_1;entity_type_2}
AdminTask.addIdMgrPropertyToEntityTypes ('[-name property_name_1 -dataType string -entityTypeNames entity_type_1;entity_type_2]')
AdminTask.addIdMgrPropertyToEntityTypes (['-name', 'property_name_1', '-dataType', 'string' '-entityTypeNames', 'entity_type_1;entity_type_2'])
Interactive mode example usage:
$AdminTask addIdMgrPropertyToEntityTypes {-interactive}
AdminTask.addIdMgrPropertyToEntityTypes ('[-interactive]')
AdminTask.addIdMgrPropertyToEntityTypes (['-interactive'])
The getIdMgrEntityTypeSchema command returns the entity type schema. This command is available in both connected and local modes.
Target Object
None.Required parameters
None.Optional parameters
Return values
The getIdMgrEntityTypeSchema command returns a HashMap that contains the following structure:Map{entityType=Map{metadata}}
The getIdMgrEntityTypeSchema command returns a HashMap where the key is the entity type and the value is another HashMap that contains the entity type schema. This HashMap contains the keys nsPrefix, nsURI and parentEntityName and their corresponding values. The following example shows sample results of this command:
{PersonAccount={nsPrefix=wim, nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=loginAccount},
test1:PersonAccount={nsPrefix=test1, nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=loginAccount},
Group={nsPrefix=wim, nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=Party},
MyExtendedEntity={nsPrefix=wim , nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=Person}}
Examples
Batch mode example usage:
$AdminTask getIdMgrEntityTypeSchema
AdminTask.getIdMgrEntityTypeSchema()
AdminTask.getIdMgrEntityTypeSchema()
Interactive mode example usage:
$AdminTask getIdMgrEntityTypeSchema {-interactive}
AdminTask.getIdMgrEntityTypeSchema ('[-interactive]')
AdminTask.getIdMgrEntityTypeSchema (['-interactive'])
The getIdMgrPropertySchema command returns the property schema, including that of extended properties, of the specified entity type or all entity types. This command is available in both connected and local modes.
Target Object
None.Required parameters
None.Optional parameters
Return values
The getIdMgrPropertySchema command returns a HashMap that contains the following structure:Map{entityType=Map{propName=Map{metadata}}}
The getIdMgrPropertySchema command returns a HashMap where the key is the entity type and the value is another HashMap that contains the property schema. This HashMap contains the property name as the key and its value is yet another HashMap that contains the each attribute of the property and its value. The following example shows sample results of this command:
{PersonAccount={prop1={isMultiValued=false, dataType=String, nsPrefix=wim,
nsURI=hhtp://www.ibm.com/websphere/wim, isRequired=true}, test1:prop1={isMultiValued=false,
dataType=Integer, nsPrefix=test1, nsURI=hhtp://www.ibm.com/websphere/test1, isRequired=true},
prop2={isMultiValued=false, dataType=Integer, nsPrefix=wim, nsURI=hhtp://www.ibm.com/websphere/wim,
isRequired=true }}, Group={prop3={isMultiValued=false, dataType=String, nsPrefix=wim,
nsURI=hhtp://www.ibm.com/websphere/wim, isRequired=false}}}
Examples
Batch mode example usage:
$AdminTask getIdMgrPropertySchema
AdminTask.getIdMgrPropertySchema()
AdminTask.getIdMgrPropertySchema()
Interactive mode example usage:
$AdminTask getIdMgrPropertySchema {-interactive}
AdminTask.getIdMgrPropertySchema ('[-interactive]')
AdminTask.getIdMgrPropertySchema (['-interactive'])
Use the listIdMgrPropertyExtensions command to list the properties extended for entity types.
Target Object
None.Required parameters
None.Optional parameters
If you do not specify this parameter, all the extended properties are listed.
(String, optional)
Return value
This parameter returns a hash map that contains the property name as the key. The value of each key is another hash map, which contains the same keys as the input parameters of the addIdMgrPropertyToEntityTypes command. For multivalued parameters, the value of the key is a List object.
Examples
Batch mode example usage:
$AdminTask listIdMgrPropertyExtensions
AdminTask.listIdMgrPropertyExtensions()
AdminTask.listIdMgrPropertyExtensions()
Interactive mode example usage:
$AdminTask listIdMgrPropertyExtensions {-interactive}
AdminTask.listIdMgrPropertyExtensions ('[-interactive]')
AdminTask.listIdMgrPropertyExtensions (['-interactive'])