protected override void TypedDeserialize(MoBiSimulation simulation, XElement outputToDeserialize, SerializationContext serializationContext) { base.TypedDeserialize(simulation, outputToDeserialize, serializationContext); if (simulation.Results != null) { serializationContext.AddRepository(simulation.Results); } var chartSerializer = SerializerRepository.SerializerFor <CurveChart>(); var chartElement = outputToDeserialize.Element(chartSerializer.ElementName); if (chartElement != null) { simulation.Chart = chartSerializer.Deserialize <CurveChart>(outputToDeserialize.Element(chartSerializer.ElementName), serializationContext); } var diagramSerializer = serializationContext.Resolve <IDiagramModelToXmlMapper>(); var diagramElement = outputToDeserialize.Element(diagramSerializer.ElementName); if (diagramElement != null) { simulation.DiagramModel = diagramSerializer.XmlDocumentToDiagramModel(diagramElement.ToXmlDocument()); } }
protected override XElement TypedSerialize(TChart chart, SerializationContext serializationContext) { var chartSerializer = SerializerRepository.SerializerFor <CurveChart>(); var chartElement = base.TypedSerialize(chart, serializationContext); chartElement.Add(chartSerializer.Serialize(chart, serializationContext)); return(chartElement); }
protected override void TypedDeserialize(UsedBuildingBlock usedBuildingBlock, XElement usedBuildingBlockNode, SerializationContext context) { base.TypedDeserialize(usedBuildingBlock, usedBuildingBlockNode, context); var buildingBlockNode = usedBuildingBlockNode.Elements().First(); var serializer = SerializerRepository.SerializerFor(buildingBlockNode); usedBuildingBlock.BuildingBlock = serializer.Deserialize <IPKSimBuildingBlock>(buildingBlockNode, context); }
protected override void TypedDeserialize(List <T> objectList, XElement element, SerializationContext serializationContext) { foreach (var childElement in element.Elements()) { var serializer = SerializerRepository.SerializerFor(childElement); objectList.Add(serializer.Deserialize <T>(childElement, serializationContext)); } }
protected override XElement TypedSerialize(UsedBuildingBlock usedBuildingBlock, SerializationContext context) { var usedBuildingBlockNode = base.TypedSerialize(usedBuildingBlock, context); var serializer = SerializerRepository.SerializerFor(usedBuildingBlock.BuildingBlock); usedBuildingBlockNode.Add(serializer.Serialize(usedBuildingBlock.BuildingBlock, context)); return(usedBuildingBlockNode); }
protected override void TypedDeserialize(TChart chart, XElement chartElement, SerializationContext serializationContext) { var chartSerializer = SerializerRepository.SerializerFor <CurveChart>(); base.TypedDeserialize(chart, chartElement, serializationContext); var dataChartElement = chartElement.Element(chartSerializer.ElementName); chartSerializer.Deserialize(chart, dataChartElement, serializationContext); }
protected override void TypedDeserialize(ICache <string, DataRepository> objectToDeserialize, XElement xel, SerializationContext serializationContext) { var serializer = SerializerRepository.SerializerFor(typeof(DataRepository)); foreach (var subXel in xel.Elements()) { var dataRepository = new DataRepository(); serializer.Deserialize(dataRepository, subXel, serializationContext); objectToDeserialize.Add(dataRepository); } }
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 <string, DataRepository> objectToSerialize, SerializationContext serializationContext) { var serializer = SerializerRepository.SerializerFor(typeof(DataRepository)); var xel = new XElement("repositories"); foreach (var dataRepository in objectToSerialize) { xel.AddElement(serializer.Serialize(dataRepository, serializationContext)); } return(xel); }
protected override void TypedDeserialize(TAnalysis populationPivotAnalysis, XElement element, SerializationContext serializationContext) { base.TypedDeserialize(populationPivotAnalysis, element, serializationContext); var fieldPositionSerializer = SerializerRepository.SerializerFor <PivotPosition>(); foreach (var positionElement in element.Descendants(CoreConstants.Serialization.PivotPositionList).Descendants()) { var position = fieldPositionSerializer.Deserialize <PivotPosition>(positionElement, serializationContext); var fieldName = positionElement.GetAttribute(CoreConstants.Serialization.Attribute.Name); populationPivotAnalysis.SetPosition(fieldName, position); } }
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(Cache <TKey, TValue> cache, SerializationContext serializationContext) { var element = base.TypedSerialize(cache, serializationContext); var keyListSerializer = SerializerRepository.SerializerFor <List <TKey> >(); var valueListSerializer = SerializerRepository.SerializerFor <List <TValue> >(); var keysElement = keyListSerializer.Serialize(cache.Keys.ToList(), serializationContext); keysElement.Name = Constants.Serialization.KEYS; var valuesElement = valueListSerializer.Serialize(cache.ToList(), serializationContext); valuesElement.Name = Constants.Serialization.VALUES; element.Add(keysElement); element.Add(valuesElement); return(element); }
protected override void TypedDeserialize(Cache <TKey, TValue> cache, XElement element, SerializationContext serializationContext) { base.TypedDeserialize(cache, element, serializationContext); var keysElement = element.Element(Constants.Serialization.KEYS); var valuesElement = element.Element(Constants.Serialization.VALUES); var keyListSerializer = SerializerRepository.SerializerFor <List <TKey> >(); var valueListSerializer = SerializerRepository.SerializerFor <List <TValue> >(); var keys = keyListSerializer.Deserialize <List <TKey> >(keysElement, serializationContext); var values = valueListSerializer.Deserialize <List <TValue> >(valuesElement, serializationContext); for (int i = 0; i < keys.Count; i++) { cache.Add(keys[i], values[i]); } }
protected override void TypedDeserialize(ParameterValues parameterValues, XElement element, SerializationContext serializationContext) { base.TypedDeserialize(parameterValues, element, serializationContext); var percentilesElements = element.Element(CoreConstants.Serialization.Percentiles); if (element.Element(CoreConstants.Serialization.Percentiles) != null) { var percentileSerializer = SerializerRepository.SerializerFor <List <double> >(); parameterValues.Percentiles = percentileSerializer.Deserialize <List <double> >(percentilesElements, serializationContext); } else { parameterValues.Percentiles = new double[parameterValues.Count].InitializeWith(CoreConstants.DEFAULT_PERCENTILE).ToList(); } }
protected override XElement TypedSerialize(ParameterValues parameterValues, SerializationContext serializationContext) { var element = base.TypedSerialize(parameterValues, serializationContext); var allPercentiles = parameterValues.Percentiles.Distinct().ToList(); if (allPercentiles.Count == 1 && allPercentiles[0] == CoreConstants.DEFAULT_PERCENTILE) { return(element); } var doubleSerializer = SerializerRepository.SerializerFor(parameterValues.Percentiles); element.Add(doubleSerializer.Serialize(parameterValues.Percentiles, serializationContext)); return(element); }
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 void TypedDeserialize(ICache <TKey, TValue> cache, XElement cacheElement, TContext context) { foreach (XElement keyValueElement in cacheElement.Elements(KeyValueNode)) { //not right format if (keyValueElement.Elements().Count() < 2) { continue; } var keyNode = keyValueElement.Elements().ElementAt(0); var valueNode = keyValueElement.Elements().ElementAt(1); var key = SerializerRepository.SerializerFor(keyNode).Deserialize <TKey>(keyNode, context); var value = SerializerRepository.SerializerFor(valueNode).Deserialize <TValue>(valueNode, context); cache.Add(key, value); } }
protected override XElement TypedSerialize(MoBiSimulation simulation, SerializationContext serializationContext) { var xElement = base.TypedSerialize(simulation, serializationContext); var chartSerializer = SerializerRepository.SerializerFor <CurveChart>(); var diagramSerializer = serializationContext.Resolve <IDiagramModelToXmlMapper>(); if (simulation.DiagramModel != null) { xElement.Add(diagramSerializer.DiagramModelToXmlDocument(simulation.DiagramModel).ToXElement()); } if (simulation.Chart != null) { xElement.Add(chartSerializer.Serialize(simulation.Chart, serializationContext)); } return(xElement); }