public void Initialize() { KnownTypesBinder.AddKnownType(typeof(AndRuleNode)); KnownTypesBinder.AddKnownType(typeof(BooleanRuleNode)); KnownTypesBinder.AddKnownType(typeof(ComparisonOperator)); KnownTypesBinder.AddKnownType(typeof(ComparisonRuleNode)); KnownTypesBinder.AddKnownType(typeof(CrossTrustBoundaryRuleNode)); KnownTypesBinder.AddKnownType(typeof(EnumValueRuleNode)); KnownTypesBinder.AddKnownType(typeof(NaryRuleNode)); KnownTypesBinder.AddKnownType(typeof(NotRuleNode)); KnownTypesBinder.AddKnownType(typeof(OrRuleNode)); KnownTypesBinder.AddKnownType(typeof(SelectionRule)); KnownTypesBinder.AddKnownType(typeof(SelectionRuleNode)); KnownTypesBinder.AddKnownType(typeof(UnaryRuleNode)); KnownTypesBinder.AddKnownType(typeof(MitigationSelectionRule)); KnownTypesBinder.AddKnownType(typeof(HasIncomingRuleNode)); KnownTypesBinder.AddKnownType(typeof(HasOutgoingRuleNode)); KnownTypesBinder.AddKnownType(typeof(TruismRuleNode)); KnownTypesBinder.AddKnownType(typeof(EntityTemplateRuleNode)); KnownTypesBinder.AddKnownType(typeof(ExternalInteractorTemplateRuleNode)); KnownTypesBinder.AddKnownType(typeof(ProcessTemplateRuleNode)); KnownTypesBinder.AddKnownType(typeof(DataStoreTemplateRuleNode)); KnownTypesBinder.AddKnownType(typeof(FlowTemplateRuleNode)); KnownTypesBinder.AddKnownType(typeof(TrustBoundaryTemplateRuleNode)); }
public static void TestSerializationBinderInterface() { KnownTypesBinder knownTypesBinder = new KnownTypesBinder { KnownTypes = new List <Type> { typeof(Car) } }; Car car = new Car { Maker = "Ford", Model = "Explorer" }; string json = JsonConvert.SerializeObject(car, Formatting.None, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects, SerializationBinder = knownTypesBinder }); Assert.AreEqual("{\"$type\":\"Car\",\"Maker\":\"Ford\",\"Model\":\"Explorer\"}", json, "Serialized string is the expected one."); object newValue = JsonConvert.DeserializeObject(json, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects, SerializationBinder = knownTypesBinder }); Assert.AreEqual("Car", newValue.GetType().Name, "Serialized representation of the Car object is correctly deserialized."); }
public MainViewModel() { _jsonSerializerSettings = new Newtonsoft.Json.JsonSerializerSettings(); _jsonSerializerSettings.TypeNameHandling = Newtonsoft.Json.TypeNameHandling.Auto; // @note: for removing assembly-name because of unity.iOS issue KnownTypesBinder knownTypesBinder = new KnownTypesBinder { KnownTypes = new List <Type> { typeof(Sugarism.Scenario), typeof(Sugarism.Scene), typeof(Sugarism.CmdAppear), typeof(Sugarism.CmdBackground), typeof(Sugarism.CmdCase), typeof(Sugarism.CmdDisappear), typeof(Sugarism.CmdFeeling), typeof(Sugarism.CmdFilter), typeof(Sugarism.CmdLines), typeof(Sugarism.CmdMiniPicture), typeof(Sugarism.CmdPicture), typeof(Sugarism.CmdSE), typeof(Sugarism.CmdSwitch), typeof(Sugarism.CmdTargetAppear), typeof(Sugarism.CmdText) } }; _jsonSerializerSettings.SerializationBinder = knownTypesBinder; _selectedScenario = null; _scenarioList = new ObservableCollection <Scenario>(); AddSampleScenario(); }
private void InitializeEngineKnownTypes() { KnownTypesBinder.AddKnownType(typeof(bool)); KnownTypesBinder.AddKnownType(typeof(string)); KnownTypesBinder.AddKnownType(typeof(int)); KnownTypesBinder.AddKnownType(typeof(decimal)); KnownTypesBinder.AddKnownType(typeof(System.Drawing.PointF)); InitializeKnownTypes(Assembly.GetExecutingAssembly()); }
public void Initialize() { KnownTypesBinder.AddKnownType(typeof(FalsePositiveList)); KnownTypesBinder.AddKnownType(typeof(FalsePositiveInfo)); KnownTypesBinder.AddKnownType(typeof(Annotation)); KnownTypesBinder.AddKnownType(typeof(AnnotationAnswer)); KnownTypesBinder.AddKnownType(typeof(TopicToBeClarified)); KnownTypesBinder.AddKnownType(typeof(Question)); KnownTypesBinder.AddKnownType(typeof(Highlight)); KnownTypesBinder.AddKnownType(typeof(ReviewNote)); }
private void InitializeKnownTypes([NotNull] Type type) { if (type.GetCustomAttributes <JsonObjectAttribute>().Any()) { KnownTypesBinder.AddKnownType(type); var interfaces = type.GetInterfaces(); foreach (var i in interfaces) { KnownTypesBinder.AddKnownType(i); } } }
public void Initialize() { KnownTypesBinder.AddKnownType(typeof(MitigationSelectionRule)); var assemblyName = Assembly.GetExecutingAssembly().GetName().Name; KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.AndRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.AndRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.BooleanRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.BooleanRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.ComparisonOperator", typeof(ThreatsManager.AutoGenRules.Engine.ComparisonOperator)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.ComparisonRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.ComparisonRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.CrossTrustBoundaryRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.CrossTrustBoundaryRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.EnumValueRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.EnumValueRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.NaryRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.NaryRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.NotRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.NotRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.OrRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.OrRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.SelectionRule", typeof(ThreatsManager.AutoGenRules.Engine.SelectionRule)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.SelectionRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.SelectionRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.UnaryRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.UnaryRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.HasIncomingRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.HasIncomingRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.HasOutgoingRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.HasOutgoingRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.TruismRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.TruismRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.EntityTemplateRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.EntityTemplateRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.ExternalInteractorTemplateRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.ExternalInteractorTemplateRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.ProcessTemplateRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.ProcessTemplateRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.DataStoreTemplateRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.DataStoreTemplateRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.FlowTemplateRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.FlowTemplateRuleNode)); KnownTypesBinder.AddEquivalence(assemblyName, "ThreatsManager.AutoThreatGeneration.Engine.TrustBoundaryTemplateRuleNode", typeof(ThreatsManager.AutoGenRules.Engine.TrustBoundaryTemplateRuleNode)); }
public void Initialize() { KnownTypesBinder.AddKnownType(typeof(DevOpsInfo)); KnownTypesBinder.AddKnownType(typeof(DevOpsConnectionInfo)); KnownTypesBinder.AddKnownType(typeof(DevOpsWorkItemConnectionInfo)); KnownTypesBinder.AddKnownType(typeof(DevOpsConnection)); KnownTypesBinder.AddKnownType(typeof(DevOpsWorkItemStateMapping)); KnownTypesBinder.AddKnownType(typeof(DevOpsFieldMapping)); KnownTypesBinder.AddKnownType(typeof(DevOpsItemInfo)); KnownTypesBinder.AddKnownType(typeof(ReviewInfo)); KnownTypesBinder.AddKnownType(typeof(Iteration)); KnownTypesBinder.AddKnownType(typeof(Iterations)); KnownTypesBinder.AddKnownType(typeof(IterationRisk)); KnownTypesBinder.AddKnownType(typeof(IterationInfo)); }
public void Example() { #region Usage KnownTypesBinder knownTypesBinder = new KnownTypesBinder { KnownTypes = new List <Type> { typeof(Car) } }; Car car = new Car { Maker = "Ford", Model = "Explorer" }; string json = JsonConvert.SerializeObject( car, Formatting.Indented, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects, SerializationBinder = knownTypesBinder } ); Console.WriteLine(json); // { // "$type": "Car", // "Maker": "Ford", // "Model": "Explorer" // } object newValue = JsonConvert.DeserializeObject( json, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects, SerializationBinder = knownTypesBinder } ); Console.WriteLine(newValue.GetType().Name); // Car #endregion Assert.AreEqual("Car", newValue.GetType().Name); }
void ExecutePlugin(PluginExecutionDto objectToRun, PluginInvokeArgs setupInfo, Assembly loadedAssembly, IDev2MethodInfo dev2MethodInfo) { VerifyArgument.IsNotNull("objectToRun", objectToRun); VerifyArgument.IsNotNull("loadedAssembly", loadedAssembly); VerifyArgument.IsNotNull("setupInfo", setupInfo); var type = loadedAssembly.GetType(setupInfo.Fullname); var knownBinder = new KnownTypesBinder(); loadedAssembly.ExportedTypes.ForEach(t => knownBinder.KnownTypes.Add(t)); if (objectToRun.IsStatic) { ExecuteSingleMethod(type, null, InvokeMethodsAction, loadedAssembly, dev2MethodInfo); return; } var instance = objectToRun.ObjectString.DeserializeToObject(type, knownBinder); ExecuteSingleMethod(type, instance, InvokeMethodsAction, loadedAssembly, dev2MethodInfo); objectToRun.ObjectString = instance.SerializeToJsonString(knownBinder);// }
public void Initialize() { KnownTypesBinder.AddKnownType(typeof(AndRuleNode)); KnownTypesBinder.AddKnownType(typeof(BooleanRuleNode)); KnownTypesBinder.AddKnownType(typeof(ComparisonOperator)); KnownTypesBinder.AddKnownType(typeof(ComparisonRuleNode)); KnownTypesBinder.AddKnownType(typeof(CrossTrustBoundaryRuleNode)); KnownTypesBinder.AddKnownType(typeof(EnumValueRuleNode)); KnownTypesBinder.AddKnownType(typeof(NaryRuleNode)); KnownTypesBinder.AddKnownType(typeof(NotRuleNode)); KnownTypesBinder.AddKnownType(typeof(OrRuleNode)); KnownTypesBinder.AddKnownType(typeof(SelectionRule)); KnownTypesBinder.AddKnownType(typeof(SelectionRuleNode)); KnownTypesBinder.AddKnownType(typeof(UnaryRuleNode)); KnownTypesBinder.AddKnownType(typeof(MitigationSelectionRule)); KnownTypesBinder.AddKnownType(typeof(HasIncomingRuleNode)); KnownTypesBinder.AddKnownType(typeof(HasOutgoingRuleNode)); KnownTypesBinder.AddKnownType(typeof(TruismRuleNode)); }
void ExecuteSingleMethod(Type type, object instance, Func <MethodInfo, object, List <object>, Type, object> invokeMethodsAction, Assembly loadedAssembly, IDev2MethodInfo dev2MethodInfo) { if (dev2MethodInfo.Parameters != null) { var typeList = BuildTypeList(dev2MethodInfo.Parameters, loadedAssembly); var valuedTypeList = new List <object>(); foreach (var methodParameter in dev2MethodInfo.Parameters) { var valuesForParameters = SetupValuesForParameters(methodParameter.Value, methodParameter.TypeName, methodParameter.EmptyToNull, loadedAssembly); if (valuesForParameters != null) { var item = valuesForParameters.FirstOrDefault(); valuedTypeList.Add(item); } } MethodInfo methodToRun; if (typeList.Count == 0) { try { methodToRun = type.GetMethod(dev2MethodInfo.Method); } catch (Exception) { methodToRun = type.GetMethods().SingleOrDefault(info => info.Name.Equals(dev2MethodInfo.Method) && !info.GetParameters().Any()); } } else { methodToRun = type.GetMethod(dev2MethodInfo.Method, typeList.ToArray()); } var methodsActionResult = invokeMethodsAction?.Invoke(methodToRun, instance, valuedTypeList, type); var knownBinder = new KnownTypesBinder(); knownBinder.KnownTypes.Add(type); knownBinder.KnownTypes.Add(methodsActionResult?.GetType()); dev2MethodInfo.MethodResult = methodsActionResult.SerializeToJsonString(knownBinder); } }
public void Example() { #region Usage KnownTypesBinder knownTypesBinder = new KnownTypesBinder { KnownTypes = new List<Type> { typeof(Car) } }; Car car = new Car { Maker = "Ford", Model = "Explorer" }; string json = JsonConvert.SerializeObject(car, Formatting.Indented, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects, Binder = knownTypesBinder }); Console.WriteLine(json); // { // "$type": "Car", // "Maker": "Ford", // "Model": "Explorer" // } object newValue = JsonConvert.DeserializeObject(json, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects, Binder = knownTypesBinder }); Console.WriteLine(newValue.GetType().Name); // Car #endregion Assert.AreEqual("Car", newValue.GetType().Name); }
public void Initialize() { KnownTypesBinder.AddKnownType(typeof(Fact)); KnownTypesBinder.AddKnownType(typeof(FactContainer)); KnownTypesBinder.AddKnownType(typeof(FactHardNumber)); KnownTypesBinder.AddKnownType(typeof(FactProbRange)); KnownTypesBinder.AddKnownType(typeof(FactRange)); KnownTypesBinder.AddKnownType(typeof(ContactFrequency)); KnownTypesBinder.AddKnownType(typeof(Estimation)); KnownTypesBinder.AddKnownType(typeof(FactBased)); KnownTypesBinder.AddKnownType(typeof(Frequency)); KnownTypesBinder.AddKnownType(typeof(Loss)); KnownTypesBinder.AddKnownType(typeof(LossEventFrequency)); KnownTypesBinder.AddKnownType(typeof(LossMagnitude)); KnownTypesBinder.AddKnownType(typeof(Magnitude)); KnownTypesBinder.AddKnownType(typeof(Probability)); KnownTypesBinder.AddKnownType(typeof(Risk)); KnownTypesBinder.AddKnownType(typeof(ThreatEventFrequency)); KnownTypesBinder.AddKnownType(typeof(Vulnerability)); KnownTypesBinder.AddKnownType(typeof(Threshold)); KnownTypesBinder.AddKnownType(typeof(Thresholds)); }
public void Initialize() { KnownTypesBinder.AddKnownType(typeof(Annotations.Annotations)); }
public void Initialize() { KnownTypesBinder.AddKnownType(typeof(ResidualRiskEstimatorConfiguration)); KnownTypesBinder.AddKnownType(typeof(ResidualRiskEstimatorParameter)); }
public void Initialize() { KnownTypesBinder.AddKnownType(typeof(FalsePositiveList)); KnownTypesBinder.AddKnownType(typeof(FalsePositiveInfo)); }
public void Initialize() { KnownTypesBinder.AddKnownType(typeof(Annotations.Annotations)); KnownTypesBinder.AddKnownType(typeof(CalculatedSeverityConfiguration)); }
public void Initialize() { KnownTypesBinder.AddKnownType(typeof(DefinitionContainer)); }