Code identifier necessary changes
Your implementation requires
changes if you explicitly reference PublicID
in product model objects. This is necessary when you directly access
product model objects from the database. Use the getByCodeIdentifier or getByPublicID methods.
Some areas where you may need to make changes are:
- Product model scripts
- Gosu code
- System tables
- Product model web services
Product Model Scripts and Gosu Code
In guided editing, Studio
displays the generated type, which is the value of CodeIdentifier. However, some
code, such as getters for product model pattern lookup which evaluate
each pattern in turn, must access the patterns by CodeIdentifier or PublicID. When accessing these
identifiers, always use the getByCodeIdentifier
or getByPublicId methods.
For example:
schedPropCov = ClausePatternLookup.getCoveragePatternByCodeIdentifier("PATowingLaborCov")
or:
newVehicle.createCoverage(ClausePatternLookup.getCoveragePatternByPublicID("PATowingLaborCov"))System Tables
If a new system table has
a Code column that references
a product model pattern, Guidewire recommends that you use CodeIdentifier instead of PublicID.
How to work going forward
with existing system tables depends on how those system tables are utilized.
Most system tables with data columns that reference product model patterns
generally referenced the code of the product model pattern. That code
was previously mapped to PublicId,
but now maps to CodeIdentifier.
Ideally, you can continue to use code when entering data about new product
model patterns. However, in order to do so, you must review how those
system tables are utilized within PolicyCenter, in particular in system
table verification and other Gosu code. If the system tables are accessed
explicitly using PublicId
you must do one of the following:
- Change the access
in PolicyCenter to use
CodeIdentifierinstead ofPublicID. - Enter
PublicIDdirectly into the system table. However, unlikeCodeIdentifier, thePublicIDfor newly created patterns is not human readable.
The first method is recommended, but you can use the second if the first is not possible.
If the existing system table
only utilizes Policy or
PolicyLine codes, nothing
needs to be changed since CodeIdentifier
and PublicID are the same
for them.
PublicID and CodeIdentifier will always be
the same, so all methods will work for them.Product Model Web Services
Generally speaking, it is
best to identify product model objects using the property CodeIdentifier not PublicID. ProductModelAPI web service primarily
identifies product model objects using the property PublicID. From an external system,
you can get the PublicId
for a product model object by calling the ProductModelAPI web service method
getPublicIdForCodeIdentifier.
If you develop your own web
services that manipulate product model types, Guidewire recommends using
the property CodeIdentifier
(not PublicID) for arguments
and return values.
