public Object getValue(ValueFields valueFields) { Object cachedObject = valueFields.getCachedValue(); if (cachedObject != null) { return cachedObject; } byte[] bytes = (byte[]) super.getValue(valueFields); if (bytes != null) { Object deserializedObject = deserialize(bytes, valueFields); valueFields.setCachedValue(deserializedObject); if (trackDeserializedObjects && valueFields instanceof VariableInstanceEntity) { Context.getCommandContext().addCloseListener(new VerifyDeserializedObjectCommandContextCloseListener( new DeserializedObject(this, valueFields.getCachedValue(), bytes, (VariableInstanceEntity)valueFields))); } return deserializedObject; } return null; // byte array is null }
public void setValue(Object value, ValueFields valueFields) { byte[] bytes = serialize(value, valueFields); valueFields.setCachedValue(value); super.setValue(bytes, valueFields); if (trackDeserializedObjects && valueFields instanceof VariableInstanceEntity) { Context.getCommandContext().addCloseListener(new VerifyDeserializedObjectCommandContextCloseListener( new DeserializedObject(this, valueFields.getCachedValue(), bytes, (VariableInstanceEntity)valueFields))); } }
return cachedObject; byte[] bytes = (byte[]) new ByteArrayType().getValue(valueFields); ByteArrayInputStream bais = new ByteArrayInputStream(bytes); Object deserializedObject;
variableTypes.addType(new ByteArrayType()); variableTypes.addType(new SerializableType(serializableVariableTypeTrackDeserializedObjects)); variableTypes.addType(new CustomObjectType("item", ItemInstance.class));
protected void initVariableTypes() { if (variableTypes==null) { variableTypes = new DefaultVariableTypes(); if (customPreVariableTypes!=null) { for (VariableType customVariableType: customPreVariableTypes) { variableTypes.addType(customVariableType); } } variableTypes.addType(new NullType()); variableTypes.addType(new StringType()); variableTypes.addType(new BooleanType()); variableTypes.addType(new ShortType()); variableTypes.addType(new IntegerType()); variableTypes.addType(new LongType()); variableTypes.addType(new DateType()); variableTypes.addType(new DoubleType()); variableTypes.addType(new ByteArrayType()); variableTypes.addType(new SerializableType()); variableTypes.addType(new CustomObjectType("item", ItemInstance.class)); variableTypes.addType(new CustomObjectType("message", MessageInstance.class)); if (customPostVariableTypes!=null) { for (VariableType customVariableType: customPostVariableTypes) { variableTypes.addType(customVariableType); } } } }
protected void initVariableTypes() { if (variableTypes==null) { variableTypes = new DefaultVariableTypes(); if (customPreVariableTypes!=null) { for (VariableType customVariableType: customPreVariableTypes) { variableTypes.addType(customVariableType); } } variableTypes.addType(new NullType()); variableTypes.addType(new StringType()); variableTypes.addType(new BooleanType()); variableTypes.addType(new ShortType()); variableTypes.addType(new IntegerType()); variableTypes.addType(new LongType()); variableTypes.addType(new DateType()); variableTypes.addType(new DoubleType()); variableTypes.addType(new ByteArrayType()); variableTypes.addType(new SerializableType()); variableTypes.addType(new CustomObjectType("item", ItemInstance.class)); variableTypes.addType(new CustomObjectType("message", MessageInstance.class)); if (customPostVariableTypes!=null) { for (VariableType customVariableType: customPostVariableTypes) { variableTypes.addType(customVariableType); } } } }
public Object getValue(ValueFields valueFields) { Object cachedObject = valueFields.getCachedValue(); if (cachedObject!=null) { return cachedObject; } byte[] bytes = (byte[]) super.getValue(valueFields); ByteArrayInputStream bais = new ByteArrayInputStream(bytes); Object deserializedObject; try { ObjectInputStream ois = createObjectInputStream(bais); deserializedObject = ois.readObject(); valueFields.setCachedValue(deserializedObject); if (valueFields instanceof VariableInstanceEntity) { Context .getCommandContext() .getDbSqlSession() .addDeserializedObject(deserializedObject, bytes, (VariableInstanceEntity) valueFields); } } catch (Exception e) { throw new ActivitiException("Couldn't deserialize object in variable '"+valueFields.getName()+"'", e); } finally { IoUtil.closeSilently(bais); } return deserializedObject; }
public void setValue(Object value, ValueFields valueFields) { byte[] byteArray = serialize(value, valueFields); valueFields.setCachedValue(value); if(valueFields.getByteArrayValue() == null) { if(valueFields instanceof VariableInstanceEntity) { Context .getCommandContext() .getDbSqlSession() .addDeserializedObject(valueFields.getCachedValue(), byteArray, (VariableInstanceEntity)valueFields); } } super.setValue(byteArray, valueFields); }
variableTypes.addType(new DateType()); variableTypes.addType(new DoubleType()); variableTypes.addType(new ByteArrayType());
public Object getValue(ValueFields valueFields) { Object cachedObject = valueFields.getCachedValue(); if (cachedObject != null) { return cachedObject; } byte[] bytes = (byte[]) super.getValue(valueFields); if (bytes != null) { Object deserializedObject = deserialize(bytes, valueFields); valueFields.setCachedValue(deserializedObject); if (trackDeserializedObjects && valueFields instanceof VariableInstanceEntity) { Context.getCommandContext().addCloseListener(new VerifyDeserializedObjectCommandContextCloseListener( new DeserializedObject(this, valueFields.getCachedValue(), bytes, (VariableInstanceEntity)valueFields))); } return deserializedObject; } return null; // byte array is null }
public void setValue(Object value, ValueFields valueFields) { byte[] bytes = serialize(value, valueFields); valueFields.setCachedValue(value); super.setValue(bytes, valueFields); if (trackDeserializedObjects && valueFields instanceof VariableInstanceEntity) { Context.getCommandContext().addCloseListener(new VerifyDeserializedObjectCommandContextCloseListener( new DeserializedObject(this, valueFields.getCachedValue(), bytes, (VariableInstanceEntity)valueFields))); } }
variableTypes.addType(new JsonType(getMaxLengthString(), objectMapper)); variableTypes.addType(new LongJsonType(getMaxLengthString() + 1, objectMapper)); variableTypes.addType(new ByteArrayType()); variableTypes.addType(new SerializableType(serializableVariableTypeTrackDeserializedObjects)); variableTypes.addType(new CustomObjectType("item", ItemInstance.class));