Esempio n. 1
0
        private void initialize()
        {
            //Sozluk hazirla.
            Sozluk kokler = _dilBilgisi.kokler();
            //Normal denetleyici-cozumleyici olusumu
            KokBulucu kokBulucu = kokler.getKokBulucuFactory().getKesinKokBulucu();

            _cozumleyici = new StandartCozumleyici(
                kokBulucu,
                new KesinHDKiyaslayici(),
                _dilBilgisi.alfabe(),
                _dilBilgisi.ekler(),
                _dilBilgisi.cozumlemeYardimcisi());

            // ASCII-Turkce donusturucu icin tukce toleransli cozumleyici olusumu.
            KokBulucu turkceToleransliKokBulucu = kokler.getKokBulucuFactory().getAsciiKokBulucu();

            _asciiToleransliCozumleyici = new StandartCozumleyici(
                turkceToleransliKokBulucu,
                new AsciiToleransliHDKiyaslayici(),
                _dilBilgisi.alfabe(),
                _dilBilgisi.ekler(),
                _dilBilgisi.cozumlemeYardimcisi());

            KokBulucu             toleransliBulucu      = kokler.getKokBulucuFactory().getToleransliKokBulucu(1);
            ToleransliCozumleyici toleransliCozumleyici = new ToleransliCozumleyici(
                toleransliBulucu,
                _dilBilgisi.ekler(),
                _dilBilgisi.alfabe(),
                _dilBilgisi.cozumlemeYardimcisi());

            _oneriUretici = new OneriUretici(
                _dilBilgisi.cozumlemeYardimcisi(),
                _cozumleyici,
                _asciiToleransliCozumleyici,
                toleransliCozumleyici,
                _ayarlar);

            _turkceTest = new TurkceYaziTesti(_cozumleyici, _asciiToleransliCozumleyici);

            _asciiDonusturucu = new AsciiDonusturucu(_dilBilgisi.alfabe());
            _heceleyici       = new Heceleyici(_dilBilgisi.alfabe(), _dilBilgisi.heceBulucu());

            _kelimeUretici = new KelimeUretici(_dilBilgisi.alfabe(), _dilBilgisi.cozumlemeYardimcisi());
        }
        public async Task <IActionResult> Add(Sozluk sozluk, IFormFile file)
        {
            var _sozluk = new Sozluk();
            var path    = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img", file.FileName);

            using (var stream = new FileStream(path, FileMode.Create))
            {
                await file.CopyToAsync(stream);
            }

            _sozluk.Name  = sozluk.Name;
            _sozluk.Media = file.FileName;

            //FileInfo fileInfo = new FileInfo(file.FileName);
            //fileInfo.Delete();

            sozlukRepository.AddSozluk(_sozluk);
            return(RedirectToAction("Index"));
        }
Esempio n. 3
0
        /**
         * Sozluk, daha dogrusu Kokleri tasiyan agac ve iliskili kok secicileri tasiyan nesneyi uretir
         * Proje gelistirime asamasinda, eger ikili kok-sozluk dosyasi (kokler_xx.bin) dosyasi mevcut
         * degilse once onu uretmeye calisir, daha sonra asil sozluk uretim islemini yapar.
         * Normal kosullarda dagitim jar icerisinde bu dosya yer alacagindan bu islem (bin dosya uretimi) atlanir.
         *
         * @return Sozluk
         */
        public Sozluk kokler()
        {
            if (sozluk != null)
            {
                return(sozluk);
            }

            if (!KaynakYukleyici.kaynakMevcutmu(kokDosyaAdi))
            {
                logger.Error("Kök dosyası bulunamadı, sozluk uretilemiyor.");
                throw new ApplicationException("Kök dosyası bulunamadı.");

/*                logger.Info("binary kok dosyasi bulunamadi. proje icerisinden calisildigi varsayilarak \n" +
 *                      "calisilan dizine goreceli olarak '" + kokDosyaAdi + "' dosyasi uretilmeye calisacak.\n" +
 *                      "eger duz yazki kok bilgilerine erisim saglanamazsa sistem kok bilgisine uretemeycektir. ");
 *              try {
 *                  ikiliKokDosyasiUret();
 *              } catch (System.IO.IOException e) {
 *                  logger.Fatal("kok bilgilerine erisim saglanamadigindan uygulama calismaya devam edemez. Hata : "+e.Message);
 *                  Environment.Exit(-1);
 *              }*/
            }
            kokOzelDurumlari();
            logger.Info("Ikili okuyucu uretiliyor:");
            try
            {
                KokOkuyucu okuyucu = new IkiliKokOkuyucu(kokDosyaAdi, ozelDurumBilgisi);
                logger.Info("Sozluk ve agac uretiliyor:" + dilAdi);
                okuyucu.Ac();
                sozluk = new AgacSozluk(okuyucu, _alfabe, ozelDurumBilgisi);
            }
            catch (Exception e)
            {
                logger.Error("sozluk uretilemiyor. Hata : " + e.Message);
                throw new ApplicationException("sozluk uretilemiyor. Hata : " + e.Message);
            }
            return(sozluk);
        }
        public async Task <IActionResult> Edit(Sozluk sozluk, IFormFile file)
        {
            var setSozluk = sozlukRepository.GetById(sozluk.Id);

            if (file != null)
            {
                var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img", sozluk.Media);

                FileInfo fileInfo = new FileInfo(path);
                fileInfo.Delete();
                setSozluk.Media = file.FileName;

                path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img", file.FileName);

                using (var stream = new FileStream(path, FileMode.Create))
                {
                    await file.CopyToAsync(stream);
                }
            }

            setSozluk.Name = sozluk.Name;
            sozlukRepository.Update(setSozluk);
            return(RedirectToAction("Index"));
        }
Esempio n. 5
0
        /**
         * Sozluk, daha dogrusu Kokleri tasiyan agac ve iliskili kok secicileri tasiyan nesneyi uretir
         * Proje gelistirime asamasinda, eger ikili kok-sozluk dosyasi (kokler_xx.bin) dosyasi mevcut
         * degilse once onu uretmeye calisir, daha sonra asil sozluk uretim islemini yapar.
         * Normal kosullarda dagitim jar icerisinde bu dosya yer alacagindan bu islem (bin dosya uretimi) atlanir.
         *
         * @return Sozluk
         */
        public Sozluk kokler() 
        {
            if (sozluk != null) 
            {
                return sozluk;
            }

            if (!KaynakYukleyici.kaynakMevcutmu(kokDosyaAdi)) 
            {
                logger.Error("Kök dosyası bulunamadı, sozluk uretilemiyor.");
                throw new ApplicationException("Kök dosyası bulunamadı.");
/*                logger.Info("binary kok dosyasi bulunamadi. proje icerisinden calisildigi varsayilarak \n" +
                        "calisilan dizine goreceli olarak '" + kokDosyaAdi + "' dosyasi uretilmeye calisacak.\n" +
                        "eger duz yazki kok bilgilerine erisim saglanamazsa sistem kok bilgisine uretemeycektir. ");
                try {
                    ikiliKokDosyasiUret();
                } catch (System.IO.IOException e) {
                    logger.Fatal("kok bilgilerine erisim saglanamadigindan uygulama calismaya devam edemez. Hata : "+e.Message);
                    Environment.Exit(-1);
                }*/
            }
            kokOzelDurumlari();
            logger.Info("Ikili okuyucu uretiliyor:");
            try
            {
                KokOkuyucu okuyucu = new IkiliKokOkuyucu(kokDosyaAdi, ozelDurumBilgisi);
                logger.Info("Sozluk ve agac uretiliyor:" + dilAdi);
                okuyucu.Ac();
                sozluk = new AgacSozluk(okuyucu, _alfabe, ozelDurumBilgisi);
            }
            catch (Exception e)
            {
                logger.Error("sozluk uretilemiyor. Hata : "+e.Message);
                throw new ApplicationException("sozluk uretilemiyor. Hata : "+e.Message);
            }
            return sozluk;
        }
Esempio n. 6
0
 /**
  *
  * @param sozluk Taranacak sozluk
  * @param set Yurume sırasında bulunan düğümler toplanmak istiyorsa buraya bir set gönderilir.
  * istenmiyorsa null verilir.
  */
 public KokAgaciYuruyucu(Sozluk sozluk, Set <Kok> set)
 {
     this.sozluk = sozluk;
     this.set    = set;
 }
Esempio n. 7
0
 /**
  *
  * @param sozluk Taranacak sozluk
  * @param set Yurume sırasında bulunan düğümler toplanmak istiyorsa buraya bir set gönderilir.
  * istenmiyorsa null verilir.
  */
 public KokAgaciYuruyucu(Sozluk sozluk, Set<Kok> set)
 {
     this.sozluk =sozluk;
     this.set = set;
 }