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 static void fromTypedValue(VariableValueDto dto, TypedValue typedValue, boolean preferSerializedValue) { ValueType type = typedValue.getType(); if (type != null) { String typeName = type.getName(); dto.setType(toRestApiTypeName(typeName)); dto.setValueInfo(type.getValueInfo(typedValue)); } if(typedValue instanceof SerializableValue) { SerializableValue serializableValue = (SerializableValue) typedValue; if(serializableValue.isDeserialized() && !preferSerializedValue) { dto.setValue(serializableValue.getValue()); } else { dto.setValue(serializableValue.getValueSerialized()); } } else if(typedValue instanceof FileValue){ //do not set the value for FileValues since we don't want to send megabytes over the network without explicit request } else { dto.setValue(typedValue.getValue()); } }
public static void fromTypedValue(VariableValueDto dto, TypedValue typedValue, boolean preferSerializedValue) { ValueType type = typedValue.getType(); if (type != null) { String typeName = type.getName(); dto.setType(toRestApiTypeName(typeName)); dto.setValueInfo(type.getValueInfo(typedValue)); } if(typedValue instanceof SerializableValue) { SerializableValue serializableValue = (SerializableValue) typedValue; if(serializableValue.isDeserialized() && !preferSerializedValue) { dto.setValue(serializableValue.getValue()); } else { dto.setValue(serializableValue.getValueSerialized()); } } else if(typedValue instanceof FileValue){ //do not set the value for FileValues since we don't want to send megabytes over the network without explicit request } else { dto.setValue(typedValue.getValue()); } }
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 static void fromTypedValue(VariableValueDto dto, TypedValue typedValue, boolean preferSerializedValue) { ValueType type = typedValue.getType(); if (type != null) { String typeName = type.getName(); dto.setType(toRestApiTypeName(typeName)); dto.setValueInfo(type.getValueInfo(typedValue)); } if(typedValue instanceof SerializableValue) { SerializableValue serializableValue = (SerializableValue) typedValue; if(serializableValue.isDeserialized() && !preferSerializedValue) { dto.setValue(serializableValue.getValue()); } else { dto.setValue(serializableValue.getValueSerialized()); } } else if(typedValue instanceof FileValue){ //do not set the value for FileValues since we don't want to send megabytes over the network without explicit request } else { dto.setValue(typedValue.getValue()); } }