コード例 #1
0
        public void AddCorpus(string corpus_caption, string txt_files, CorpusFormat.CorpusFormatDecriptor corpus_format, bool do_index)
        {
            if (string.IsNullOrEmpty(corpus_caption))
            {
                throw new ArgumentException("corpus_caption");
            }

            if (string.IsNullOrEmpty(txt_files))
            {
                throw new ArgumentException("txt_files");
            }

            if (corpus_format == null)
            {
                throw new ArgumentNullException("corpus_format");
            }

            log4net.ILog log = log4net.LogManager.GetLogger(typeof(Corpora_ViewModel));
            log.InfoFormat("{0} corpus_caption={1} txt_files={1} format={2} do_index={3}", nameof(AddCorpus), corpus_caption, txt_files, corpus_format, do_index);

            //db_session.Clear();

            try
            {
                using (var db_session = session_factory.OpenSession())
                {
                    using (var tx = db_session.BeginTransaction())
                    {
                        DbObjectMappings.CorpusInfo new_corpus = new DbObjectMappings.CorpusInfo();
                        new_corpus.Caption      = corpus_caption;
                        new_corpus.TxtFilesPath = txt_files;
                        new_corpus.CorpusFormat = corpus_format.ToJSON();

                        db_session.Save(new_corpus);

                        tx.Commit();

                        log.Info("tx.Commit OK");

                        corpus_infos.Add(new_corpus);
                        SelectedCorpus = new_corpus;
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
            }

            return;
        }
コード例 #2
0
 private string GetIndexFolder(DbObjectMappings.CorpusInfo corpus)
 {
     Contract.Requires(!string.IsNullOrEmpty(indexes_folder));
     return(System.IO.Path.Combine(indexes_folder, corpus.Id.ToString()));
 }