Modifying a Get service to use business logic to insert more data for a specific access profile

Sometimes you want to include more data in the nouns you are returning from a Get service. WebSphere Commerce provides a customization point called the InsertMoreData command for this purpose.

About this task

To modify a Get service to insert more data for a specific access profile:

Procedure

  1. Determine the InsertMoreData command interface that is called to populate more information in the noun. For example, InsertMoreNounNameDataCmd.
  2. Implement an instance of this command to insert more data from the external system and add that data to the nouns.
  3. Update the command registration for the particular access profile, the insert more data task implementation should use the version implemented in the previous step. The insert more data task implementation should be registered with the INTERFACENAME column set to command_name+access_profile_name.
    Because multiple InsertMore commands can be registered for the same access profile, the .index notation is used to allow for more than one InsertMore command to run and the order is based on the registered index. In the example below, an InsertMore command is registered with an index of 0, appended to the access profile as IBM_Admin_Details.0:
    insert into cmdreg (storeent_id, interfacename, classname, target)  values (0, 'com.ibm.commerce.catalog.facade.server.commands.InsertMoreCatalogEntryDataCmd+IBM_Admin_Details.0',  'com.ibm.commerce.foundation.server.command.bod.bom.InsertMoreNounChangeControlMetaDataCmdImpl', 'Local');