Probabilistic Matching Engine object converters
The package com.ibm.mdm.eme.party.converter is no longer exported. The following is a description of the changes to how InfoSphere® MDM Custom Domain Hub uses Probabilistic Matching Engine object converters.
Before OSGi
InfoSphere MDM Custom Domain Hub enables you to configure custom converter implementation classes used in search/match interactions with the Probabilistic Match Engine. These Converter classes are used to convert Party business objects (Person and Organization), as well as Probabilistic search business objects to the configured Probabilistic Matching Engine record model. Typically the default converters are sufficient for use with the default Probabilistic Matching Engine model. However, if the model is enhanced with additional attributes, these converters will need to be modified or extended to include the additional attributes as well define how they map to the Party business objects.
## Matching converters
## eme.matching.converter.<fully qualified class name>=<fully qualified converter class name>
###############################################################################################
eme.matching.converter.com.dwl.tcrm.coreParty.component.TCRMPersonBObj=com.ibm.mdm.eme.party.converter.PersonDerivedDataConverter
eme.matching.converter.com.dwl.tcrm.coreParty.component.TCRMOrganizationBObj=com.ibm.mdm.eme.party.converter.OrganizationDerivedDataConverter
eme.matching.idConverter.com.dwl.tcrm.coreParty.component.TCRMPersonBObj=com.ibm.mdm.eme.party.converter.PartyIdToRecordIdConverter
eme.matching.idConverter.com.dwl.tcrm.coreParty.component.TCRMOrganizationBObj=com.ibm.mdm.eme.party.converter.PartyIdToRecordIdConverter
## Matching adapter
## matching.adapter.<fully qualified business object class name>=<fully qualified matching adapter class name>
##################################################################################################################
matching.adapter.com.dwl.tcrm.coreParty.component.TCRMPersonBObj=com.ibm.mdm.eme.party.adapter.EMEPartyMatchingAdapter
matching.adapter.com.dwl.tcrm.coreParty.component.TCRMOrganizationBObj=com.ibm.mdm.eme.party.adapter.EMEPartyMatchingAdapter
## eME searchSuspects outbound converters
## eme.searchSuspects.converter.<fully qualified class name>=<fully qualified converter class name>
## eme.searchSuspects.idConverter.<fully qualified class name>=<fully qualified converter class name>
###############################################################################################
eme.searchSuspects.idConverter.com.dwl.tcrm.coreParty.component.TCRMPersonBObj=com.ibm.mdm.eme.party.converter.PartyIdToRecordIdConverter
eme.searchSuspects.idConverter.com.dwl.tcrm.coreParty.component.TCRMOrganizationBObj=com.ibm.mdm.eme.party.converter.PartyIdToRecordIdConverter
eme.searchSuspects.converter.com.dwl.tcrm.coreParty.component.TCRMPersonBObj=com.ibm.mdm.eme.party.converter.PersonDerivedDataConverter
eme.searchSuspects.converter.com.dwl.tcrm.coreParty.component.TCRMOrganizationBObj=com.ibm.mdm.eme.party.converter.OrganizationDerivedDataConverter
eme.searchSuspects.converter.com.ibm.mdm.eme.suspect.component.TransientSuspectBObj=com.ibm.mdm.eme.converter.TransientSuspectToTCRMSuspectConverter
eme.searchSuspects.converter.com.dwl.tcrm.coreParty.component.ProbabilisticPersonSearchBObj=com.ibm.mdm.eme.party.converter.PersonDerivedDataConverter
eme.searchSuspects.converter.com.dwl.tcrm.coreParty.component.ProbabilisticPersonSearchResultBObj=com.ibm.mdm.eme.converter.ScoredRecordIdToProbabilisticPersonSearchResultConverter
eme.searchSuspects.converter.com.dwl.tcrm.coreParty.component.ProbabilisticOrganizationSearchBObj=com.ibm.mdm.eme.party.converter.OrganizationDerivedDataConverter
eme.searchSuspects.converter.com.dwl.tcrm.coreParty.component.ProbabilisticOrganizationSearchResultBObj=com.ibm.mdm.eme.converter.ScoredRecordIdToProbabilisticOrganizationSearchResultConverter
With OSGi
- Matching by ID:
- Note that the converter.type service property
must be eme.matching.idConverter:
<service id="ConverterFactoryService.PartyIdToRecordIdConverter.Match" interface="com.ibm.mdm.common.converter.ConverterFactoryService" ranking=”10”> <service-properties> <entry key="object.to.convert"> <list> <value>com.dwl.tcrm.coreParty.component.TCRMPersonBObj</value> <value>com.dwl.tcrm.coreParty.component.TCRMOrganizationBObj</value> </list> </entry> <entry key="converter.type" value="eme.matching.idConverter"/> </service-properties> <bean class="com.ibm.mdm.common.converter.ConverterFactoryServiceImpl"> <argument ref="blueprintBundle"/> <argument value="my.custom.PartyIdToRecordIdConverter"/> </bean> </service> - Searching by ID:
- Note the converter.type service property must
be eme.searchSuspects.idConverter:
<service id="ConverterFactoryService.PartyIdToRecordIdConverter.Search" interface="com.ibm.mdm.common.converter.ConverterFactoryService" ranking=”10”> <service-properties> <entry key="object.to.convert"> <list> <value>com.dwl.tcrm.coreParty.component.TCRMPersonBObj</value> <value>com.dwl.tcrm.coreParty.component.TCRMOrganizationBObj</value> </list> </entry> <entry key="converter.type" value="eme.searchSuspects.idConverter"/> </service-properties> <bean class="com.ibm.mdm.common.converter.ConverterFactoryServiceImpl"> <argument ref="blueprintBundle"/> <argument value="my.custom.PartyIdToRecordIdConverter"/> </bean> </service> - Matching by Party object:
- Note the converter.type service property must
be eme.matching.converter:
<service id="ConverterFactoryService.OrganizationDerivedDataConverter.Match" interface="com.ibm.mdm.common.converter.ConverterFactoryService" ranking=”10”> <service-properties> <entry key="object.to.convert" value="com.dwl.tcrm.coreParty.component.TCRMOrganizationBObj"/> <entry key="converter.type" value="eme.matching.converter"/> </service-properties> <bean class="com.ibm.mdm.common.converter.ConverterFactoryServiceImpl"> <argument ref="blueprintBundle"/> <argument value="my.custom.OrganizationDerivedDataConverter"/> </bean> </service> - Searching by Party object:
- Note the converter.type service property must
be eme.searchSuspects.converter:
<service id="ConverterFactoryService.PersonDerivedDataConverter.Search" interface="com.ibm.mdm.common.converter.ConverterFactoryService" ranking=”10”> <service-properties> <entry key="object.to.convert"> <list> <value>com.dwl.tcrm.coreParty.component.TCRMPersonBObj</value> <value>com.dwl.tcrm.coreParty.component.ProbabilisticPersonSearchBObj</value> </list> </entry> <entry key="converter.type" value="eme.searchSuspects.converter"/> </service-properties> <bean class="com.ibm.mdm.common.converter.ConverterFactoryServiceImpl"> <argument ref="blueprintBundle"/> <argument value="com.ibm.mdm.eme.party.converter.PersonDerivedDataConverter"/> </bean> </service>
You must be sure to set the service ranking to a value greater than 0 (ranking="10"). This will ensure that your converter service supersedes the default InfoSphere MDM Custom Domain Hub converter for the given object.to.convert and converter.type mappings. Also, remember to import the necessary packages into your bundle’s manifest, here must import package com.ibm.mdm.common.converter.
For more information on converters, see Understanding converters.