Previous Topic: Metadata Settings for a Real Container Class ExampleNext Topic: Association Metadata


Important Metadata Settings for a Virtual Container Class Example

The following is an example of the important metadata settings for a virtual container class taken from the metadata for the SDKDYN sample, sdkdyn_metadata.xml:

<class name="eTDYNContainer001">
            <metadata name="groupMappings">
                <value>
                    <mapValue>
                        <keyType>
                            <enumValue def="SDKDYN_Groups"></enumValue>
                        </keyType>
                        <valueType>
                            <sequenceValue/>
                        </valueType>
                        <mapEntry>
                            <key>
                                <enumValue def="SDKDYN_Groups">ROOT</enumValue>
                            </key>
                            <value>
                                <sequenceValue>
                                    <baseType>
                                        <enumValue def="SDKDYN_Groups"></enumValue>
                                    </baseType>
                                    <val>
                                        <enumValue def="SDKDYN_Groups">GROUP_CONT_MAIN_GROUP</enumValue>
                                    </val>
                                </sequenceValue>
                            </value>
                        </mapEntry>
                    </mapValue>
                </value>
            </metadata>
            <metadata name="groupContents">
                <value>
                    <mapValue>
                        <keyType>
                            <enumValue def="SDKDYN_Groups"></enumValue>
                        </keyType>
                        <valueType>
                            <sequenceValue/>
                        </valueType>
                        <mapEntry>
                            <key>
                                <enumValue def="SDKDYN_Groups">GROUP_CONT_MAIN_GROUP</enumValue>
                            </key>
                            <value>
                                <sequenceValue>
                                    <baseType>
                                        <strValue></strValue>
                                    </baseType>
                                    <val>
                                        <strValue>eTDYNContainer001Name</strValue>
                                    </val>
                                </sequenceValue>
                            </value>
                        </mapEntry>
                    </mapValue>
                </value>
            </metadata>
            <metadata name="connectorMapToSame">
                <value>
                    <boolValue>true</boolValue>
                </value>
            </metadata>
            <metadata name="isVirtual">
                <value default="false">
                    <boolValue>true</boolValue>
                </value>
            </metadata>
            <metadata name="rdnAttribute">
                <value>
                    <strValue>eTDYNContainer001Name</strValue>
                </value>
            </metadata>
            <metadata name="childTypes">
                <value>
                    <setValue>
                        <baseType>
                            <strValue></strValue>
                        </baseType>
                        <val>
                            <strValue>eTDYNObject001</strValue>
                        </val>
                    </setValue>
                </value>
            </metadata>
            <property name="eTDYNContainer001Name">
                <value default="true">
                    <strValue>SDK Groups</strValue>
                </value>
                <metadata name="isNaming">
                    <value>
                        <boolValue>true</boolValue>
                    </value>
                </metadata>
                <metadata name="displayName">
                    <value>
                        <strValue>Name</strValue>
                    </value>
                </metadata>
                <metadata name="isRequired">
                    <value>
                        <boolValue>true</boolValue>
                    </value>
                </metadata>
            </property> 

The settings for the groupMappings, groupContents, and displayName are required by CA IdentityMinder and the CA IdentityMinder Provisioning Manager user interfaces. See the code example for the values for these settings.

The following settings in the above example are important to consider:

isVirtual

Distinguishes virtual containers from real ones.

Value: true

childTypes

Specifies all classes in the datamodel that can be contained under this class (the class on which childTypes appears).

This setting is used the same way as for real containers. You can specify more than one class name, but each class can only appear in the childTypes setting for a single container. The values here also affect the searches done across the containers. Searches are optimized where possible to take only the classes that can exist under the container into account.

connectorMapToSame

Specifies that connectorMapTo values do not have to be provided for the class and its naming attribute (that is, their LDAP names are used).

Note that these values are not important in a connector's implementation because the container is virtual and therefore does not exist on the endpoint.

Value: true

eTDYNContainer001Name

Specifies the container's name used by UI clients.

Value: SDK Groups