Changes to Gosu code that accesses Java API version 7.0 types
The Guidewire Java API version 7.0 remains deprecated but available. While your legacy code works in this release, Guidewire strongly recommends that you upgrade your Java code to use the version 9.0 API to avoid future upgrade issues.
Additionally, any Gosu code that accessed Java code that used the Java API version 7.0 was upgraded automatically to accommodate different default behavior. The result of the automatic upgrade is the same run time behavior as in 7.0 and 8.0.
In previous releases, PolicyCenter had two implicit behaviors when calling Java code that used the Java API version 7.0:
- For function arguments or return values, Gosu implicitly converted entity types to the external entities through a proxy.
- For function arguments or return values, Gosu implicitly cloned any collections.
Both behaviors no longer occur, so any code that used the Java API version 7.0 requires explicit conversion of entity types and explicit collection cloning. For existing code that you have not yet converted to Java API version 9.0, an automatic upgrade step converts any affected function calls. Your code is replaced by code that does those actions explicitly rather than implicitly. Although the code may be harder to read after conversion, the run time behavior is the same as in version 7.0 and 8.0. If you need to modify your code, Guidewire recommends upgrading your code to use the Java API version 9.0.
The configuration upgrade tools find all
method calls to libraries and classes in the plugin directories that
indicate the Guidewire Java API version 7.0. These method calls correspond
to method calls on Java types that were defined in Java classes and libraries
within plugin directories with paths that do not include /basic/.
The directories that trigger the code upgrade are:
PolicyCenter/modules/configuration/plugins/PLUGIN_DIR/libPolicyCenter/modules/configuration/plugins/PLUGIN_DIR/classes
The PLUGIN_DIR
value represents a plugin directory as specified for that plugin implementation
in the Studio Plugins editor. For use with general Gosu code not associated
with a plugin, PLUGIN_DIR
has the value Gosu. For
code that applies to multiple plugin directories, PLUGIN_DIR has the value shared.
For any Gosu code that calls methods on those types, any Gosu in Studio is upgraded automatically.
After the upgrade to version 9.0 is complete,
there is no behavior difference between the plugin directory subdirectory
that has /basic/ in the
path. See Changed location for Java plugin directories for non-osgi Java code.
