| Summary: | NullPointerException in jbpm-console when viewing running process | ||
|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise SOA Platform 5 | Reporter: | Jaroslaw Kijanowski <kijanowski> |
| Component: | Documentation, JBPM - within SOA, Monitoring and Management, JBPM - standalone | Assignee: | Alejandro Guizar <alex.guizar> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 5.0.2, 5.0.0 ER5 | CC: | dlesage |
| Target Milestone: | --- | ||
| Target Release: | 5.0.2 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | http://jira.jboss.org/jira/browse/SOA-1709 | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2010-07-12 17:15:16 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | 779202 | ||
| Bug Blocks: | |||
|
Description
Jaroslaw Kijanowski
2009-12-11 13:09:39 UTC
Link: Added: This issue depends SOA-1596 I have added the following draft text to the release notes:
If you try to view running process instances through the jBPM Console, a ServletException
will occur. This happens when process definitions use <fork> with <state>, <task> or <node
async="true">.
To workaround this issue, open the jbpm-console.war/app/t_tokens.xhtml and change
<gd:sort source="#{token.availableTransitions}" target="#{transitions}"
entryVar="e" argument="#{e.name}"/>
to
<gd:sort if="#{! empty token.availableTransitions}"
source="#{token.availableTransitions}" target="#{transitions}"
entryVar="e" argument="#{e.name == null ? '' : e.name}"/>.
I have documented this as per the above but can we please have a little bit more information as to what the workaround actually does - ie, how does it work and does it have any impact on functionality? The Release Notes will be more useful for our users with this extra information. Thanks, David This workaround is provided by Sara RodrÃÂguez Dorrego (http://www.jboss.org/index.html?module=bb&op=viewtopic&t=151429) It eliminates the possibility of NullPointerException by - [if="#{! empty token.availableTransitions}"] -- don't render if there is no available transition - [argument="#{e.name == null ? '' : e.name}"] -- use empty strings if transition name is null I believe there is no drawback on functionality. Thank you, Toshiya, for this information. Much appreciated. David Affects: Added: [Documentation (Ref Guide, User Guide, etc.), Release Notes] The issue was documented in 5.0 - can we safely fix it in 5.0.2? The documentation part of this issue is fine but we are still missing the fix in SOA-P 5.0.2. There is just half of the workaround implemented and the following part is not present:
- [if="#{! empty token.availableTransitions}"] -- don't render if there is no available transition
Workaround: Added: [Workaround Exists] Link: Added: This issue incorporates JBPM-1930 Reopened JBPM-1930 to incorporate the suggestion of not sorting if there are no available transitions. Resolved JBPM-1930: available transition set is no longer sorted if it is empty. Deployed jsf-console-3.2.0 to the jboss release repo. Verified to be resolved in 5.0.2, CR3 build:
jboss-soa-p.5.0.0/jboss-as/server/production/deploy/jbpm.esb/jbpm-console.war/app/t_tokens.xhtml
155 <gd:sort if="#{! empty token.availableTransitions}"
156 source="#{token.availableTransitions}" target="#{transitions}"
157 entryVar="t" argument="#{t.name != null ? t.name : ''}"/>
==============================================================
The fix was made in CR2 and CR3:
diff /opt/local/502_CR1/jboss-soa-p.5.0.0/jboss-as/server/production/deploy/jbpm.esb/jbpm-console.war/app/t_tokens.xhtml /opt/local/502_CR3_signed/jboss-soa-p.5.0.0/jboss-as/server/production/deploy/jbpm.esb/jbpm-console.war/app/t_tokens.xhtml
155c155,156
< <gd:sort source="#{token.availableTransitions}" target="#{transitions}"
---
> <gd:sort if="#{! empty token.availableTransitions}"
> source="#{token.availableTransitions}" target="#{transitions}"
|