Policy difference and comparison customization

Comparing and copying policies and other entity instances in the policy graph are important tasks in policy management. If PolicyCenter cannot determine correctly whether two items in the database are actually the same item in the real world, you risk creating duplicate items or merging two different items. If you create new entity types that relate to real-wold items, Guidewire recommends that you develop classes to compare and copy instances of these types. These classes are called matcher and copier classes respectively. You must test these classes rigorously during your configuration of PolicyCenter so that you can resolve problems in your implementations before PolicyCenter is in production. Similarly, if you make changes to entity types that exist in the base configuration of PolicyCenter, you must review the matcher and copier classes for those entity types. If necessary, you can extend the existing matcher and copier classes so that they include your new fields or behavior.

PolicyCenter compares two policy branches for many reasons. A branch is a snapshot of a policy at a specific model time for a specific logical policy period. For example, PolicyCenter compares two branches to show what changed in a policy change job or to compare differences in a multiple-version quote. You can modify the underlying logic that determines the differences between two policy branches. You can also change the appearance of policy differences in the PolicyCenter user interface.

The base configuration of PolicyCenter includes a reference implementation of the policy difference plugin in gw.plugin.diff.impl.PolicyPeriodDiffPlugin. You modify this class or implement your own class to customize the comparison of policy branches.

PolicyCenter provides API classes for comparison of policy branches in the gw.api.diff package and implementations of abstract classes that you can customize in the gw.api.diff.impl package.