Verifying system tables
No two system table files can have the same
entity types in them. PolicyCenter loads system tables, unlike other
product model entities, into a single database table. Therefore, if the
same entity exists in more than one system table, an IllegalStateException occurs at
system startup.
If you use Studio to change entity definitions and those entities reference system tables, Product Designer does not validate the changes for consistency. To validate system tables, do one of the following:
- Start the PolicyCenter development instance in which you have made the changes.
- Run the command-line validator
gwb verifyResources.
PolicyCenter can be configured to verify other system table data consistency rules. You can do this configuration by using the Verifier parameter to add a verifier class to the system table definition in systables.xml. For example:
<FileDefinition Name="cancelrefund.xml" Priority="0">
<Entity Type="CancelRefund" Verifier="gw.systable.verifier.CancelRefundVerifier"/>
You then must write a Verifier class that implements
the Verifier interface.
Include a single method named verify()
in the class. In the base configuration, verifiers are defined for many
common data consistency checks in the system tables, such as:
- All
PublicIDvalues are valid. - The end effective date is later than the start effective date for each row.
- Effective dates on multiple rows do not overlap in system class code and industry code system tables.
- Unique indexes defined for the system table entity are unique.
