Пример #1
0
        protected internal virtual TypedValueSerializer determineSerializer(VariableSerializers serializers, TypedValue value)
        {
            TypedValueSerializer serializer = serializers.findSerializerForValue(value);

            if (serializer.Type == ValueType.BYTES)
            {
                throw new ProcessEngineException("Variables of type ByteArray cannot be used to query");
            }
            else if (serializer.Type == ValueType.FILE)
            {
                throw new ProcessEngineException("Variables of type File cannot be used to query");
            }
            else if (serializer is JPAVariableSerializer)
            {
                if (wrappedQueryValue.Operator != QueryOperator.EQUALS)
                {
                    throw new ProcessEngineException("JPA entity variables can only be used in 'variableValueEquals'");
                }
            }
            else
            {
                if (!serializer.Type.PrimitiveValueType)
                {
                    throw new ProcessEngineException("Object values cannot be used to query");
                }
            }

            return(serializer);
        }
Пример #2
0
        public virtual VariableSerializers join(VariableSerializers other)
        {
            DefaultVariableSerializers copy = new DefaultVariableSerializers();

            // "other" serializers override existing ones if their names match
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: for (TypedValueSerializer<?> thisSerializer : serializerList)
            foreach (TypedValueSerializer <object> thisSerializer in serializerList)
            {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: TypedValueSerializer<?> serializer = other.getSerializerByName(thisSerializer.getName());
                TypedValueSerializer <object> serializer = other.getSerializerByName(thisSerializer.Name);

                if (serializer == null)
                {
                    serializer = thisSerializer;
                }

                copy.addSerializer(serializer);
            }

            // add all "other" serializers that did not exist before to the end of the list
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: for (TypedValueSerializer<?> otherSerializer : other.getSerializers())
            foreach (TypedValueSerializer <object> otherSerializer in other.Serializers)
            {
                if (!copy.serializerMap.ContainsKey(otherSerializer.Name))
                {
                    copy.addSerializer(otherSerializer);
                }
            }


            return(copy);
        }
Пример #3
0
 protected internal virtual void ensureVariablesInitialized()
 {
     if (this.queryVariableValue != null)
     {
         VariableSerializers variableSerializers = Context.ProcessEngineConfiguration.VariableSerializers;
         queryVariableValue.initialize(variableSerializers);
     }
 }
Пример #4
0
        protected internal virtual void ensureVariablesInitialized()
        {
            VariableSerializers types = Context.ProcessEngineConfiguration.VariableSerializers;

            foreach (QueryVariableValue var in variables)
            {
                var.initialize(types);
            }
        }
Пример #5
0
 protected internal virtual void ensureVariablesInitialized()
 {
     if (queryVariableValues.Count > 0)
     {
         VariableSerializers variableSerializers = Context.ProcessEngineConfiguration.VariableSerializers;
         foreach (QueryVariableValue queryVariableValue in queryVariableValues)
         {
             queryVariableValue.initialize(variableSerializers);
         }
     }
 }
Пример #6
0
        public virtual void initializeValue(VariableSerializers serializers, TypedValue typedValue)
        {
            TypedValueSerializer serializer = determineSerializer(serializers, typedValue);

            if (typedValue is UntypedValueImpl)
            {
                // type has been detected
                typedValue = serializer.convertToTypedValue((UntypedValueImpl)typedValue);
            }
            serializer.writeValue(typedValue, this);
            this.type = serializer.Name;
        }
Пример #7
0
        public virtual void initialize(VariableSerializers serializers)
        {
            if (value.Type != null && value.Type.Abstract)
            {
                valueCondition = new CompositeQueryVariableValueCondition(this);
            }
            else
            {
                valueCondition = new SingleQueryVariableValueCondition(this);
            }

            valueCondition.initializeValue(serializers);
        }
Пример #8
0
        protected internal virtual void initializeVariableSerializers(AbstractProcessApplication abstractProcessApplication)
        {
            VariableSerializers paVariableSerializers = abstractProcessApplication.VariableSerializers;

            if (paVariableSerializers == null)
            {
                paVariableSerializers = new DefaultVariableSerializers();
                abstractProcessApplication.VariableSerializers = paVariableSerializers;
            }

//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: for (org.camunda.bpm.engine.impl.variable.serializer.TypedValueSerializer<?> serializer : lookupSpinSerializers(abstractProcessApplication.getProcessApplicationClassloader()))
            foreach (TypedValueSerializer <object> serializer in lookupSpinSerializers(abstractProcessApplication.ProcessApplicationClassloader))
            {
                paVariableSerializers.addSerializer(serializer);
            }
        }
Пример #9
0
        public override void initializeValue(VariableSerializers serializers)
        {
            TypedValue typedValue = wrappedQueryValue.TypedValue;

            ValueTypeResolver       resolver      = Context.ProcessEngineConfiguration.ValueTypeResolver;
            ICollection <ValueType> concreteTypes = resolver.getSubTypes(typedValue.Type);

            foreach (ValueType type in concreteTypes)
            {
                if (type.canConvertFromTypedValue(typedValue))
                {
                    TypedValue convertedValue = type.convertFromTypedValue(typedValue);
                    SingleQueryVariableValueCondition aggregatedValue = new SingleQueryVariableValueCondition(wrappedQueryValue);
                    aggregatedValue.initializeValue(serializers, convertedValue);
                    aggregatedValues.Add(aggregatedValue);
                }
            }
        }
Пример #10
0
        protected internal virtual void registerSerializers(ProcessEngineConfigurationImpl processEngineConfiguration)
        {
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: java.util.List<org.camunda.bpm.engine.impl.variable.serializer.TypedValueSerializer<?>> spinDataFormatSerializers = lookupSpinSerializers();
            IList <TypedValueSerializer <object> > spinDataFormatSerializers = lookupSpinSerializers();

            VariableSerializers variableSerializers = processEngineConfiguration.VariableSerializers;

            int javaObjectSerializerIdx = variableSerializers.getSerializerIndexByName(JavaObjectSerializer.NAME);

//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: for (org.camunda.bpm.engine.impl.variable.serializer.TypedValueSerializer<?> spinSerializer : spinDataFormatSerializers)
            foreach (TypedValueSerializer <object> spinSerializer in spinDataFormatSerializers)
            {
                // add before java object serializer
                variableSerializers.addSerializer(spinSerializer, javaObjectSerializerIdx);
            }
        }
Пример #11
0
        public override void initializeValue(VariableSerializers serializers)
        {
            TypedValue typedValue = wrappedQueryValue.TypedValue;

            initializeValue(serializers, typedValue);
        }
Пример #12
0
 public abstract void initializeValue(VariableSerializers serializers);