Package org.camunda.bpm.engine.variable.type

Examples of org.camunda.bpm.engine.variable.type.ValueType


      setByteArrayValueId(null);
    }
  }

  public String getTypeName() {
    ValueType type = null;
    if(serializerName == null) {
      type = ValueType.NULL;
    }
    else {
      type = getSerializer().getType();
    }
    return type.getName();
  }
View Full Code Here


    String defaultSerializationFormat = Context.getProcessEngineConfiguration().getDefaultSerializationFormat();

    List<TypedValueSerializer<?>> matchedSerializers = new ArrayList<TypedValueSerializer<?>>();

    ValueType type = value.getType();

    for (TypedValueSerializer<?> serializer : serializerList) {
      if(type == null || serializer.getType().equals(type)) {

        // if type is null => ask handler whether it can handle the value
View Full Code Here

    if (type == null) {
      return Variables.untypedValue(value);
    }

    ValueType valueType = valueTypeResolver.typeForName(fromRestApiTypeName(type));
    if(valueType == null) {
      throw new RestException(Status.BAD_REQUEST, String.format("Unsupported value type '%s'", type));
    }
    else {
      if(valueType instanceof PrimitiveValueType) {
        PrimitiveValueType primitiveValueType = (PrimitiveValueType) valueType;
        Class<?> javaType = primitiveValueType.getJavaType();
        Object mappedValue = null;
        try {
          if(value != null) {
            if(javaType.isAssignableFrom(value.getClass())) {
              mappedValue = value;
            }
            else {
              // use jackson to map the value to the requested java type
              mappedValue = objectMapper.readValue("\""+value+"\"", javaType);
            }
          }
          return valueType.createValue(mappedValue, valueInfo);
        }
        catch (Exception e) {
          throw new InvalidRequestException(Status.BAD_REQUEST, e,
              String.format("Cannot convert value '%s' of type '%s' to java type %s", value, type, javaType.getName()));
        }
      }
      else if(valueType instanceof SerializableValueType) {
        if(value != null && !(value instanceof String)) {
          throw new InvalidRequestException(Status.BAD_REQUEST, "Must provide 'null' or String value for value of SerializableValue type '"+type+"'.");
        }
        return ((SerializableValueType) valueType).createValueFromSerialized((String) value, valueInfo);
      }
      else {
        return valueType.createValue(value, valueInfo);
      }
    }

  }
View Full Code Here

TOP

Related Classes of org.camunda.bpm.engine.variable.type.ValueType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.