[jboss-jira] [JBoss JIRA] Closed: (JBPM-964) NullPointerException in ContextInstance.setVariable(java.lang.String name, java.lang.Object value) method.
Tom Baeyens (JIRA)
jira-events at lists.jboss.org
Fri Jun 1 08:13:08 EDT 2007
[ http://jira.jboss.com/jira/browse/JBPM-964?page=all ]
Tom Baeyens closed JBPM-964.
----------------------------
Fix Version/s: jBPM jPDL 3.2.1
Resolution: Done
fixed
> NullPointerException in ContextInstance.setVariable(java.lang.String name, java.lang.Object value) method.
> ----------------------------------------------------------------------------------------------------------
>
> Key: JBPM-964
> URL: http://jira.jboss.com/jira/browse/JBPM-964
> Project: JBoss jBPM
> Issue Type: Bug
> Components: Core Engine
> Affects Versions: jBPM jPDL 3.2
> Environment: Windows XP SP2, jbpm-jpdl-3.2.GA
> Reporter: Vt Ysh
> Assigned To: Tom Baeyens
> Priority: Trivial
> Fix For: jBPM jPDL 3.2.1
>
>
> NullPointerException occurs when trying to set variable value of byte[] type in ContextInstance. Error happens only in one case, then value is not null and has zero length
> Here is a junit TestCase which represents an error
> import junit.framework.TestCase;
> import org.jbpm.context.exe.ContextInstance;
> import org.jbpm.graph.def.ProcessDefinition;
> import org.jbpm.graph.exe.ProcessInstance;
> public class ContextTest extends TestCase {
> public void testContext() {
> ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
> "<process-definition>" +
> " <start-state>" +
> " <transition to='s' />" +
> " </start-state>" +
> " <state name='s'>" +
> " <transition to='end' />" +
> " </state>" +
> " <end-state name='end' />" +
> "</process-definition>"
> );
> ProcessInstance processInstance =
> new ProcessInstance(processDefinition);
> ContextInstance contextInstance =
> processInstance.getContextInstance();
> try
> {
> contextInstance.setVariable("test", new byte[0]);
> fail("Should raise NullPointer exception");
> }catch(NullPointerException e)
> {
> e.printStackTrace();
> }
> processInstance.signal();
> }
> }
> Console output:
> java.lang.NullPointerException
> at java.util.ArrayList.<init>(ArrayList.java:133)
> at org.jbpm.bytes.ByteArray.<init>(ByteArray.java:60)
> at org.jbpm.context.log.variableinstance.ByteArrayUpdateLog.<init>(ByteArrayUpdateLog.java:41)
> at org.jbpm.context.exe.variableinstance.ByteArrayInstance.setObject(ByteArrayInstance.java:44)
> at org.jbpm.context.exe.VariableInstance.setValue(VariableInstance.java:137)
> at org.jbpm.context.exe.VariableInstance.create(VariableInstance.java:74)
> at org.jbpm.context.exe.VariableContainer.setVariableLocally(VariableContainer.java:157)
> at org.jbpm.context.exe.VariableContainer.setVariable(VariableContainer.java:45)
> at org.jbpm.context.exe.ContextInstance.setVariable(ContextInstance.java:166)
> at org.jbpm.context.exe.ContextInstance.setVariable(ContextInstance.java:156)
> ...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list