Sansür, bir toplumun kendine olan güvensizliğini yansıtır ve otoriter rejimlerin belirgin bir özelliğidir.

--Potter Stewart

4.06.2012

OmniFaces

JSF ile haşır neşir olup da BalusC'yi duymayan yoktur herhalde. Forumlarda, özellikle stackoverflow.com'da yanıtlanmayan JSF sorusu kalmayacak diye inat etmiş Balus ve bir arkadaşı (Arjan Tijms) JSF'in eksikliklerini masaya yatırıp bunları nasıl yamarız diye düşünürlerken olsa gerek geçen günlerde OmniFaces'in ilk sürümünü yayınladılar.

Showcaselerinde PrimeFaces kullanan ekibin çalışmasına göz attığımda JSF'te can sıkan, baş ağrıtan belli başlı sorunlara pratik çözümler getirmelerinin yanı sıra bizim de "Bunları bir kütüphane haline getirsek de projelerde tekrar tekrar yazmasak" dediğimiz ama bir türlü fırsat bulamadığımız, her JSF projesinin olmazsa olmaz metotlarını da OmniFaces'a eklediklerini gördüm.

Session öldüğünde Ajax istemiyle geldiğinde alınan ViewExpiredException hatasına getirilen çözüm (FullAjaxExceptionHandler), script ve style dosyalalarını birleştirerek HTTP requestlerini azaltmayı hedefleyen CombinedResourceHandlerSelectItemsConverterRequiredCheckboxValidator, form validation mekanizmasına getirdikleri validateAllOrNonevalidateOneOrMore vb. yapılar, sıklıkla kullanılan işlevleri util sınıfı ve EL fonksiyonu olarak toparlamaları kütüphanenin ilk dikkat çeken özellikleri.

Kapattığı boşluklar ve karşıladığı küçük ihtiyaçlarla elimin altında olsun her JSF projesinde kullanırım diyeceğiniz bir çalışma olmuş. Göz atmanızda fayda var.