Previous Topic: Sample Connector UpgradingNext Topic: DYN Class Names


Release a Customized SDK Connector Example

One way to become familiar with the CA IAM CS SDK variants is to use them unchanged, and debug using an IDE. Perhaps this progresses to changing the existing metadata and logic to try out various changes. However, at some point in a connector's development it will be necessary to choose a proper name for the connector that identifies its function and ensures it is not confused with the SDK connectors released with CA IAM CS.

This example shows you how to release a connector based on SDKDYN as a new connector called myconnector. Do the following:

  1. Copy the connectors/sdkdyn/ directory and all sub-directories to connectors/myconnector/.
  2. Rename all the classes from SDK* to MyConnector*.
  3. Change references in conf/connector.xml to associate the namespace and update any class references to the SDK connector to point to MyConnector.
  4. Change all references to sdkdyn in the build.xml file to match your connector's name. For example change the conn.pkg property used in the .jar .zip, and pop.ldif file name and such.
  5. Change the following settings in your conf/*_metadata.xml document to match you connector's name. For example, SDK to MyConnector.
    <namespace name="connectorname Namespace">
    <doc/>
    <metadata name="abbreviation">
    <value>
    <strValue>DYN</strValue>
    </value>
    </metadata>
    <metadata name="version">
    <value>
    <strValue>1.0</strValue>
    </value>
    </metadata>
    <metadata name="implementationBundle">
    <value>
    <strValue>connectorname=</strValue>
    </value>
    </metadata>
    
    namespace name

    Defines the name of your connector's namespace/endpoint-type in the metadata.

    Example: namespace name="MyConnector Namespace"

    metadata name

    Defines

    Value:

    Example: <strValue>MyConnector</strValue>

  6. Change the following settings in your connector's conf/connector.xml file to match your connector's name and new class names. For example, SDKDYN to MyConnector.
    <beanclass="com.ca.jcs.ImplBundle"id="connectorname">
    <propertyname="name">
    <value>connectorname</value>
    </property>
    ...
    <propertyname="connectorTypeName">
    <value>connectornameNamespace</value>
    </property>
    ...
    <propertyname="messageResourceBundle"><value>conf/com/ca/jcs/sdk/validator/validator</value>
    </property>
    
    <propertyname="staticMetadataFile">
    <value>/conf/connectorname_metadata.xml</value>
    </property>
    <propertyname="indirectAssociations">
    <value>false</value>
    </property>
    <propertyname="connNamingAttr">
    <value>eTDYNDirectoryName</value>
    </property>
    <propertyname="connectorTypeClass">
    <value>com.ca.jcs.meta.MetaConnectorType</value>
    </property>
    <propertyname="connectorClass">
    <value>com.ca.jcs.sdk.connectornameMetaConnector</value>
    </property>
    
    bean class

    Defines

    Example: bean class="com.ca.jcs.ImplBundle" id="MyConnector"\

    connectorTypeName

    Defines

    Example: MyConnector Namespace

    name

    Defines

    Example: MyConenctor Namespace

    staticMetadataFile

    Defines

    Example: /conf/MyConnector_metadata.xml

    connectorClass

    Defines

    Example: com.ca.jcs.sdk.MyConnectorMetaConnector

    Note: The build.xml file for each DYN based connector includes an XSLT transform (popldif.xslt) which uses your metadata to generate a build/_uninst/*pop.ldif file. The CA IAM CS installer uses this file to register your connector when you run ant inst and copy the resulting .zip for your connector to ${DIR}, as shown in the preceding example.