Suspect processing: entity suspect processors
The following is a description of the changes to how InfoSphere® MDM uses and handles entity suspect processors.
Before OSGi
## EntitySuspectProcessor
## suspectProcessor.<fully qualified class name>=<fully qualified processor class name>
###############################################################################################
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPartyBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPersonBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPersonNameBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMOrganizationBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMOrganizationNameBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPartyAddressBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPartyIdentificationBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPartyContactMethodBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPartyBankAccountBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPartyChargeCardBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPartyPayrollDeductionBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMIncomeSourceBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPartyPayrollDeductionBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMFinancialProfileBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPartyLobRelationshipBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMAddressBObj=com.ibm.mdm.suspect.UnhandledEntitySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMContactMethodBObj=com.ibm.mdm.suspect.UnhandledEntitySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMPartyCDCBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessor
suspectProcessor.com.dwl.tcrm.coreParty.component.TCRMMultiplePartyCDCBObj=com.ibm.mdm.party.suspect.component.PartySuspectProcessorThe
left hand side of the equation, prefixed by suspectprocessor denoted
the object being examined for suspect reidentification. The left hand
side denoted the processor that would perform the examination.
With OSGi
<service id="PartyEntity.SuspectProcessor"
interface="com.ibm.mdm.common.servicefactory.api.CommonServiceFactory">
<service-properties>
<entry key="common.service">
<list value-type="java.lang.String">
<value>EntitySuspectProcessor.TCRMPartyBObj</value>
<value>EntitySuspectProcessor.TCRMPersonBObj</value>
<value>EntitySuspectProcessor.TCRMPersonNameBObj</value>
<value>EntitySuspectProcessor.TCRMOrganizationBObj</value>
<value>EntitySuspectProcessor.TCRMOrganizationNameBObj</value>
<value>EntitySuspectProcessor.TCRMPartyAddressBObj</value>
<value>EntitySuspectProcessor.TCRMPartyIdentificationBObj</value>
<value>EntitySuspectProcessor.TCRMPartyContactMethodBObj</value>
<value>EntitySuspectProcessor.TCRMPartyBankAccountBObj</value>
<value>EntitySuspectProcessor.TCRMPartyChargeCardBObj</value>
<value>EntitySuspectProcessor.TCRMPartyPayrollDeductionBObj</value>
<value>EntitySuspectProcessor.TCRMIncomeSourceBObj</value>
<value>EntitySuspectProcessor.TCRMFinancialProfileBObj</value>
<value>EntitySuspectProcessor.TCRMPartyLobRelationshipBObj</value>
<value>EntitySuspectProcessor.TCRMPartyCDCBObj</value>
<value>EntitySuspectProcessor.TCRMMultiplePartyCDCBObj</value>
</list>
</entry>
</service-properties>
<bean class="com.ibm.mdm.common.servicefactory.CommonServiceFactoryImpl">
<argument type="java.lang.Class" value="com.ibm.mdm.suspect.EntitySuspectProcessor"/>
<argument type="java.lang.Class"
value="com.ibm.mdm.party.suspect.component.PartySuspectProcessor" />
<argument ref="blueprintBundle"/>
</bean>
</service>In the preceding example, the list
of business objects that may contain an attribute used for determining
suspect duplicates are contained in list of service-properties. The
program that makes the determination is specified in the second argument
to the bean com.ibm.mdm.party.suspect.component.PartySuspectProcessor.
The first argument, com.ibm.mdm.suspect.EntitySuspectProcessor,
is the common interface for all suspect processors.
<service id="PartyEntity.SuspectProcessor"
interface="com.ibm.mdm.common.servicefactory.api.CommonServiceFactory" ranking="10">
<service-properties>
<entry key="common.service">
<list value-type="java.lang.String">
<value>EntitySuspectProcessor.<the BOBJ your processor will examine></value>
<value>EntitySuspectProcessor.<...></value>
</list>
</entry>
</service-properties>
<bean class="com.ibm.mdm.common.servicefactory.CommonServiceFactoryImpl">
<argument type="java.lang.Class"
value="com.ibm.mdm.suspect.EntitySuspectProcessor"/>
<argument type="java.lang.Class"
value="<the class name of the processor that does the examining>" />
<argument ref="blueprintBundle"/>
</bean>
</service>Make sure you’ve included ranking="10",
especially if you have written entity suspect processors that override
the ones provided with InfoSphere MDM out
of the box.