Saturday 22 December 2012

Replace with Regex

Ostatnio przechodziłem z HibernateSessionFactory konfigurowanego w kodzie na dobre hibernate.cfg.xml.
Wiąże się to z zamianą mapowań, których może być w dość dużo w projekcie:
configuration.addAnnotatedClass(pl.myproject.MyClass.class);
Każda klasa reprezentująca encje musi zostać zamieniona na coś takiego:
Najprostsze rozwiązanie jakie przychodzi to użycie zamiany z użyciem wyrażenia reguralnego. W naszych pięknych cudnych lśniących IDE należy włączyć tryb zamiany z użyciem wyrażenia reguralnego. W polu "find" definiujemy:
configuration.addAnnotatedClass\((.*).class\);
W polu "replace" definiujemy:
Klikamy "Replace All" i zrobione. Nie ma tutaj nic trudnego. Wybranie pierwszego podzbioru za pomocą dwóch nawiasów i wstawienie tego za pomocą $1.
Proste,a nawet banalne.
Za pewne każdy edytor tekstu potrafi takie rzeczy, jednak odnoszę wrażenie, że zbyt często próbujemy robić takie rzeczy ręcznie.