public static DictionaryStore Load(string xmlPath) { var entriesByKanji = new Dictionary <string, List <DictionaryEntry> >(); var entriesByReading = new Dictionary <string, List <DictionaryEntry> >(); foreach (var entry in DictionaryXmlReader.ReadEntries(xmlPath)) { foreach (var kanji in entry.Kanji) { if (!entriesByKanji.TryGetValue(kanji, out var entryList)) { entryList = new List <DictionaryEntry>(1); entriesByKanji.Add(kanji, entryList); } entryList.Add(entry); } foreach (var reading in entry.Readings) { if (!entriesByReading.TryGetValue(reading, out var entryList)) { entryList = new List <DictionaryEntry>(1); entriesByReading.Add(reading, entryList); } entryList.Add(entry); } } return(new DictionaryStore(entriesByKanji, entriesByReading)); }
public void Save(string key, string value){ UserModelDifferenceObject userModelDifferenceObject = new QueryUserModelDifferenceObject(_session).GetActiveModelDifference(_applicationName); Dictionary dictionary = userModelDifferenceObject.GetCombinedModel(); DictionaryNode dictionaryNode = new DictionaryXmlReader().ReadFromString(value); var dictionary1 = new Dictionary(new DictionaryNode(ApplicationNodeWrapper.NodeName), userModelDifferenceObject.PersistentApplication.Model.Schema); dictionary1.RootNode.AddChildNode("Views").AddChildNode(dictionaryNode); dictionary.CombineWith(dictionary1); userModelDifferenceObject.Model = dictionary.GetDiffs(); ObjectSpace.FindObjectSpace(userModelDifferenceObject).CommitChanges(); }
public void Save(string key, string value) { UserModelDifferenceObject userModelDifferenceObject = new QueryUserModelDifferenceObject(_session).GetActiveModelDifference(_applicationName); Dictionary dictionary = userModelDifferenceObject.GetCombinedModel(); DictionaryNode dictionaryNode = new DictionaryXmlReader().ReadFromString(value); var dictionary1 = new Dictionary(new DictionaryNode(ApplicationNodeWrapper.NodeName), userModelDifferenceObject.PersistentApplication.Model.Schema); dictionary1.RootNode.AddChildNode("Views").AddChildNode(dictionaryNode); dictionary.CombineWith(dictionary1); userModelDifferenceObject.Model = dictionary.GetDiffs(); ObjectSpace.FindObjectSpace(userModelDifferenceObject).CommitChanges(); }
private Dictionary loadFromPath(Dictionary dictionary) { foreach (var s in GetModelPaths().Where(s => Path.GetFileName(s).ToLower().StartsWith("model") && s.IndexOf(".User") == -1)) { var dictionaryNode = new DictionaryXmlReader().ReadFromFile(s); string replace = s.Replace(".xafml", ""); string aspect = DictionaryAttribute.DefaultLanguage; if (replace.IndexOf("_") > -1) aspect = replace.Substring(replace.IndexOf("_") + 1); dictionary.AddAspect(aspect, dictionaryNode); } SaveDifference(dictionary); return dictionary; }
public void Model_With_UpDownDotSymbol_Inside_AttributeValue_Is_Valid() { string ss = "{0:ProductName}<br>{0:Version}<br><br>{0:Copyright}<br><br>{0:Company}<br><br>{0:Description}".XMLEncode(); string formatStr = "<Application><Views><DetailView><Items><StaticText ID=\"AboutText\" Text=\"" +ss+ "\"/></Items></DetailView></Views></Application>"; DictionaryNode readFromString = new DictionaryXmlReader().ReadFromString(formatStr); var dictionary1 = new Dictionary(readFromString, Schema.GetCommonSchema()); var differenceObject = Isolate.Fake.Instance<DifferenceObject>(Members.CallOriginal, ConstructorWillBe.Called, Session.DefaultSession); differenceObject.Model=dictionary1.Clone(); differenceObject.Save(); differenceObject.Reload(); Assert.AreEqual(dictionary1.RootNode.ToXml(), differenceObject.Model.RootNode.ToXml()); }
//private static DictionaryStore _store = LoadStore(); internal static void Compile() { // Ensures index backwards compatibility var AppLuceneVersion = LuceneVersion.LUCENE_48; var indexLocation = @"C:\temp\jmdictindex"; if (System.IO.Directory.Exists(indexLocation)) { System.IO.Directory.Delete(indexLocation, recursive: true); } using var dir = FSDirectory.Open(indexLocation); //create an analyzer to process the text //using var analyzer = new StandardAnalyzer(AppLuceneVersion); using var analyzer = new KeywordAnalyzer(); //create an index writer var indexConfig = new IndexWriterConfig(AppLuceneVersion, analyzer); using var writer = new IndexWriter(dir, indexConfig); int count = 0; var glossType = new FieldType { IsStored = true, }; foreach (var entry in DictionaryXmlReader.ReadEntries(@"C:\Data\OneDrive\Study & Practice\Japanese\JMdict\JMdict_e.xml")) { var doc = new Document(); /* * { * // StringField indexes but doesn't tokenize * new StringField("kanji", source.Name, Field.Store.YES), * new TextField("favoritePhrase", source.FavoritePhrase, Field.Store.YES) * };*/ foreach (var kanji in entry.Kanji) { doc.Add(new TextField("kanji", kanji, Field.Store.YES)); } foreach (var reading in entry.Readings) { doc.Add(new TextField("reading", reading, Field.Store.YES)); } foreach (var gloss in entry.Glosses) { doc.Add(new Field("gloss", gloss, glossType)); } writer.AddDocument(doc); count++; } writer.Flush(triggerMerge: false, applyAllDeletes: false); Console.WriteLine($"Wrote {count} entries to Lucene index"); }