IFindDuplicatesPlugin plugin interface
The FindDuplicatesPlugin plugin implementation implements the IFindDuplicatesPlugin plugin interface in Gosu and is available in Guidewire Studio™ for ContactManager. To view or edit the plugin implementation, start ContactManager Studio. Then, in the Project window, navigate to and then to gw.plugin.contact.findduplicates.FindDuplicatesPlugin.
The plugin attempts to find exact and potential matches for the subtype of ABContact that is passed to it. If no duplicate finder exists for the subtype, the plugin traverses the ABContact tree to find the closest parent type it can use in the search.
The plugin uses a set of duplicate finder classes, which define potential and exact match logic for a set of ABContact subtypes. The plugin sets up the duplicate finder classes in two Map definitions:
static final var WIDE_MAP : Map<typekey.ABContact,
Type<DuplicateFinderBase>> = {
typekey.ABContact.TC_ABCOMPANY ->
CompanyDuplicateFinder<ABCompany>,
typekey.ABContact.TC_ABPERSON ->
PersonDuplicateFinder<ABPerson>,
typekey.ABContact.TC_ABPLACE ->
PlaceDuplicateFinder
}
static final var DEFAULT_MAP : Map<typekey.ABContact,
Type<DuplicateFinderBase>> = {
typekey.ABContact.TC_ABCOMPANYVENDOR ->
CompanyDuplicateFinder<ABCompanyVendor>,
typekey.ABContact.TC_ABCOMPANY ->
CompanyDuplicateFinder<ABCompany>,
typekey.ABContact.TC_ABPERSONVENDOR ->
PersonVendorDuplicateFinder,
typekey.ABContact.TC_ABUSERCONTACT ->
UserDuplicateFinder,
typekey.ABContact.TC_ABPERSON ->
PersonDuplicateFinder<ABPerson>,
typekey.ABContact.TC_ABPLACE ->
PlaceDuplicateFinder
}
These two Map definitions are likely to be the only area of the plugin itself that you need to edit. For example, if you add a duplicate finder class for the ABAttorney subtype, you could add a typekey definition for that class to the DEFAULT_MAP definition. You do not have to add a map definition for any subtype, even a subtype extension that you create. Because the plugin traverses the ABContact tree to find the nearest parent type, any subtype of ABContact already has matching logic defined for it. Add a duplicate finder class only if you need special matching logic for a subtype.
The WIDE_MAP definition is used by the ContactManager batch process Duplicate Contact Finder in the configuration parameter DuplicateContactsWideSearch. Additionally, it is used in contact linking calls from ClaimCenter.
See also
