Production Logging
Which log message follows logging best practices in production?
A. [Method=ClaimProcess#createClaim][Claim#PublicID=00001234] was created.
B. The personal auto claim was created for Jane Smith with driver's license AD45678.
C. The claim was created successfully for: Ray Newton, email: rnewton@foo.com, vehicle: white 2022 Toyota Camry.
D. ERROR! The claim was not created because the database connection was lost.
Answer Option (Which option is correct) A. [Method=ClaimProcess#createClaim][Claim#PublicID=00001234] was created.
Explanation:
A useful production log identifies the operation and an appropriate business identifier without exposing personal details. Names, addresses, payment-card numbers, and other sensitive information should not be written as clear text. A generic alarm without identifying context is less useful for tracing the failing transaction.
Verification note: The exact option selection could not be independently verified from accessible official documentation. Relevant official topic links are provided, but some exact configuration or training rules require the product Configuration Guide or Cloud Standards behind sign-in. The source key is retained.
Why the other options are incorrect:
B. The personal auto claim was created for Jane Smith with driver's license AD45678:
The message exposes a name and driver license number. Those are sensitive personal values. A diagnostic identifier should replace them.
C. The claim was created successfully for: Ray Newton, email: rnewton@foo.com, vehicle: white 2022 Toyota Camry:
The message includes a name and email address. It also includes unnecessary vehicle details. The production log should restrict its data to justified context.
D. ERROR! The claim was not created because the database connection was lost:
The message reports a failure in broad terms. It does not identify the affected operation or record. Structured context would make the event easier to investigate.
References:
Guidewire Security - Logging sensitive information
Guidewire Security - Logging, monitoring, and audit governance
A user needs to enter a Tax ID into a field, and the application should provide feedback if the entered value does not match a specific format (e.g., nn-nnnnnnn). Which validation techniques are best practices for implementing this configuration? (Choose 2)
A. Use the regex property on the widget.
B. Perform validation in a Gosu Pre-Update rule.
C. Configure the errorMessage property on the widget.
D. Supply an inputMask property to the widget to enforce the format.
E. Configure an inputConversion property to reformat the input.
Answer Option (Which option is correct) A. Use the regex property on the widget.
Answer Option (Which option is correct) D. Supply an inputMask property to the widget to enforce the format.
Explanation:
Field-level validation is appropriate for checking the format of an individual input. A regex tests the entered value and an input mask guides its structure. Validation differs from populating related fields, converting input, or performing unrelated business updates.
Verification note: The exact option selection could not be independently verified from accessible official documentation. Relevant official topic links are provided, but some exact configuration or training rules require the product Configuration Guide or Cloud Standards behind sign-in. The source key is retained.
Why the other options are incorrect:
B. Perform validation in a Gosu Pre-Update rule:
A Pre-Update rule runs within the save lifecycle. The requirement asks for immediate field-format feedback. A widget-level format check is more direct.
C. Configure the errorMessage property on the widget:
An errorMessage supplies feedback text. It does not by itself define the valid pattern. A validation mechanism must decide when that message applies.
E. Configure an inputConversion property to reformat the input:
Input conversion transforms a value. It does not necessarily reject invalid Tax IDs. Formatting and validation serve different purposes.
References:
Guidewire product documentation - Configuration Guide access
ABCompanyVendor is an entity in the base application. An insurer needs to add a new company vendor type for auto glass shops. Which configuration fulfills the requirement and follows the best practices?
A. Add a new entity ABAutoGlassShop_Ext.eti as a subtype of ABCompanyVendor.
B. Create ABAutoGlassShop_Ext.eti and add it as an array in ABCompanyVendor.etx.
C. Add a new column AutoGlassShop_Ext in the entity extension ABCompanyVendor.etx.
D. Create ABAutoGlassShop.etx as an extension of ABCompanyVendor.
Answer Option (Which option is correct) A. Add a new entity ABAutoGlassShop_Ext.eti as a subtype of ABCompanyVendor.
Explanation:
A specialized contact should be represented as a subtype of the closest applicable existing entity. The subtype inherits the common fields and adds only the fields specific to that contact kind. A scalar flag or a separately linked entity does not provide the same inheritance relationship.
Why the other options are incorrect:
B. Create ABAutoGlassShop_Ext.eti and add it as an array in ABCompanyVendor.etx:
An array relates a vendor to other records. It does not make an auto-glass contact inherit vendor behavior. The requested relationship is subtype inheritance.
C. Add a new column AutoGlassShop_Ext in the entity extension ABCompanyVendor.etx:
A column adds a value to existing vendor records. It does not create a specialized vendor entity. Subtype-specific fields need their own subtype.
D. Create ABAutoGlassShop.etx as an extension of ABCompanyVendor:
An etx file extends an existing definition. It does not define the new auto-glass subtype. The source uses a custom eti entity.
References:
Guidewire - Custom entity and subtype data model examples
An insurer needs to define a new Typecode on an existing base application Typelist. Which actions follow best practices for implementing this requirement in Guidewire InsuranceSuite? (Choose 2)
A. Create a new standalone Typelist with the new category.
B. Modify the typelist's .java file so that the new Typecode is added in the Typelist's definition file.
C. Define the new Typecode within the base Typelist's .ttx file.
D. Define the new Typecode within the base Typelist's .tti file.
E. Create an extension file (.ttx) if it does not already exist.
Answer Option (Which option is correct) C. Define the new Typecode within the base Typelist's .ttx file.
Answer Option (Which option is correct) E. Create an extension file (.ttx) if it does not already exist.
Explanation:
An existing typelist is extended through its .ttx file, creating that extension file when necessary. A new standalone typelist uses .tti instead. Updating the delivered .tti file or generated Java code is not the extension mechanism.
Verification note: The exact option selection could not be independently verified from accessible official documentation. Relevant official topic links are provided, but some exact configuration or training rules require the product Configuration Guide or Cloud Standards behind sign-in. The source key is retained.
Why the other options are incorrect:
A. Create a new standalone Typelist with the new category:
A standalone list creates a separate classification. The requirement adds a code to an existing list. That existing typelist must be extended.
B. Modify the typelist's .java file so that the new Typecode is added in the Typelist's definition file:
Generated Java is not the typelist source definition. Regeneration can overwrite such edits. The configuration belongs in typelist metadata.
D. Define the new Typecode within the base Typelist's .tti file:
Editing the base tti changes delivered content. An extension provides a separate customization layer. The selected approach uses ttx metadata.
References:
Guidewire - Typelist definition file kinds
Guidewire Cloud Standards - Sign-in required
The results of a Guidewire Profiler analysis on a web page showed a large unaccounted-for time. The developer cannot identify which block of code is taking up so much time by examining the profiler output. Which approach can help to account for the large time spent and improve reading of the profiler output?
A. Identify the PCF file name in the profiler output.
B. Print out the timestamp before and after the code blocks.
C. Surround the blocks of code with profiler tags.
D. Create a function to calculate processing time in the class.
Answer Option (Which option is correct) C. Surround the blocks of code with profiler tags.
Explanation:
Profiler tags divide custom processing into named timed sections. Adding tags around the suspected code makes otherwise unaccounted-for own time easier to attribute. Timestamps and ordinary logging do not add those named sections to the profiler result.
Verification note: The exact option selection could not be independently verified from accessible official documentation. Relevant official topic links are provided, but some exact configuration or training rules require the product Configuration Guide or Cloud Standards behind sign-in. The source key is retained.
Why the other options are incorrect:
A. Identify the PCF file name in the profiler output:
A PCF name identifies the page configuration. It does not divide custom execution into timed sections. Profiler tags provide that missing attribution.
B. Print out the timestamp before and after the code blocks:
Printed timestamps create separate output. They do not add named frames to the profiler tree. Instrument the code within the profiler instead.
D. Create a function to calculate processing time in the class:
A custom elapsed-time function measures outside the existing profiler structure. Its result does not automatically identify profiler own time. Named tags connect timing to the analyzed stack.
References:
Guidewire-authored PolicyCenter 10.1.2 - Web and entry-point profilers
This code sample performs poorly due to the use of dot notation with multiple array expansions: var lineItems = Claim.Exposures*.Transactions*.LineItems. What is the recommended best practice to improve the performance of this code?
A. Rewrite the code with a nested for loop to retrieve the results
B. Break the code into multiple gosu queries to retrieve the results for each array
C. Write a query that fetches the addresses into a collection then uses where() to filter the results
D. Replace the dot notation syntax in the code with ArrayLoader syntax
Answer Option (Which option is correct) D. Replace the dot notation syntax in the code with ArrayLoader syntax
Explanation:
Expanding multiple entity arrays can materialize many intermediate objects and trigger additional database reads. Review the relationship traversal and use a deliberate iteration or database-query strategy suited to the data volume. The supplied answer key is retained where the source chooses a particular traversal strategy.
Verification note: The source selects ArrayLoader for multiple array expansion but does not define the required API or implementation. Its relationship to the traversal advice in Q22 and Q138 needs review.
Why the other options are incorrect:
A. Rewrite the code with a nested for loop to retrieve the results:
Nested iteration can avoid intermediate expansion arrays. It may be a reasonable alternative for some relationship paths. The source supplies no evidence excluding it in favor of ArrayLoader.
B. Break the code into multiple gosu queries to retrieve the results for each array:
Separate queries may reduce unnecessary entity traversal. Their efficiency depends on their predicates and joins. The question does not specify enough implementation detail to reject this approach confidently.
C. Write a query that fetches the addresses into a collection then uses where() to filter the results:
The proposed query concerns addresses rather than line items. It also filters a retrieved collection with where. That does not directly solve the displayed line-item traversal.
References:
Gosu language project - Operators, loops, functions, and properties
Guidewire - Query-backed collections and buildBaseQuery
The following Gosu statement is the Action part of a validation rule: It produces the following compilation error: Gosu compiler: Wrong number of arguments to function rejectField(java.lang.String, typekey.ValidationLevel, java.lang.String, typekey.ValidationLevel, java.lang.String). Expected 5, got 3 What needs to be added to or deleted from the statement to clear the error?
Visual content transcription:
claim.rejectField("State", TC_PAYMENT, DisplayKey.get("Rules.Validation.Claim.NotInDraft", null, null)
A. The two nulls must be replaced with a typekey and a string
B. A left parenthesis must be deleted
C. The word 'State' must be replaced with a DisplayKey
D. A right parenthesis must be added.
Answer Option (Which option is correct) A. The two nulls must be replaced with a typekey and a string
Explanation:
The displayed rejectField call supplies only three outer arguments because the two null values are inside DisplayKey.get. The compiler expects five arguments to rejectField. The parameter grouping and the outer call must be reviewed; merely changing the values inside DisplayKey.get does not by itself resolve the reported argument count.
Verification note: The screenshot puts the null values inside DisplayKey.get. Replacing them does not change rejectField from three outer arguments to five. The supplied key is not a confident compiler fix. The screenshot also shows only one closing parenthesis; its transcription preserves that incomplete expression.
Why the other options are incorrect:
B. A left parenthesis must be deleted:
Removing a parenthesis changes the grouping of arguments. That may also leave the expression syntactically invalid. The five-argument outer signature must be checked explicitly.
C. The word 'State' must be replaced with a DisplayKey:
State identifies the field being rejected. A display key supplies message text instead. Changing the field name does not repair the outer argument count.
D. A right parenthesis must be added:
The compiler complaint concerns missing outer arguments. Another closing parenthesis does not supply those values. Compare the entire call with the documented rejectField signature.
References:
Guidewire-authored PolicyCenter 10.1.2 - Rules and validation signatures
Gosu language project - Operators, loops, functions, and properties
An insurer has identified a new requirement for company vendor contacts in ContactManager. If the Preferred Vendor? field is set to Yes, display the new BBB Rating (Better Business Bureau) field. Which two configuration changes will satisfy this requirement? (Select two)
Visual content transcription:
Preferred Vendor? has Yes selected; BBB Rating is A. Business License appears below.
A. Call a gosu expression from the PostOnChange onChange property to set the value of the BBB Rating field
B. Enable the Post On Change property for the Preferred Vendor? field
C. Set the visible property of the BBB Rating field to true when the Preferred Vendor? field is Yes
D. Enable the Post On Change property for the BBB Rating field
E. Set the editable property of the BBB Rating field to true when the Preferred Vendor? field is No
Answer Option (Which option is correct) B. Enable the Post On Change property for the Preferred Vendor? field
Answer Option (Which option is correct) C. Set the visible property of the BBB Rating field to true when the Preferred Vendor? field is Yes
Explanation:
Post On Change on the controlling input sends its changed value to the server and allows dependent widgets to be refreshed. The dependent field then evaluates its visibility or displayed value using the new controlling value. A validation expression or a save-time rule does not provide that immediate refresh behavior.
Verification note: The exact option selection could not be independently verified from accessible official documentation. Relevant official topic links are provided, but some exact configuration or training rules require the product Configuration Guide or Cloud Standards behind sign-in. The source key is retained.
Why the other options are incorrect:
A. Call a gosu expression from the PostOnChange onChange property to set the value of the BBB Rating field:
The requirement concerns showing the rating field. It does not ask to assign a new rating value. An onChange assignment alone does not define visibility.
D. Enable the Post On Change property for the BBB Rating field:
The controlling value is Preferred Vendor. Refreshing only when BBB Rating changes uses the wrong trigger. The vendor input must initiate the dependent update.
E. Set the editable property of the BBB Rating field to true when the Preferred Vendor? field is No:
Editable controls whether a value can be changed. It does not determine whether the rating field is shown. The condition also refers to No rather than the requested Yes.
References:
Guidewire product documentation - Configuration Guide access
The sources describe different types of deployment strategies for InsuranceSuite applications. What are characteristics of a selective deployment?
A. It is primarily used for deploying builds to production star systems.
B. It always involves a database restore from production.
C. It requires deploying all InsuranceSuite and EnterpriseEngage applications simultaneously.
D. It is the only strategy that supports rolling updates.
E. It allows deployment of only the selected InsuranceSuite applications.
Answer Option (Which option is correct) E. It allows deployment of only the selected InsuranceSuite applications.
Explanation:
A selective deployment targets only the chosen InsuranceSuite applications. It does not, by definition, require every application to be deployed together, and selection alone does not imply a production database restore or exclusive support for rolling updates.
Why the other options are incorrect:
A. It is primarily used for deploying builds to production star systems:
Selective deployment is also available outside production. Its definition concerns which apps are targeted. Production use is not its defining characteristic.
B. It always involves a database restore from production:
The documented selective-deployment flow does not require a database restore. The deployment table distinguishes it from database-drop workflows. The word always makes this claim too broad.
C. It requires deploying all InsuranceSuite and EnterpriseEngage applications simultaneously:
Deploying every app describes an all-app deployment. Selective deployment chooses a subset. Requiring all apps contradicts that selection.
D. It is the only strategy that supports rolling updates:
The choice of targeted apps does not define an exclusive rolling-update capability. Other deployment modes have their own availability characteristics. The source gives no basis for the only-strategy claim.
References:
Guidewire - Selective InsuranceSuite deployment
This sample code uses array expansion with dot notation and has performance issues: What best practice is recommended to resolve the performance issues?
Visual content transcription:
var isOnAccountWithLinkContacts = this.Contact.AccountContacts*.Contact
.AccountContact*.Account
.where(\ a -> a.LinkContacts).count() > 1
A. Rewrite the code to use a nested for loop
B. Break the code into multiple queries to process each array
C. Replace the .where clause with a .compare function
D. Replace the dot notation syntax with ArrayLoader syntax
Answer Option (Which option is correct) A. Rewrite the code to use a nested for loop
Explanation:
Expanding multiple entity arrays can materialize many intermediate objects and trigger additional database reads. Review the relationship traversal and use a deliberate iteration or database-query strategy suited to the data volume. The supplied answer key is retained where the source chooses a particular traversal strategy.
Verification note: The exact option selection could not be independently verified from accessible official documentation. Relevant official topic links are provided, but some exact configuration or training rules require the product Configuration Guide or Cloud Standards behind sign-in. The source key is retained.
Why the other options are incorrect:
B. Break the code into multiple queries to process each array:
Multiple queries could change the number of database requests. The best result depends on their actual predicates. The screenshot does not provide that alternative implementation.
C. Replace the .where clause with a .compare function:
compare operates on a database query rather than any arbitrary expanded collection. Changing the method name alone is not a complete rewrite. The entity traversal must also be reconsidered.
D. Replace the dot notation syntax with ArrayLoader syntax:
The source does not show a concrete ArrayLoader implementation. It selects nested iteration instead. The inconsistent recommendation in Q18 warrants review.
References:
Gosu language project - Operators, loops, functions, and properties
Guidewire - Query-backed collections and buildBaseQuery
An insurer wants to prevent US phone numbers from containing the string "555" in the prefix (digits 4-6). In addition to a test for country, which validation expression will accomplish this?
A. ((phoneOwner.PhoneFields.NationalSubscriberNumber[4..6] as String) == '555') ? DisplayKey.get("BadPhoneNumber") : true
B. ((phoneOwner.PhoneFields.NationalSubscriberNumber as String).contains('555')) ? DisplayKey.get("BadPhoneNumber") : null
C. ((phoneOwner.PhoneFields.NationalSubscriberNumber[3..5] as String).equals('555')) ? DisplayKey.get("BadPhoneNumber") : null
D. (phoneOwner.PhoneFields.NationalSubscriberNumber[3..5].equals('555')) ? DisplayKey.get("BadPhoneNumber") : true
Answer Option (Which option is correct) C. ((phoneOwner.PhoneFields.NationalSubscriberNumber[3..5] as String).equals('555')) ? DisplayKey.get("BadPhoneNumber") : null
Explanation:
Digits four through six correspond to zero-based positions three through five. The expression must test that precise substring rather than search the entire phone number. The source-selected expression returns a display-key error message on failure and null when the value passes the check.
Verification note: The exact option selection could not be independently verified from accessible official documentation. Relevant official topic links are provided, but some exact configuration or training rules require the product Configuration Guide or Cloud Standards behind sign-in. The source key is retained.
Why the other options are incorrect:
A. ((phoneOwner.PhoneFields.NationalSubscriberNumber[4..6] as String) == '555') ? DisplayKey.get("BadPhoneNumber") : true:
The range starts at index four instead of three. That shifts the checked substring by one digit. It also returns true instead of the source-selected successful null.
B. ((phoneOwner.PhoneFields.NationalSubscriberNumber as String).contains('555')) ? DisplayKey.get("BadPhoneNumber") : null:
contains searches the entire subscriber number. It can reject 555 outside the prohibited prefix. The requirement is limited to digits four through six.
D. (phoneOwner.PhoneFields.NationalSubscriberNumber[3..5].equals('555')) ? DisplayKey.get("BadPhoneNumber") : true:
The positions target the requested prefix. The success branch differs from the selected validation contract. That return value must match what the widget expects.
References:
Guidewire-authored PolicyCenter 10.1.2 - Rules and validation signatures
Gosu language project - Operators, loops, functions, and properties
There is a requirement to add fields specific to Auto Rental Agencies. The additional fields required are; Auto Rental License, Offers Roadside Assistance, and Offers Insurance. Other fields will come from the existing ABCompanyVendor entity. For reference, the diagram below shows the ABCompany subtype of the ABContact entity: How should this requirement be configured following best practices?
Visual content transcription:
ABContact company subtypes shown: ABCompany, ABCompanyVendor, ABAutoRepairShop, ABAutoTowingAgcy, ABLawFirm, ABMedicalCareOrg, ABPolicyCompany.
A. Create ABAutoRentalAgency.Ext as a subtype of ABCompanyVendor and add the three fields to the subtype
B. Create ABAutoRentalAgency.Ext as a subtype of ABCompany and add the three fields to the subtype
C. Create a custom entity ABAutoRentalAgency_Ext and add the three fields to this entity
D. Create three new fields to extend the existing ABCompanyVendor subtype
Answer Option (Which option is correct) A. Create ABAutoRentalAgency.Ext as a subtype of ABCompanyVendor and add the three fields to the subtype
Explanation:
A specialized contact should be represented as a subtype of the closest applicable existing entity. The subtype inherits the common fields and adds only the fields specific to that contact kind. A scalar flag or a separately linked entity does not provide the same inheritance relationship.
Why the other options are incorrect:
B. Create ABAutoRentalAgency.Ext as a subtype of ABCompany and add the three fields to the subtype:
ABCompany is broader than ABCompanyVendor. The requirement says vendor fields must be inherited. Using the nearest vendor parent preserves that specialization.
C. Create a custom entity ABAutoRentalAgency_Ext and add the three fields to this entity:
A separate custom entity does not specify subtype inheritance. The vendor fields would not follow automatically. The relationship to ABCompanyVendor must be explicit.
D. Create three new fields to extend the existing ABCompanyVendor subtype:
Adding fields to every company vendor affects unrelated vendor types. The new properties apply specifically to rental agencies. A rental-agency subtype keeps them scoped to that type.
References:
Guidewire - Custom entity and subtype data model examples
| Page 2 out of 13 Pages |
| 1234 |
| InsuranceSuite-Developer Practice Test Home |
Real-World Scenario Mastery: Our InsuranceSuite-Developer practice exam don't just test definitions. They present you with the same complex, scenario-based problems you'll encounter on the actual exam.
Strategic Weakness Identification: Each practice session reveals exactly where you stand. Discover which domains need more attention, before Associate Certification - InsuranceSuite Developer - Mammoth Proctored Exam exam day arrives.
Confidence Through Familiarity: There's no substitute for knowing what to expect. When you've worked through our comprehensive InsuranceSuite-Developer practice exam questions pool covering all topics, the real exam feels like just another practice session.