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")); }
/** * 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")); }
/** * 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; }
/** * * @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; }
/** * * @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; }