Esempio n. 1
0
        protected override XElement TypedSerialize(VariableExport variableExport, SimModelSerializationContext serializationContext)
        {
            var speciesNode = base.TypedSerialize(variableExport, serializationContext);

            //Export only if NOT allowed (SimModel default for missing attribute is: ALLOWED)
            if (!variableExport.NegativeValuesAllowed)
            {
                speciesNode.AddAttribute(SimModelSchemaConstants.NegativeValuesAllowed, "0");
            }

            if (variableExport.RHSIds.Count == 0)
            {
                return(speciesNode);
            }

            var rhsListNode = speciesNode.AddElement(SerializerRepository.CreateElement(SimModelSchemaConstants.RhsFormulaList));

            foreach (var rhsId in variableExport.RHSIds)
            {
                var rhsNode = rhsListNode.AddElement(SerializerRepository.CreateElement(SimModelSchemaConstants.RhsFormula));
                rhsNode.AddAttribute(SimModelSchemaConstants.Id, rhsId.ConvertedTo <string>());
            }

            return(speciesNode);
        }
        protected override XElement TypedSerialize(List <T> list, SerializationContext context)
        {
            var element = SerializerRepository.CreateElement(ElementName);

            element.SetValue(StringValueFor(list, context));
            return(element);
        }
Esempio n. 3
0
        protected override XElement TypedSerialize(T[] array, SerializationContext serializationContext)
        {
            var element = SerializerRepository.CreateElement(ElementName);

            element.SetValue(array.ToByteString());
            return(element);
        }
        protected override XElement TypedSerialize(string objectToSerialize, TestSerializationContext context)
        {
            var element = SerializerRepository.CreateElement(ElementName);

            element.SetValue(objectToSerialize);
            return(element);
        }
Esempio n. 5
0
        protected override XElement TypedSerialize(T objectToSerialize, SimModelSerializationContext serializationContext)
        {
            var element = SerializerRepository.CreateElement(ElementName);

            element.SetValue(objectToSerialize.ConvertedTo <string>());
            return(element);
        }
        private XElement addAsElement <TObject, TProperty>(XElement element, TObject objectToSerialize, Expression <Func <TObject, TProperty> > exp)
        {
            var memberAccessor = _propertyMapFactory.CreateFor(exp);
            var elemNode       = element.AddElement(SerializerRepository.CreateElement(memberAccessor.Name));

            elemNode.AddAttribute(SimModelSchemaConstants.Id, memberAccessor.ResolveValue(objectToSerialize).ToString());
            return(element);
        }
        private XElement createPointElement(WeightedObservedData weightedObservedData, int i)
        {
            var element    = SerializerRepository.CreateElement(ParameterIdentificationExportSchemaConstants.Point);
            var dataColumn = weightedObservedData.ObservedData.FirstDataColumn();

            element.AddAttribute(ParameterIdentificationExportSchemaConstants.Attributes.Time, dataColumn.BaseGrid[i]);
            element.AddAttribute(ParameterIdentificationExportSchemaConstants.Attributes.Value, dataColumn[i]);
            element.AddAttribute(ParameterIdentificationExportSchemaConstants.Attributes.Weight, weightedObservedData.Weights[i]);
            return(element);
        }
Esempio n. 8
0
        protected override XElement TypedSerialize(ExplicitFormulaExport explicitFormulaExport, SimModelSerializationContext serializationContext)
        {
            var formulaNode  = base.TypedSerialize(explicitFormulaExport, serializationContext);
            var equationNode = SerializerRepository.CreateElement(SimModelSchemaConstants.Equation);

            equationNode.Value = explicitFormulaExport.Equation;
            formulaNode.Add(equationNode);
            addReferenceNodeFor(formulaNode, explicitFormulaExport.ReferenceList, SimModelSchemaConstants.ReferenceList, SimModelSchemaConstants.Reference);

            return(formulaNode);
        }
        protected override XElement TypedSerialize(List <T> objectList, SerializationContext serializationContext)
        {
            var element = SerializerRepository.CreateElement(ElementName);

            foreach (var item in objectList)
            {
                var serializer = SerializerRepository.SerializerFor(item);
                element.Add(serializer.Serialize(item, serializationContext));
            }
            return(element);
        }
        protected override XElement TypedSerialize(ICache <TKey, TValue> cache, TContext context)
        {
            var cacheElement = SerializerRepository.CreateElement(ElementName);

            foreach (var keyValue in cache.KeyValues)
            {
                var keyValueElement = SerializerRepository.CreateElement(_keyValueDefaultName);
                keyValueElement.Add(SerializerRepository.SerializerFor(keyValue.Key).Serialize(keyValue.Key, context));
                keyValueElement.Add(SerializerRepository.SerializerFor(keyValue.Value).Serialize(keyValue.Value, context));
                cacheElement.Add(keyValueElement);
            }
            return(cacheElement);
        }
        protected override XElement TypedSerialize(FormulaCache formulaCache, SerializationContext serializationContext)
        {
            var formulaCacheElement  = base.TypedSerialize(formulaCache, serializationContext);
            var stringMapListElement = SerializerRepository.CreateElement(Constants.Serialization.STRING_MAP_LIST);

            foreach (var stringMap in serializationContext.StringMap.KeyValues)
            {
                var stringMapElement = SerializerRepository.CreateElement(Constants.Serialization.STRING_MAP);
                stringMapElement.AddAttribute(Constants.Serialization.Attribute.STRING, stringMap.Key);
                stringMapElement.AddAttribute(Constants.Serialization.Attribute.ID, stringMap.Value.ToString());
                stringMapListElement.Add(stringMapElement);
            }
            formulaCacheElement.Add(stringMapListElement);
            return(formulaCacheElement);
        }
        protected virtual XElement TypedSerialize(TObject objectToSerialize, TContext context)
        {
            var xElement = SerializerRepository.CreateElement(ElementName);

            foreach (var xmlMapper in _allXmlMappers)
            {
                var node = xmlMapper.Serialize(objectToSerialize, context);
                if (node == null)
                {
                    continue;
                }
                xElement.Add(node);
            }

            return(xElement);
        }
Esempio n. 13
0
        protected override XElement TypedSerialize(TableFormulaWithOffsetExport tableFormulaWithOffsetExport, SimModelSerializationContext serializationContext)
        {
            var formulaNode = base.TypedSerialize(tableFormulaWithOffsetExport, serializationContext);

            var tableObjectNode = SerializerRepository.CreateElement(SimModelSchemaConstants.TableObject);

            tableObjectNode.AddAttribute(SimModelSchemaConstants.Id, tableFormulaWithOffsetExport.TableObjectId.ConvertedTo <string>());
            formulaNode.Add(tableObjectNode);

            var offsetObjectNode = SerializerRepository.CreateElement(SimModelSchemaConstants.OffsetObject);

            offsetObjectNode.AddAttribute(SimModelSchemaConstants.Id, tableFormulaWithOffsetExport.OffsetObjectId.ConvertedTo <string>());
            formulaNode.Add(offsetObjectNode);

            return(formulaNode);
        }
        protected override XElement TypedSerialize(TableFormulaWithXArgumentExport tableFormulaWithXArgumentExport, SimModelSerializationContext serializationContext)
        {
            var formulaNode = base.TypedSerialize(tableFormulaWithXArgumentExport, serializationContext);

            var tableObjectNode = SerializerRepository.CreateElement(SimModelSchemaConstants.TableObject);

            tableObjectNode.AddAttribute(SimModelSchemaConstants.Id, tableFormulaWithXArgumentExport.TableObjectId);
            formulaNode.Add(tableObjectNode);

            var xArgumentObject = SerializerRepository.CreateElement(SimModelSchemaConstants.XArgumentObject);

            xArgumentObject.AddAttribute(SimModelSchemaConstants.Id, tableFormulaWithXArgumentExport.XArgumentObjectId);
            formulaNode.Add(xArgumentObject);

            return(formulaNode);
        }
        protected override XElement TypedSerialize(TAnalysis populationPivotAnalysis, SerializationContext serializationContext)
        {
            var element = base.TypedSerialize(populationPivotAnalysis, serializationContext);
            var fieldPositionSerializer = SerializerRepository.SerializerFor <PivotPosition>();
            var positionListElement     = SerializerRepository.CreateElement(CoreConstants.Serialization.PivotPositionList);

            element.Add(positionListElement);
            foreach (var fieldWithDefinedPosition in populationPivotAnalysis.AllFieldPositions.KeyValues)
            {
                var positionElement = fieldPositionSerializer.Serialize(fieldWithDefinedPosition.Value, serializationContext);
                positionElement.AddAttribute(CoreConstants.Serialization.Attribute.Name, fieldWithDefinedPosition.Key.Name);
                positionListElement.Add(positionElement);
            }

            return(element);
        }
        protected override XElement TypedSerialize(WeightedObservedData weightedObservedData, ParameterIdentificationExportSerializationContext context)
        {
            var observedDataElement = base.TypedSerialize(weightedObservedData, context);
            var dataColumn          = weightedObservedData.ObservedData.FirstDataColumn();

            observedDataElement.AddAttribute(ParameterIdentificationExportSchemaConstants.Attributes.Dimension, dataColumn.Dimension.Name);
            observedDataElement.AddAttribute(ParameterIdentificationExportSchemaConstants.Attributes.MolWeight, dataColumn.DataInfo.MolWeight.GetValueOrDefault(double.NaN));
            observedDataElement.AddAttribute(ParameterIdentificationExportSchemaConstants.Attributes.lloq, dataColumn.DataInfo.LLOQ.GetValueOrDefault(float.NaN));
            var pointListNode = observedDataElement.AddElement(SerializerRepository.CreateElement(ParameterIdentificationExportSchemaConstants.PointList));

            for (int i = 0; i < weightedObservedData.Count; i++)
            {
                pointListNode.Add(createPointElement(weightedObservedData, i));
            }

            return(observedDataElement);
        }
Esempio n. 17
0
        private void addReferenceNodeFor(XElement formulaNode, IDictionary <string, int> referenceDictionary, string enumerationNodeName, string referenceNodeName)
        {
            if (referenceDictionary.Count == 0)
            {
                return;
            }

            var enumerationNode = SerializerRepository.CreateElement(enumerationNodeName);

            foreach (var aliasIdPair in referenceDictionary)
            {
                var referenceNode = SerializerRepository.CreateElement(referenceNodeName);
                referenceNode.AddAttribute(SimModelSchemaConstants.Alias, aliasIdPair.Key);
                referenceNode.AddAttribute(SimModelSchemaConstants.Id, aliasIdPair.Value.ConvertedTo <string>());
                enumerationNode.Add(referenceNode);
            }
            formulaNode.Add(enumerationNode);
        }