search cancel

GEL Script failing after v16.0 upgrade

book

Article ID: 228837

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

Since the upgrade to v16 from v15, the process is failing with the below error message

BPM-0704: An error occurred while executing custom script: org.apache.commons.jelly.JellyTagException: null:335:104: <core:invokeStatic> Could not load class: org.apache.cxf.helpers.IOUtils. Reason: java.lang.ClassNotFoundException: org.apache.cxf.helpers.IOUtils at org.apache.commons.jelly.tags.core.InvokeStaticTag.createLoadClassFailedException(InvokeStaticTag.java:178) at org.apache.commons.jelly.tags.core.InvokeStaticTag.doTag(InvokeStaticTag.java:137) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:248) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.

Resolution

This is an issue with the GEL script - specifically with this below piece of code. 

 <core:choose>
    <core:when test="${ppmVersion.startsWith('15')}">
      <core:set value="org.apache.commons.io.IOUtils" var="utilClassName"/>
    </core:when>
    <core:otherwise>
      <core:set value="org.apache.cxf.helpers.IOUtils" var="utilClassName"/>
    </core:otherwise>
  </core:choose>

Since the ppmVersion starts with 16 now, the code goes to the else block and initializes utilClassName to org.apache.cxf.helpers.IOUtils while in 15.9.3 it got initialized to org.apache.commons.io.IOUtils. org.apache.commons.io.IOUtils is available in 16.0.0 and the script developers should fix the highlighted line to fix the issue.