コード例 #1
0
        public override GroupValue Convert(Field field, ConversionContext context)
        {
            var sequence = (Sequence)field;
            var seqDef   = GroupConverter.Convert(sequence.Group, new Message(SessionControlProtocol_1_1.SEQUENCE_INSTR), context);

            seqDef.SetBool("Optional", sequence.Optional);
            if (!sequence.ImplicitLength)
            {
                var lengthGroup = SessionControlProtocol_1_1.SEQUENCE_INSTR.GetGroup("Length");
                var lengthDef   = new GroupValue(lengthGroup);
                var length      = sequence.Length;
                var nameDef     = new GroupValue(lengthGroup.GetGroup("Name"));
                SetNameAndId(length, nameDef);
                lengthDef.SetFieldValue("Name", nameDef);
                seqDef.SetFieldValue("Length", lengthDef);

                if (!length.Operator.Equals(Operator.NONE))
                {
                    var operatorDef = new GroupValue(lengthGroup.GetGroup("Operator"));
                    operatorDef.SetFieldValue(0, CreateOperator(length));
                    lengthDef.SetFieldValue("Operator", operatorDef);
                }

                if (!length.DefaultValue.Undefined)
                {
                    lengthDef.SetFieldValue("InitialValue", length.DefaultValue);
                }
            }
            return(seqDef);
        }
コード例 #2
0
        public override GroupValue Convert(Field field, ConversionContext context)
        {
            var     sequence = (Sequence)field;
            Message seqDef   = GroupConverter.Convert(
                sequence.Group,
                new Message(SessionControlProtocol11.SequenceInstr),
                context);

            seqDef.SetBool("Optional", sequence.IsOptional);
            if (!sequence.ImplicitLength)
            {
                Group  lengthGroup = SessionControlProtocol11.SequenceInstr.GetGroup("Length");
                var    lengthDef   = new GroupValue(lengthGroup);
                Scalar length      = sequence.Length;
                var    nameDef     = new GroupValue(lengthGroup.GetGroup("Name"));
                SetNameAndId(length, nameDef);
                lengthDef.SetFieldValue("Name", nameDef);
                seqDef.SetFieldValue("Length", lengthDef);

                if (!length.Operator.Equals(Operator.None))
                {
                    var operatorDef = new GroupValue(lengthGroup.GetGroup("Operator"));
                    operatorDef.SetFieldValue(0, CreateOperator(length));
                    lengthDef.SetFieldValue("Operator", operatorDef);
                }

                if (!length.DefaultValue.IsUndefined)
                {
                    lengthDef.SetFieldValue("InitialValue", length.DefaultValue);
                }
            }

            if (sequence.TypeReference != null && !FastConstants.AnyType.Equals(sequence.TypeReference))
            {
                var typeRef =
                    new GroupValue(
                        (Group)
                        SessionControlProtocol11.TypeRef.GetField(new QName("TypeRef",
                                                                            SessionControlProtocol11.Namespace)));
                SetName(typeRef, sequence.TypeReference);
                seqDef.SetFieldValue("TypeRef", typeRef);
            }

            return(seqDef);
        }
コード例 #3
0
        public override GroupValue Convert(Field field, ConversionContext context)
        {
            var        scalar   = (Scalar)field;
            GroupValue fieldDef = base.Convert(field, context);

            if (scalar.HasAttribute(Error.FastConstants.LENGTH_FIELD))
            {
                var lengthDef = new GroupValue(fieldDef.GetGroup().GetGroup("Length"));
                lengthDef.SetString("Name", scalar.GetAttribute(Error.FastConstants.LENGTH_FIELD));
                fieldDef.SetFieldValue("Length", lengthDef);
            }
            return(fieldDef);
        }
コード例 #4
0
        public override GroupValue Convert(Field field, ConversionContext context)
        {
            var        scalar   = (Scalar)field;
            GroupValue fieldDef = base.Convert(field, context);
            string     value;

            if (scalar.TryGetAttribute(FastConstants.LengthField, out value))
            {
                var lengthDef = new GroupValue(fieldDef.Group.GetGroup("Length"));
                lengthDef.SetString("Name", value);
                fieldDef.SetFieldValue("Length", lengthDef);
            }
            return(fieldDef);
        }
コード例 #5
0
        private static GroupValue CreateComponent(Scalar component, string componentName)
        {
            var componentGroup         = SessionControlProtocol_1_1.COMP_DECIMAL_INSTR.GetGroup(componentName);
            var componentDef           = new GroupValue(componentGroup);
            var componentOperatorDef   = CreateOperator(component);
            var componentOperatorGroup = new GroupValue(componentGroup.GetGroup("Operator"));

            componentDef.SetFieldValue("Operator", componentOperatorGroup);
            componentOperatorGroup.SetFieldValue(0, componentOperatorDef);
            if (!component.DefaultValue.Undefined)
            {
                componentDef.SetInteger("InitialValue", component.DefaultValue.ToInt());
            }
            return(componentDef);
        }
コード例 #6
0
        private static GroupValue CreateComponent(Scalar component, string componentName)
        {
            Group      componentGroup         = SessionControlProtocol11.CompDecimalInstr.GetGroup(componentName);
            var        componentDef           = new GroupValue(componentGroup);
            GroupValue componentOperatorDef   = CreateOperator(component);
            var        componentOperatorGroup = new GroupValue(componentGroup.GetGroup("Operator"));

            componentDef.SetFieldValue("Operator", componentOperatorGroup);
            componentOperatorGroup.SetFieldValue(0, componentOperatorDef);
            if (!component.DefaultValue.IsUndefined)
            {
                componentDef.SetInteger("InitialValue", component.DefaultValue.ToInt());
            }
            return(componentDef);
        }
コード例 #7
0
        public override GroupValue Convert(Field field, ConversionContext context)
        {
            var sequence = (Sequence) field;
            Message seqDef = GroupConverter.Convert(
                sequence.Group,
                new Message(SessionControlProtocol11.SequenceInstr),
                context);

            seqDef.SetBool("Optional", sequence.IsOptional);
            if (!sequence.ImplicitLength)
            {
                Group lengthGroup = SessionControlProtocol11.SequenceInstr.GetGroup("Length");
                var lengthDef = new GroupValue(lengthGroup);
                Scalar length = sequence.Length;
                var nameDef = new GroupValue(lengthGroup.GetGroup("Name"));
                SetNameAndId(length, nameDef);
                lengthDef.SetFieldValue("Name", nameDef);
                seqDef.SetFieldValue("Length", lengthDef);

                if (!length.Operator.Equals(Operator.None))
                {
                    var operatorDef = new GroupValue(lengthGroup.GetGroup("Operator"));
                    operatorDef.SetFieldValue(0, CreateOperator(length));
                    lengthDef.SetFieldValue("Operator", operatorDef);
                }

                if (!length.DefaultValue.IsUndefined)
                {
                    lengthDef.SetFieldValue("InitialValue", length.DefaultValue);
                }
            }

            if (sequence.TypeReference != null && !FastConstants.AnyType.Equals(sequence.TypeReference))
            {
                var typeRef =
                    new GroupValue(
                        (Group)
                        SessionControlProtocol11.TypeRef.GetField(new QName("TypeRef",
                                                                              SessionControlProtocol11.Namespace)));
                SetName(typeRef, sequence.TypeReference);
                seqDef.SetFieldValue("TypeRef", typeRef);
            }

            return seqDef;
        }
コード例 #8
0
 private static GroupValue CreateComponent(Scalar component, string componentName)
 {
     var componentGroup = SessionControlProtocol_1_1.COMP_DECIMAL_INSTR.GetGroup(componentName);
     var componentDef = new GroupValue(componentGroup);
     var componentOperatorDef = CreateOperator(component);
     var componentOperatorGroup = new GroupValue(componentGroup.GetGroup("Operator"));
     componentDef.SetFieldValue("Operator", componentOperatorGroup);
     componentOperatorGroup.SetFieldValue(0, componentOperatorDef);
     if (!component.DefaultValue.Undefined)
         componentDef.SetInteger("InitialValue", component.DefaultValue.ToInt());
     return componentDef;
 }
コード例 #9
0
 private static GroupValue CreateComponent(Scalar component, string componentName)
 {
     Group componentGroup = SessionControlProtocol11.CompDecimalInstr.GetGroup(componentName);
     var componentDef = new GroupValue(componentGroup);
     GroupValue componentOperatorDef = CreateOperator(component);
     var componentOperatorGroup = new GroupValue(componentGroup.GetGroup("Operator"));
     componentDef.SetFieldValue("Operator", componentOperatorGroup);
     componentOperatorGroup.SetFieldValue(0, componentOperatorDef);
     if (!component.DefaultValue.IsUndefined)
         componentDef.SetInteger("InitialValue", component.DefaultValue.ToInt());
     return componentDef;
 }
コード例 #10
0
        public override GroupValue Convert(Field field, ConversionContext context)
        {
            var sequence = (Sequence) field;
            var seqDef = GroupConverter.Convert(sequence.Group, new Message(SessionControlProtocol_1_1.SEQUENCE_INSTR), context);
            seqDef.SetBool("Optional", sequence.Optional);
            if (!sequence.ImplicitLength)
            {
                var lengthGroup = SessionControlProtocol_1_1.SEQUENCE_INSTR.GetGroup("Length");
                var lengthDef = new GroupValue(lengthGroup);
                var length = sequence.Length;
                var nameDef = new GroupValue(lengthGroup.GetGroup("Name"));
                SetNameAndId(length, nameDef);
                lengthDef.SetFieldValue("Name", nameDef);
                seqDef.SetFieldValue("Length", lengthDef);

                if (!length.Operator.Equals(Operator.NONE))
                {
                    var operatorDef = new GroupValue(lengthGroup.GetGroup("Operator"));
                    operatorDef.SetFieldValue(0, CreateOperator(length));
                    lengthDef.SetFieldValue("Operator", operatorDef);
                }

                if (!length.DefaultValue.Undefined)
                {
                    lengthDef.SetFieldValue("InitialValue", length.DefaultValue);
                }
            }
            return seqDef;
        }