public void XmlNamespaceFromValidConfig() { string content = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n<sqlMapConfig xmlns=\"http://Batis.apache.org/dataMapper\"\r\nxmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n\r\n <settings>\r\n <setting useStatementNamespaces=\"true\" />\r\n <setting cacheModelsEnabled=\"true\" />\r\n <setting validateSqlMap=\"true\" />\r\n </settings>\r\n\r\n <database>\r\n <provider name=\"sqlServer\" />\r\n <dataSource name=\"Store\" connectionString=\"\"/>\r\n </database>\r\n\r\n <sqlMaps>\r\n <sqlMap embedded=\"sqlMap1.xml, CoolApp\" />\r\n </sqlMaps>\r\n</sqlMapConfig>"; var parser = new BatisXmlConfigParser().WithStringReader(new StringReader(content)).Load(); Assert.Equal(BatisXmlFileTypeEnum.SqlMapConfig, parser.BatisXmlFileType); }
public SqlMapConfig ParseSingleConfigFile(XmlFileInfo xmlDocument) { BatisXmlConfigParser parser = new BatisXmlConfigParser().WithFileInfo(xmlDocument.FilePath, xmlDocument.ProjectName).Load(); if (parser.BatisXmlFileType == BatisXmlFileTypeEnum.SqlMapConfig) { return(parser.Result); } return(new SqlMapConfig { ParsedSuccessfully = false }); }
public void SettingsFromProperConfig() { string content = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n<sqlMapConfig xmlns=\"http://Batis.apache.org/dataMapper\"\r\nxmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n\r\n <settings>\r\n <setting useStatementNamespaces=\"true\" />\r\n <setting cacheModelsEnabled=\"true\" />\r\n <setting validateSqlMap=\"true\" />\r\n </settings>\r\n\r\n <database>\r\n <provider name=\"sqlServer\" />\r\n <dataSource name=\"Store\" connectionString=\"\"/>\r\n </database>\r\n\r\n <sqlMaps>\r\n <sqlMap embedded=\"sqlMap1.xml, CoolApp\" />\r\n </sqlMaps>\r\n</sqlMapConfig>"; var parser = new BatisXmlConfigParser().WithStringReader(new StringReader(content)).Load(); var expectedSettings = new Settings { UseStatementNamespaces = true, CacheModelsEnabled = true, ValidateSqlMap = true, UseReflectionOptimizer = true, }; Assert.Equal(expectedSettings, parser.Settings); }
public void SqlMapsFromNonValidConfig() { string content = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n<sqlMapConfig xmlns=\"http://Batis.apache.org/dataMapper\"\r\nxmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n\r\n <settings>\r\n <setting useStatementNamespaces=\"true\" />\r\n <setting cacheModelsEnabled=\"true\" />\r\n <setting validateSqlMap=\"true\" />\r\n </settings>\r\n\r\n <database>\r\n <provider name=\"sqlServer\" />\r\n <dataSource name=\"Store\" connectionString=\"\"/>\r\n </database>\r\n\r\n <sqlMaps>\r\n <sqlMap embedded=\"sqlMap1.xml, CoolApp\" />\r\n </sqlMaps>\r\n</sqlMapConfig>"; var parser = new BatisXmlConfigParser().WithStringReader(new StringReader(content)).Load(); var expected = new List <SqlMapDefinition> { new SqlMapDefinition { Value = "sqlMap1.xml", RawValue = "sqlMap1.xml, CoolApp", ResourceType = XmlConfigConstants.SqlMapResourceType.EMBEDDED, }, }; var actual = parser.SqlMaps.ToList(); Assert.Single(actual); Assert.Equal(expected.Count, actual.Count); Assert.Equal(expected.First(), actual.First()); //CollectionAssert.AreEquivalent(expected, actual); //TODO: Move to nUnit or xUnit... }
public async System.Threading.Tasks.Task HandleChangeAsync(IWpfTextView textView) { try { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); var profiler = MiniProfiler.StartNew(nameof(HandleChangeAsync)); profiler.Storage = new NLogStorage(LogManager.GetLogger("profiler")); using (profiler.Step("HandleChangeXml")) { var snapshot = textView.Caret.Position.BufferPosition.Snapshot; ITextDocument textDoc; textView.TextBuffer.Properties.TryGetProperty(typeof(ITextDocument), out textDoc); using (var stringReader = new StringReader(snapshot.GetText())) { var project = GotoAsyncPackage.EnvDTE.Solution.FindProjectItem(textDoc.FilePath)?.ContainingProject?.Name; XmlParser baseParser = new XmlParser(stringReader).Load(); if (baseParser.BatisXmlFileType == BatisXmlFileTypeEnum.SqlMap) { BatisXmlMapParser parser = new BatisXmlMapParser(baseParser).WithFileInfo(textDoc.FilePath, project); var newStatments = parser.GetMapFileStatments(); GotoAsyncPackage.Storage.XmlQueries.UpdateStatmentForFileWihoutKey(newStatments); } if (baseParser.BatisXmlFileType == BatisXmlFileTypeEnum.SqlMapConfig) { BatisXmlConfigParser parser = new BatisXmlConfigParser(baseParser).WithFileInfo(textDoc.FilePath, project); GotoAsyncPackage.Storage.SqlMapConfigProvider.UpdateOrAddConfig(parser.Result); } } } } catch (Exception ex) { LogManager.GetLogger("error").Error(ex, "XmlFileContentOnChange.HandleChange"); OutputWindowLogger.WriteLn($"Exception occured during handling xml file change: {ex.Message}"); } }