public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
        {
            string name = fieldDef.GetString("Name");
            string ns = fieldDef.GetString("Ns");
            var qname = new QName(name, ns);
            var fields = GroupConverter.ParseFieldInstructions(fieldDef, templateRegistry, context);
            bool optional = fieldDef.GetBool("Optional");
            Scalar length = null;
            if (fieldDef.IsDefined("Length"))
            {
                var lengthDef = fieldDef.GetGroup("Length");
                QName lengthName;
                string id = null;
                if (lengthDef.IsDefined("Name"))
                {
                    var nameDef = lengthDef.GetGroup("Name");
                    lengthName = new QName(nameDef.GetString("Name"), nameDef.GetString("Ns"));
                    if (nameDef.IsDefined("AuxId"))
                        id = nameDef.GetString("AuxId");
                }
                else
                    lengthName = Global.CreateImplicitName(qname);
                var operator_Renamed = Operator.NONE;
                if (lengthDef.IsDefined("Operator"))
                    operator_Renamed = GetOperator(lengthDef.GetGroup("Operator").GetGroup(0).GetGroup());
                var initialValue = ScalarValue.UNDEFINED;
                if (lengthDef.IsDefined("InitialValue"))
                    initialValue = (ScalarValue) lengthDef.GetValue("InitialValue");
                length = new Scalar(lengthName, Type.U32, operator_Renamed, initialValue, optional) {Id = id};
            }

            return new Sequence(qname, length, fields, optional);
        }
 public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
 {
     var scalar = (Scalar) base.Convert(fieldDef, templateRegistry, context);
     if (fieldDef.IsDefined("Length"))
     {
         scalar.AddAttribute(Error.FastConstants.LENGTH_FIELD, fieldDef.GetGroup("Length").GetString("Name"));
     }
     return scalar;
 }
 public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
 {
     var name = new QName(fieldDef.GetString("Name"), fieldDef.GetString("Ns"));
     if (!templateRegistry.IsDefined(name))
     {
         throw new System.SystemException("Referenced template " + name + " not defined.");
     }
     return new StaticTemplateReference(templateRegistry.get_Renamed(name));
 }
 public override GroupValue Convert(Field field, ConversionContext context)
 {
     var composedScalar = (ComposedScalar) field;
     var message = new Message(SessionControlProtocol_1_1.COMP_DECIMAL_INSTR);
     SetNameAndId(field, message);
     message.SetInteger("Optional", field.Optional?1:0);
     var exponentDef = CreateComponent(composedScalar.Fields[0], "Exponent");
     var mantissaDef = CreateComponent(composedScalar.Fields[1], "Mantissa");
     message.SetFieldValue("Exponent", exponentDef);
     message.SetFieldValue("Mantissa", mantissaDef);
     return message;
 }
 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;
 }
Exemplo n.º 6
0
 public static Field[] ParseFieldInstructions(GroupValue groupDef, TemplateRegistry registry, ConversionContext context)
 {
     var instructions = groupDef.GetSequence("Instructions");
     var fields = new Field[instructions.Length];
     for (int i = 0; i < fields.Length; i++)
     {
         var fieldDef = instructions[i].GetGroup(0);
         var converter = context.GetConverter(fieldDef.GetGroup());
         if (converter == null)
         {
             throw new System.SystemException("Encountered unknown group " + fieldDef.GetGroup() + "while processing field instructions " + groupDef.GetGroup());
         }
         fields[i] = converter.Convert(fieldDef, registry, context);
     }
     return fields;
 }
Exemplo n.º 7
0
 public static Message Convert(Group group, Message groupMsg, ConversionContext context)
 {
     SetNameAndId(group, groupMsg);
     var instructions = new SequenceValue(SessionControlProtocol_1_1.TEMPLATE_DEFINITION.GetSequence("Instructions"));
     int i = group is MessageTemplate?1:0;
     Field[] fields = group.FieldDefinitions;
     for (; i < fields.Length; i++)
     {
         Field field = fields[i];
         FieldInstructionConverter converter = context.GetConverter(field);
         if (converter == null)
             throw new System.SystemException("No converter found for type " + field.GetType());
         FieldValue value_Renamed = converter.Convert(field, context);
         instructions.Add(new[]{value_Renamed});
     }
     groupMsg.SetFieldValue("Instructions", instructions);
     return groupMsg;
 }
 public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
 {
     var name = new QName(fieldDef.GetString("Name"), fieldDef.GetString("Ns"));
     bool optional = fieldDef.GetBool("Optional");
     var exponentDef = fieldDef.GetGroup("Exponent");
     var exponentOperatorDef = exponentDef.GetGroup("Operator").GetGroup(0);
     var exponentOperator = GetOperator(exponentOperatorDef.GetGroup());
     var exponentDefaultValue = ScalarValue.UNDEFINED;
     if (exponentDef.IsDefined("InitialValue"))
         exponentDefaultValue = new IntegerValue(exponentDef.GetInt("InitialValue"));
     var mantissaDef = fieldDef.GetGroup("Mantissa");
     var mantissaOperatorDef = mantissaDef.GetGroup("Operator").GetGroup(0);
     var mantissaOperator = GetOperator(mantissaOperatorDef.GetGroup());
     var mantissaDefaultValue = ScalarValue.UNDEFINED;
     if (mantissaDef.IsDefined("InitialValue"))
         mantissaDefaultValue = new LongValue(mantissaDef.GetInt("InitialValue"));
     return Util.ComposedDecimal(name, exponentOperator, exponentDefaultValue, mantissaOperator, mantissaDefaultValue, optional);
 }
 public virtual Field Convert(GroupValue groupValue, TemplateRegistry templateRegistry, ConversionContext context)
 {
     return(DynamicTemplateReference.INSTANCE);
 }
Exemplo n.º 10
0
        public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
        {
            var  type         = (Type)TEMPLATE_TYPE_MAP[fieldDef.GetGroup()];
            bool optional     = fieldDef.GetBool("Optional");
            var  initialValue = ScalarValue.UNDEFINED;

            if (fieldDef.IsDefined("InitialValue"))
            {
                initialValue = (ScalarValue)fieldDef.GetValue("InitialValue");
            }

            if (fieldDef.IsDefined("Operator"))
            {
                GroupValue operatorGroup    = fieldDef.GetGroup("Operator").GetGroup(0);
                Operator   operator_Renamed = GetOperator(operatorGroup.GetGroup());
                var        scalar           = new Scalar(fieldDef.GetString("Name"), type, operator_Renamed, initialValue, optional);
                if (operatorGroup.IsDefined("Dictionary"))
                {
                    scalar.Dictionary = operatorGroup.GetString("Dictionary");
                }
                if (operatorGroup.IsDefined("Key"))
                {
                    string name = operatorGroup.GetGroup("Key").GetString("Name");
                    string ns   = operatorGroup.GetGroup("Key").GetString("Ns");
                    scalar.Key = new QName(name, ns);
                }
                return(scalar);
            }
            return(new Scalar(fieldDef.GetString("Name"), type, Operator.NONE, initialValue, optional));
        }
 public override GroupValue Convert(Field field, ConversionContext context)
 {
     var strDef = new Message(SessionControlProtocol_1_1.STAT_TEMP_REF_INSTR);
     SetNameAndId(field, strDef);
     return strDef;
 }
Exemplo n.º 12
0
 public override GroupValue Convert(Field field, ConversionContext context)
 {
     var group = (Group) field;
     var groupMsg = Convert(group, new Message(SessionControlProtocol_1_1.GROUP_INSTR), context);
     groupMsg.SetBool("Optional", field.Optional);
     return groupMsg;
 }
 public abstract GroupValue Convert(Field param1, ConversionContext param2);
 public virtual Field Convert(GroupValue groupValue, TemplateRegistry templateRegistry, ConversionContext context)
 {
     return DynamicTemplateReference.INSTANCE;
 }
Exemplo n.º 15
0
 public override GroupValue Convert(Field field, ConversionContext context)
 {
     var scalar = (Scalar) field;
     var scalarTemplate = (MessageTemplate) TYPE_TEMPLATE_MAP[scalar.Type];
     var scalarMsg = new Message(scalarTemplate);
     SetNameAndId(scalar, scalarMsg);
     scalarMsg.SetInteger("Optional", scalar.Optional?1:0);
     if (!scalar.Operator.Equals(Operator.NONE))
         scalarMsg.SetFieldValue("Operator", new GroupValue(scalarTemplate.GetGroup("Operator"), new FieldValue[]{CreateOperator(scalar)}));
     if (!scalar.DefaultValue.Undefined)
         scalarMsg.SetFieldValue("InitialValue", scalar.DefaultValue);
     return scalarMsg;
 }
        public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
        {
            var name = new QName(fieldDef.GetString("Name"), fieldDef.GetString("Ns"));

            if (!templateRegistry.IsDefined(name))
            {
                throw new System.SystemException("Referenced template " + name + " not defined.");
            }
            return(new StaticTemplateReference(templateRegistry.get_Renamed(name)));
        }
Exemplo n.º 17
0
        public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
        {
            var type = (Type) TEMPLATE_TYPE_MAP[fieldDef.GetGroup()];
            bool optional = fieldDef.GetBool("Optional");
            var initialValue = ScalarValue.UNDEFINED;
            if (fieldDef.IsDefined("InitialValue"))
                initialValue = (ScalarValue) fieldDef.GetValue("InitialValue");

            if (fieldDef.IsDefined("Operator"))
            {
                GroupValue operatorGroup = fieldDef.GetGroup("Operator").GetGroup(0);
                Operator operator_Renamed = GetOperator(operatorGroup.GetGroup());
                var scalar = new Scalar(fieldDef.GetString("Name"), type, operator_Renamed, initialValue, optional);
                if (operatorGroup.IsDefined("Dictionary"))
                    scalar.Dictionary = operatorGroup.GetString("Dictionary");
                if (operatorGroup.IsDefined("Key"))
                {
                    string name = operatorGroup.GetGroup("Key").GetString("Name");
                    string ns = operatorGroup.GetGroup("Key").GetString("Ns");
                    scalar.Key = new QName(name, ns);
                }
                return scalar;
            }
            return new Scalar(fieldDef.GetString("Name"), type, Operator.NONE, initialValue, optional);
        }
Exemplo n.º 18
0
        public static Field[] ParseFieldInstructions(GroupValue groupDef, TemplateRegistry registry, ConversionContext context)
        {
            var instructions = groupDef.GetSequence("Instructions");
            var fields       = new Field[instructions.Length];

            for (int i = 0; i < fields.Length; i++)
            {
                var fieldDef  = instructions[i].GetGroup(0);
                var converter = context.GetConverter(fieldDef.GetGroup());
                if (converter == null)
                {
                    throw new System.SystemException("Encountered unknown group " + fieldDef.GetGroup() + "while processing field instructions " + groupDef.GetGroup());
                }
                fields[i] = converter.Convert(fieldDef, registry, context);
            }
            return(fields);
        }
Exemplo n.º 19
0
        public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
        {
            string name = fieldDef.GetString("Name");

            Field[] fields   = ParseFieldInstructions(fieldDef, templateRegistry, context);
            bool    optional = fieldDef.GetBool("Optional");

            return(new Group(name, fields, optional));
        }
        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;
        }
 public virtual GroupValue Convert(Field field, ConversionContext context)
 {
     return(SessionControlProtocol_1_1.DYN_TEMP_REF_MESSAGE);
 }
 public abstract GroupValue Convert(Field param1, ConversionContext param2);
        public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
        {
            var scalar = (Scalar)base.Convert(fieldDef, templateRegistry, context);

            if (fieldDef.IsDefined("Length"))
            {
                scalar.AddAttribute(Error.FastConstants.LENGTH_FIELD, fieldDef.GetGroup("Length").GetString("Name"));
            }
            return(scalar);
        }
 public abstract Field Convert(GroupValue param1, OpenFAST.Template.TemplateRegistry param2, ConversionContext param3);
Exemplo n.º 25
0
 public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
 {
     string name = fieldDef.GetString("Name");
     Field[] fields = ParseFieldInstructions(fieldDef, templateRegistry, context);
     bool optional = fieldDef.GetBool("Optional");
     return new Group(name, fields, optional);
 }
Exemplo n.º 26
0
        public override Field Convert(GroupValue fieldDef, TemplateRegistry templateRegistry, ConversionContext context)
        {
            string name     = fieldDef.GetString("Name");
            string ns       = fieldDef.GetString("Ns");
            var    qname    = new QName(name, ns);
            var    fields   = GroupConverter.ParseFieldInstructions(fieldDef, templateRegistry, context);
            bool   optional = fieldDef.GetBool("Optional");
            Scalar length   = null;

            if (fieldDef.IsDefined("Length"))
            {
                var    lengthDef = fieldDef.GetGroup("Length");
                QName  lengthName;
                string id = null;
                if (lengthDef.IsDefined("Name"))
                {
                    var nameDef = lengthDef.GetGroup("Name");
                    lengthName = new QName(nameDef.GetString("Name"), nameDef.GetString("Ns"));
                    if (nameDef.IsDefined("AuxId"))
                    {
                        id = nameDef.GetString("AuxId");
                    }
                }
                else
                {
                    lengthName = Global.CreateImplicitName(qname);
                }
                var operator_Renamed = Operator.NONE;
                if (lengthDef.IsDefined("Operator"))
                {
                    operator_Renamed = GetOperator(lengthDef.GetGroup("Operator").GetGroup(0).GetGroup());
                }
                var initialValue = ScalarValue.UNDEFINED;
                if (lengthDef.IsDefined("InitialValue"))
                {
                    initialValue = (ScalarValue)lengthDef.GetValue("InitialValue");
                }
                length = new Scalar(lengthName, Type.U32, operator_Renamed, initialValue, optional)
                {
                    Id = id
                };
            }

            return(new Sequence(qname, length, fields, optional));
        }
 public virtual GroupValue Convert(Field field, ConversionContext context)
 {
     return SessionControlProtocol_1_1.DYN_TEMP_REF_MESSAGE;
 }
 public abstract Field Convert(GroupValue param1, OpenFAST.Template.TemplateRegistry param2, ConversionContext param3);