[
http://jira.jboss.com/jira/browse/JBPM-1024?page=comments#action_12415097 ]
Alejandro Guizar commented on JBPM-1024:
----------------------------------------
We could change Converter.revert(Object value) to take not only the value, but the
VariableInstance itself. The VariableInstance has a reference to the storing token.
In fact, this issue has been already addressed in CVS head:
if (converter instanceof SerializableToByteArrayConverter) {
converter = (SerializableToByteArrayConverter) converter;
SerializableToByteArrayConverter serializableToByteArrayConverter =
(SerializableToByteArrayConverter) converter;
serializableToByteArrayConverter.setProcessInstance(this.getProcessInstance());
if(this.getProcessInstance() != null) {
value = serializableToByteArrayConverter.revert(value, this
.getProcessInstance());
}
else {
value = serializableToByteArrayConverter.revert(value);
}
}
else {
value = converter.revert(value);
}
I consider the above "fix" very inelegant, tough.
Serializable variables are not being deserialized when retrieved from
process
-----------------------------------------------------------------------------
Key: JBPM-1024
URL:
http://jira.jboss.com/jira/browse/JBPM-1024
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM 3.1.4
Reporter: thilker
Assigned To: Tom Baeyens
Storing an serializable object in a process should write an "R" in the column
"converter" in table JBPM_VARIABLEINSTANCE.
But the value of the field is "null".
The cause:
The converter ID is retrieved in class org.jbpm.db.hibernate.Converter at line 63.
For the case of the SerializableToByteArrayConverter the ID is "null".
Regards,
Thorsten
--
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