public void DeserializeJson() { var typeMap = new GeneralPartitionableTypeMap(); var typekey = typeMap.GetTypeKey(typeof(string)); var envelope = new BinaryEnvelope { EventPayload = Encoding.UTF8.GetBytes(@"""A"""), PayloadId = "daf0be6e-da1e-5a6a-0d49-69782745c885", Protocol = "JSON" }; var typekey2 = typeMap.GetInputKey(envelope); Assert.AreEqual(typekey, typekey2); var result = typeMap.GetTransform(typeof(string))(envelope); Assert.AreEqual("A", result); }
public void DeserializeBondV1() { var typeMap = new GeneralPartitionableTypeMap(); var typekey = typeMap.GetTypeKey(typeof(TestBondClass)); var envelope = new BinaryEnvelope { EventPayload = new byte[] { 41, 1, 65, 0 }, PayloadId = "daf0be6e-da1e-5a6a-0d49-69782745c886", Protocol = "BOND_V1" }; var typekey2 = typeMap.GetInputKey(envelope); Assert.AreEqual(typekey, typekey2); var result = typeMap.GetTransform(typeof(TestBondClass))(envelope); }
/// <summary> /// Returns argument values to pass to into the data context's constructor, based on a given connection info. /// </summary> /// <param name="cxInfo"> Connection information, as entered by the user. </param> /// <returns> Argument values to pass to into the data context's constructor. </returns> public override object[] GetContextConstructorArguments(IConnectionInfo cxInfo) { var playback = new Playback(); var bondInEtwProperties = new BondInEtwProperties(cxInfo); try { var bondTypemap = new GeneralPartitionableTypeMap(); var typeMaps = TypeFinder .LoadTypeMaps(TypeCache.ResolveCacheDirectory(bondInEtwProperties.ContextName)) .Where(i => i != typeof(GeneralPartitionableTypeMap)) .Select(Activator.CreateInstance) .OfType <ITypeMap <BinaryEnvelope> >() .Concat(new[] { bondTypemap }) .ToArray(); foreach (var file in bondInEtwProperties.Files) { var file1 = file; ((IPlaybackConfiguration)playback).AddInput( () => BinaryEtwObservable.FromFiles(file1), typeMaps); } Thread.SetData(LocalDataStoreSlot, playback); return(new object[] { playback }); } catch (Exception error) { MessageBox.Show(error.Message, "Error compiling generated code."); } return(new object[0]); }
/// <summary> /// Returns argument values to pass to into the data context's constructor, based on a given connection info. /// </summary> /// <param name="cxInfo"> Connection information, as entered by the user. </param> /// <returns> Argument values to pass to into the data context's constructor. </returns> public override object[] GetContextConstructorArguments(IConnectionInfo cxInfo) { var playback = new Playback(); var bondInEtwProperties = new BondInEtwProperties(cxInfo); try { var bondTypemap = new GeneralPartitionableTypeMap(); var typeMaps = TypeFinder .LoadTypeMaps(TypeCache.ResolveCacheDirectory(bondInEtwProperties.ContextName)) .Where(i => i != typeof(GeneralPartitionableTypeMap)) .Select(Activator.CreateInstance) .OfType<ITypeMap<BinaryEnvelope>>() .Concat(new[] { bondTypemap }) .ToArray(); foreach (var file in bondInEtwProperties.Files) { var file1 = file; ((IPlaybackConfiguration)playback).AddInput( () => BinaryEtwObservable.FromFiles(file1), typeMaps); } Thread.SetData(LocalDataStoreSlot, playback); return new object[] { playback }; } catch (Exception error) { MessageBox.Show(error.Message, "Error compiling generated code."); } return new object[0]; }