public List <int> RetrieveLanguageIdsFromRules() { List <int> list = new List <int>(); foreach (KeyValuePair <int, ICategoryDefinition> categoryDefinition in Categories) { if (!categoryDefinition.Value.Enabled) { continue; } foreach (KeyValuePair <int, IRuleDefinition> ruleDefinition in categoryDefinition.Value.Rules) { if (!ruleDefinition.Value.Enabled) { continue; } IConfigurationProxy configProxy = ProxyHome.Instance.RetrieveConfigurationProxy(ConfigKeyKeeper.Instance.AccessKey); IRuleDeclaration ruleDeclaration = configProxy.RuleDeclarationFromCategoryIdAndRuleId(categoryDefinition.Value.CategoryDeclarationReferenceId, ruleDefinition.Value.RuleDeclarationReferenceId); foreach (KeyValuePair <int, ILanguageDeclaration> pair in ruleDeclaration.Languages) { ILanguageDeclaration languageReference = pair.Value; if (!list.Contains(languageReference.Id)) { list.Add(languageReference.Id); } } } } return(list); }
public static ILanguageDeclaration LanguageDeclarationMapper(Model.LanguageDeclaration languageDeclaration) { ILanguageDeclaration language = null; try { language = ConfigurationComponentFactory().ConfigurationFactory <ILanguageDeclaration>(typeof(ILanguageDeclaration)); } catch (Exception e) { throw new DataAccessComponentException(null, -1, "Configuration proxy factory failure - unable to create an instance of " + typeof(ILanguageDeclaration) + "?", e); } try { language.Id = languageDeclaration.Id; language.Name = languageDeclaration.Name; language.Extension = languageDeclaration.Extension; } catch (Exception e) { throw new DataAccessComponentException(null, -1, "Mapping process failure?", e); } return(language); }
public static Model.LanguageDeclaration LanguageDeclarationMapper(ILanguageDeclaration declaration, CodeAnalyzerContainer context) { Model.LanguageDeclaration languageDeclaration = context.LanguageDeclaration.SingleOrDefault(l => l.Id == declaration.Id); if (languageDeclaration == null) return new Model.LanguageDeclaration { Name = declaration.Name, Extension = declaration.Extension, }; return languageDeclaration; }
public static Model.LanguageDeclaration LanguageDeclarationMapper(ILanguageDeclaration declaration, CodeAnalyzerContainer context) { Model.LanguageDeclaration languageDeclaration = context.LanguageDeclaration.SingleOrDefault(l => l.Id == declaration.Id); if (languageDeclaration == null) { return new Model.LanguageDeclaration { Name = declaration.Name, Extension = declaration.Extension, } } ; return(languageDeclaration); }
public IEnumerable <ILanguageDeclaration> LoadLanguageDeclarations() { using (CodeAnalyzerContainer context = new CodeAnalyzerContainer()) { var result = context.LanguageDeclaration.Select(l => l); //var result = from languages in context.LanguageDeclaration // select languages; List <ILanguageDeclaration> domainLanguageDeclarations = new List <ILanguageDeclaration>(); foreach (LanguageDeclaration lang in result) { ILanguageDeclaration l = ToDomainModelMapper.LanguageDeclarationMapper(lang); domainLanguageDeclarations.Add(l); } return(domainLanguageDeclarations); } }
private bool ValidateLanguage(ILanguageDeclaration languageDeclaration) { if (string.IsNullOrEmpty(languageDeclaration.Extension)) { Log.Error(string.Format("No 'Extension' defined for language '{0}' with ID='{1}'.", languageDeclaration.Name, languageDeclaration.Id)); return(false); } if (!languageDeclaration.Extension.StartsWith("*.")) { Log.Error(string.Format("The 'Extension' must start with '*.' and it didn't for language '{0}' with ID='{1}'.", languageDeclaration.Name, languageDeclaration.Id)); return(false); } if (languageDeclaration.Extension.Length < 2) { Log.Error(string.Format("The 'Extension' must be at least 2 characters long and it wasn't for language '{0}' with ID='{1}'.", languageDeclaration.Name, languageDeclaration.Id)); return(false); } return(true); }
public void ConfigurationFactory_AllSupportedTypes_ReturnsValidObject() { ConfigurationComponentFactory factory = ConfigurationComponentFactory.Instance; factory.InitializeComponentAccessPermissions(AppManager); Debug.Assert(factory != null, "proxy != null"); ILanguageDeclaration languageDeclaration = factory.ConfigurationFactory <ILanguageDeclaration>(typeof(ILanguageDeclaration)); IRuleDeclaration ruleDeclaration = factory.ConfigurationFactory <IRuleDeclaration>(typeof(IRuleDeclaration)); IProjectDefinition projectDefinition = factory.ConfigurationFactory <IProjectDefinition>(typeof(IProjectDefinition)); ICategoryDefinition categoryDefinition = factory.ConfigurationFactory <ICategoryDefinition>(typeof(ICategoryDefinition)); IRuleDefinition ruleDefinition = factory.ConfigurationFactory <IRuleDefinition>(typeof(IRuleDefinition)); IDirectoryDefinition directoryDefinition = factory.ConfigurationFactory <IDirectoryDefinition>(typeof(IDirectoryDefinition)); IFileDefinition fileDefinition = factory.ConfigurationFactory <IFileDefinition>(typeof(IFileDefinition)); Assert.IsNotNull(languageDeclaration); Assert.IsNotNull(ruleDeclaration); Assert.IsNotNull(projectDefinition); Assert.IsNotNull(categoryDefinition); Assert.IsNotNull(ruleDefinition); Assert.IsNotNull(directoryDefinition); Assert.IsNotNull(fileDefinition); }
public static XmlNode CreateLanguageDeclarationXmlNode(XmlDocument doc, ILanguageDeclaration declaration) { // <LanguageDeclaration Id="{C224974D-E493-42C2-960F-DBE6BB64C946}"> // <Name><CDATA ELEMENT></Name> // <Extension>*.cs</Extension> // </LanguageDeclaration> XmlNode languageDeclarationNode = doc.CreateNode(XmlNodeType.Element, "LanguageDeclaration", null); XmlNode nameNode = doc.CreateNode(XmlNodeType.Element, "Name", null); XmlNode extensionNode = doc.CreateNode(XmlNodeType.Element, "Extension", null); XmlAttribute idAttrib = doc.CreateAttribute("Id"); idAttrib.Value = declaration.Id.ToString(); languageDeclarationNode.Attributes.Append(idAttrib); XmlCDataSection cdataNameNode = doc.CreateCDataSection(declaration.Name); nameNode.AppendChild(cdataNameNode); extensionNode.InnerText = declaration.Extension; languageDeclarationNode.AppendChild(nameNode); languageDeclarationNode.AppendChild(extensionNode); return(languageDeclarationNode); }
private bool ValidateLanguage(ILanguageDeclaration languageDeclaration) { if (string.IsNullOrEmpty(languageDeclaration.Extension)) { Log.Error(string.Format("No 'Extension' defined for language '{0}' with ID='{1}'.", languageDeclaration.Name, languageDeclaration.Id)); return false; } if (!languageDeclaration.Extension.StartsWith("*.")) { Log.Error(string.Format("The 'Extension' must start with '*.' and it didn't for language '{0}' with ID='{1}'.", languageDeclaration.Name, languageDeclaration.Id)); return false; } if (languageDeclaration.Extension.Length < 2) { Log.Error(string.Format("The 'Extension' must be at least 2 characters long and it wasn't for language '{0}' with ID='{1}'.", languageDeclaration.Name, languageDeclaration.Id)); return false; } return true; }
public static XmlNode CreateLanguageDeclarationXmlNode(XmlDocument doc, ILanguageDeclaration declaration) { // <LanguageDeclaration Id="{C224974D-E493-42C2-960F-DBE6BB64C946}"> // <Name><CDATA ELEMENT></Name> // <Extension>*.cs</Extension> // </LanguageDeclaration> XmlNode languageDeclarationNode = doc.CreateNode(XmlNodeType.Element, "LanguageDeclaration", null); XmlNode nameNode = doc.CreateNode(XmlNodeType.Element, "Name", null); XmlNode extensionNode = doc.CreateNode(XmlNodeType.Element, "Extension", null); XmlAttribute idAttrib = doc.CreateAttribute("Id"); idAttrib.Value = declaration.Id.ToString(); languageDeclarationNode.Attributes.Append(idAttrib); XmlCDataSection cdataNameNode = doc.CreateCDataSection(declaration.Name); nameNode.AppendChild(cdataNameNode); extensionNode.InnerText = declaration.Extension; languageDeclarationNode.AppendChild(nameNode); languageDeclarationNode.AppendChild(extensionNode); return languageDeclarationNode; }