public T readValue(ValueFields valueFields, boolean deserializeObjectValue) { byte[] serializedByteValue = readSerializedValueFromFields(valueFields); String serializedStringValue = getSerializedStringValue(serializedByteValue); if(deserializeObjectValue) { Object deserializedObject = null; if(serializedByteValue != null) { try { deserializedObject = deserializeFromByteArray(serializedByteValue, valueFields); } catch (Exception e) { throw new ProcessEngineException("Cannot deserialize object in variable '"+valueFields.getName()+"': "+e.getMessage(), e); } } T value = createDeserializedValue(deserializedObject, serializedStringValue, valueFields); return value; } else { return createSerializedValue(serializedStringValue, valueFields); } }
public T readValue(ValueFields valueFields, boolean deserializeObjectValue) { byte[] serializedByteValue = readSerializedValueFromFields(valueFields); String serializedStringValue = getSerializedStringValue(serializedByteValue); if(deserializeObjectValue) { Object deserializedObject = null; if(serializedByteValue != null) { try { deserializedObject = deserializeFromByteArray(serializedByteValue, valueFields); } catch (Exception e) { throw new ProcessEngineException("Cannot deserialize object in variable '"+valueFields.getName()+"': "+e.getMessage(), e); } } T value = createDeserializedValue(deserializedObject, serializedStringValue, valueFields); return value; } else { return createSerializedValue(serializedStringValue, valueFields); } }
protected String getObjectTypeName(ObjectValue value, ValueFields valueFields) { String objectTypeName = value.getObjectTypeName(); if (objectTypeName == null && !value.isDeserialized() && value.getValueSerialized() != null) { throw new ProcessEngineException("Cannot write serialized value for variable '" + valueFields.getName() + "': no 'objectTypeName' provided for non-null value."); } // update type name if the object is deserialized if (value.isDeserialized() && value.getValue() != null) { objectTypeName = getTypeNameForDeserialized(value.getValue()); } return objectTypeName; }
protected String getObjectTypeName(ObjectValue value, ValueFields valueFields) { String objectTypeName = value.getObjectTypeName(); if (objectTypeName == null && !value.isDeserialized() && value.getValueSerialized() != null) { throw new ProcessEngineException("Cannot write serialized value for variable '" + valueFields.getName() + "': no 'objectTypeName' provided for non-null value."); } // update type name if the object is deserialized if (value.isDeserialized() && value.getValue() != null) { objectTypeName = getTypeNameForDeserialized(value.getValue()); } return objectTypeName; }
public void writeValue(T value, ValueFields valueFields) { String serializedStringValue = value.getValueSerialized(); byte[] serializedByteValue = null; if(value.isDeserialized()) { Object objectToSerialize = value.getValue(); if(objectToSerialize != null) { // serialize to byte array try { serializedByteValue = serializeToByteArray(objectToSerialize); serializedStringValue = getSerializedStringValue(serializedByteValue); } catch(Exception e) { throw new ProcessEngineException("Cannot serialize object in variable '"+valueFields.getName()+"': "+e.getMessage(), e); } } } else { if (serializedStringValue != null) { serializedByteValue = getSerializedBytesValue(serializedStringValue); } } // write value and type to fields. writeToValueFields(value, valueFields, serializedByteValue); // update the ObjectValue to keep it consistent with value fields. updateTypedValue(value, serializedStringValue); }
public void writeValue(T value, ValueFields valueFields) { String serializedStringValue = value.getValueSerialized(); byte[] serializedByteValue = null; if(value.isDeserialized()) { Object objectToSerialize = value.getValue(); if(objectToSerialize != null) { // serialize to byte array try { serializedByteValue = serializeToByteArray(objectToSerialize); serializedStringValue = getSerializedStringValue(serializedByteValue); } catch(Exception e) { throw new ProcessEngineException("Cannot serialize object in variable '"+valueFields.getName()+"': "+e.getMessage(), e); } } } else { if (serializedStringValue != null) { serializedByteValue = getSerializedBytesValue(serializedStringValue); } } // write value and type to fields. writeToValueFields(value, valueFields, serializedByteValue); // update the ObjectValue to keep it consistent with value fields. updateTypedValue(value, serializedStringValue); }
public T readValue(ValueFields valueFields, boolean deserializeObjectValue) { byte[] serializedByteValue = readSerializedValueFromFields(valueFields); String serializedStringValue = getSerializedStringValue(serializedByteValue); if(deserializeObjectValue) { Object deserializedObject = null; if(serializedByteValue != null) { try { deserializedObject = deserializeFromByteArray(serializedByteValue, valueFields); } catch (Exception e) { throw new ProcessEngineException("Cannot deserialize object in variable '"+valueFields.getName()+"': "+e.getMessage(), e); } } T value = createDeserializedValue(deserializedObject, serializedStringValue, valueFields); return value; } else { return createSerializedValue(serializedStringValue, valueFields); } }
protected String getObjectTypeName(ObjectValue value, ValueFields valueFields) { String objectTypeName = value.getObjectTypeName(); if (objectTypeName == null && !value.isDeserialized() && value.getValueSerialized() != null) { throw new ProcessEngineException("Cannot write serialized value for variable '" + valueFields.getName() + "': no 'objectTypeName' provided for non-null value."); } // update type name if the object is deserialized if (value.isDeserialized() && value.getValue() != null) { objectTypeName = getTypeNameForDeserialized(value.getValue()); } return objectTypeName; }
public void writeValue(T value, ValueFields valueFields) { String serializedStringValue = value.getValueSerialized(); byte[] serializedByteValue = null; if(value.isDeserialized()) { Object objectToSerialize = value.getValue(); if(objectToSerialize != null) { // serialize to byte array try { serializedByteValue = serializeToByteArray(objectToSerialize); serializedStringValue = getSerializedStringValue(serializedByteValue); } catch(Exception e) { throw new ProcessEngineException("Cannot serialize object in variable '"+valueFields.getName()+"': "+e.getMessage(), e); } } } else { if (serializedStringValue != null) { serializedByteValue = getSerializedBytesValue(serializedStringValue); } } // write value and type to fields. writeToValueFields(value, valueFields, serializedByteValue); // update the ObjectValue to keep it consistent with value fields. updateTypedValue(value, serializedStringValue); }