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));
 }
Exemple #2
0
        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.");
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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());
        }
Exemple #5
0
 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));
 }
Exemple #6
0
        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));
        }
Exemple #8
0
 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);
        }
Exemple #10
0
        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);//
        }
Exemple #11
0
 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));
 }
Exemple #12
0
        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));
 }
Exemple #15
0
 public void Initialize()
 {
     KnownTypesBinder.AddKnownType(typeof(Annotations.Annotations));
 }
Exemple #16
0
 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));
 }
Exemple #19
0
 public void Initialize()
 {
     KnownTypesBinder.AddKnownType(typeof(DefinitionContainer));
 }