Question

moodys
IN
Last activity: 7 Jul 2025 7:49 EDT
Post-Upgrade Issue: Guava Method Deprecation Causing ASCII Error in Function Rule
Issue: -------
Subject: ----------- Post-Upgrade Issue: Guava Method Deprecation Causing ASCII Error in Function Rule
Issue Summary: -------------- After upgrading our application from Pega 8 to Pega 24 in December 2024, we are encountering a runtime error related to a deprecated method in the Guava library. This issue is affecting multiple function rules that rely on a shared library.
Details:
----------
Function Rule Affected: Utilities • ConvertUnicodeURLToASCII--(String)
Library Rule Used: Utilities
Error Description: While generating the Utilities library rule, an ASCII-related error is thrown. This is impacting all function rules that depend on this library.
The error message:
Issue: -------
Subject: ----------- Post-Upgrade Issue: Guava Method Deprecation Causing ASCII Error in Function Rule
Issue Summary: -------------- After upgrading our application from Pega 8 to Pega 24 in December 2024, we are encountering a runtime error related to a deprecated method in the Guava library. This issue is affecting multiple function rules that rely on a shared library.
Details:
----------
Function Rule Affected: Utilities • ConvertUnicodeURLToASCII--(String)
Library Rule Used: Utilities
Error Description: While generating the Utilities library rule, an ASCII-related error is thrown. This is impacting all function rules that depend on this library.
The error message:
Error(s) detected while generating java. Compiler reported: ---------- 1. ERROR in /com/pegarules/generated/ConvertUnicodeURLToASCII_160101__1843711252365540234.java (at line 108) boolean isAscii = com.google.common.base.CharMatcher.ASCII.matchesAllOf(url); ^^^^^ ASCII cannot be resolved or is not a field ---------- ---------- 2. ERROR in /com/pegarules/generated/ConvertUnicodeURLToASCII_170101_1564001458734046615.java (at line 108) boolean isAscii = com.google.common.base.CharMatcher.ASCII.matchesAllOf(url); ^^^^^ ASCII cannot be resolved or is not a field ---------- 2 problems (2 errors) Compile failed.
Root Cause:
--------------
The error originates from the following line of code in the ConvertUnicodeURLToASCII function:
-----"boolean isAscii = com.google.common.base.CharMatcher.ASCII.matchesAllOf(url); "
The method ASCII is no longer supported in the updated Guava package used in Pega 24. The correct method to use is:
----"boolean isAscii = com.google.common.base.CharMatcher.ascii().matchesAllOf(url); "
Impact: --------- All functions depending on the Utilities library are failing due to this error. This is a post-upgrade regression and was not present in Pega 8.
Requested Action: ------------------ We request the PEGA support team to: - Acknowledge this as a post-upgrade compatibility issue. - Update the affected function rule(s) to use the correct method ascii() instead of the deprecated ASCII. - Provide a hotfix or guidance on how to resolve this issue across all impacted rules.
Priority: High --------------- This issue is blocking critical functionality and needs urgent attention.