public Checker(CyPhyGUIs.IInterpreterMainParameters parameters, CyPhyGUIs.GMELogger logger, IMgaTraceability traceability, CyPhyTypeFactory factory) { this.mainParameters = parameters; this.Logger = logger; this.Traceability = traceability; this.Factory = factory; }
/// <summary> /// Checks all rules from this dll. /// </summary> /// <returns>True if there are no errors, otherwise false</returns> public bool Check(IMgaTraceability traceability) { bool result = true; // check current context if (this.mainParameters.CurrentFCO == null || this.mainParameters.CurrentFCO.Meta.Name != typeof(ISIS.GME.Dsml.CyPhyML.Interfaces.TestBenchSuite).Name) { this.Logger.WriteError("A TestBenchSuite must be opened."); result = false; NbrOfErrors = 1; return(result); } // reset the results dictionary this.Results = new Dictionary <RuleDescriptor, List <RuleFeedbackBase> >(); // Create a checker object DesignConsistencyChecker.Framework.Checker dccChecker = new DesignConsistencyChecker.Framework.Checker(this.mainParameters.CurrentFCO, this.mainParameters.Project, traceability, this.Logger); dccChecker.RegisterRulesForTypes(new Type[] { typeof(CyPhySoT.Rules.Global) }, "CyPhySoT"); NbrOfErrors = 0; NbrOfWarnings = 0; // get all rules and check them List <RuleFeedbackBase> ruleFeedbacks; List <CheckerFeedback> checkerFeedbacks; dccChecker.CheckRules(dccChecker.GetRegisteredRules, out ruleFeedbacks, out checkerFeedbacks); if (ruleFeedbacks.Any(x => x.FeedbackType == FeedbackTypes.Error)) { result = false; } NbrOfErrors += ruleFeedbacks.Where(x => x.FeedbackType == FeedbackTypes.Error).Count(); NbrOfWarnings += ruleFeedbacks.Where(x => x.FeedbackType == FeedbackTypes.Warning).Count(); return(result); }
/// <summary> /// Checks all rules from this dll. /// </summary> /// <returns>True if there are no errors, otherwise false</returns> public bool Check(IMgaTraceability traceability) { bool result = true; // check current context if (this.mainParameters.CurrentFCO == null || this.mainParameters.CurrentFCO.Meta.Name != typeof(ISIS.GME.Dsml.CyPhyML.Interfaces.TestBenchSuite).Name) { this.Logger.WriteError("A TestBenchSuite must be opened."); result = false; NbrOfErrors = 1; return result; } // reset the results dictionary this.Results = new Dictionary<RuleDescriptor, List<RuleFeedbackBase>>(); // Create a checker object DesignConsistencyChecker.Framework.Checker dccChecker = new DesignConsistencyChecker.Framework.Checker(this.mainParameters.CurrentFCO, this.mainParameters.Project, traceability, this.Logger); dccChecker.RegisterRulesForTypes(new Type[] { typeof(CyPhySoT.Rules.Global) }, "CyPhySoT"); NbrOfErrors = 0; NbrOfWarnings = 0; // get all rules and check them List<RuleFeedbackBase> ruleFeedbacks; List<CheckerFeedback> checkerFeedbacks; dccChecker.CheckRules(dccChecker.GetRegisteredRules, out ruleFeedbacks, out checkerFeedbacks); if (ruleFeedbacks.Any(x => x.FeedbackType == FeedbackTypes.Error)) { result = false; } NbrOfErrors += ruleFeedbacks.Where(x => x.FeedbackType == FeedbackTypes.Error).Count(); NbrOfWarnings += ruleFeedbacks.Where(x => x.FeedbackType == FeedbackTypes.Warning).Count(); return result; }
public Unroller(MgaProject proj, IMgaTraceability Traceability = null, GMELogger Logger = null) { this.ConnectorsProcessed = new List <MgaModel>(); this.ConnectorToStandalonePortMap = new Dictionary <MgaModel, List <PortWrapper> >(); SupportedPortTypesMeta = new HashSet <int>(); foreach (var kind in SupportedPortTypes) { SupportedPortTypesMeta.Add(proj.RootMeta.RootFolder.DefinedFCOByName[kind, true].MetaRef); } MetaRef = new Dictionary <String, int>(); MetaRef.Add("Component", proj.RootMeta.RootFolder.DefinedFCOByName["Component", true].MetaRef); MetaRef.Add("ComponentAssembly", proj.RootMeta.RootFolder.DefinedFCOByName["ComponentAssembly", true].MetaRef); MetaRef.Add("Connector", proj.RootMeta.RootFolder.DefinedFCOByName["Connector", true].MetaRef); MetaRef.Add("TestBench", proj.RootMeta.RootFolder.DefinedFCOByName["TestBench", true].MetaRef); MetaRef.Add("TestComponent", proj.RootMeta.RootFolder.DefinedFCOByName["TestComponent", true].MetaRef); if (Logger == null) { this.Logger = new GMELogger(proj, "ConnectorUnroller"); myLogger = true; this.Logger.LoggingLevel = SmartLogger.MessageType_enum.Warning; } else { this.Logger = Logger; myLogger = false; } if (Traceability == null) { this.Traceability = new META.MgaTraceability(); } else { this.Traceability = Traceability; } }
public Unroller(MgaProject proj, IMgaTraceability Traceability = null, GMELogger Logger = null) { this.ConnectorsProcessed = new List<MgaModel>(); this.ConnectorToStandalonePortMap = new Dictionary<MgaModel, List<PortWrapper>>(); SupportedPortTypesMeta = new HashSet<int>(); foreach (var kind in SupportedPortTypes) { SupportedPortTypesMeta.Add(proj.RootMeta.RootFolder.DefinedFCOByName[kind, true].MetaRef); } MetaRef = new Dictionary<String, int>(); MetaRef.Add("Component", proj.RootMeta.RootFolder.DefinedFCOByName["Component", true].MetaRef); MetaRef.Add("ComponentAssembly", proj.RootMeta.RootFolder.DefinedFCOByName["ComponentAssembly", true].MetaRef); MetaRef.Add("Connector", proj.RootMeta.RootFolder.DefinedFCOByName["Connector", true].MetaRef); MetaRef.Add("TestBench", proj.RootMeta.RootFolder.DefinedFCOByName["TestBench", true].MetaRef); MetaRef.Add("TestComponent", proj.RootMeta.RootFolder.DefinedFCOByName["TestComponent", true].MetaRef); if (Logger == null) { this.Logger = new GMELogger(proj, "ConnectorUnroller"); myLogger = true; } else { this.Logger = Logger; myLogger = false; } if (Traceability == null) { this.Traceability = new META.MgaTraceability(); } else { this.Traceability = Traceability; } }
public Checker(MgaFCO model, MgaProject project, IMgaTraceability traceability = null, CyPhyGUIs.GMELogger logger = null) { Model = model; Project = project; if (logger != null) { this.Logger = logger; } else { GMEConsole = GMEConsole.CreateFromProject(project); } registeredRules = new ConcurrentDictionary <string, List <RuleDescriptor> >(); if (traceability == null) { this.Traceability = new META.MgaTraceability(); } else { this.Traceability = traceability; } }
public Checker(MgaFCO model, MgaProject project, IMgaTraceability traceability = null, CyPhyGUIs.GMELogger logger = null) { Model = model; Project = project; if (logger != null) { this.Logger = logger; } else { GMEConsole = GMEConsole.CreateFromProject(project); } registeredRules = new ConcurrentDictionary<string, List<RuleDescriptor>>(); if (traceability == null) { this.Traceability = new META.MgaTraceability(); } else { this.Traceability = traceability; } }
public Checker(CyPhyGUIs.IInterpreterMainParameters parameters, CyPhyGUIs.SmartLogger logger, IMgaTraceability traceability) { this.Logger = logger; this.mainParameters = parameters; this.Traceability = traceability; }