Replace with Regex
Ostatnio przechodziłem z HibernateSessionFactory konfigurowanego w kodzie na hibernate.cfg.xml.
Wiąże się to z zamianą mapowań, których może być w dość dużo w projekcie:
1 | configuration.addAnnotatedClass(pl.myproject.MyClass.class); |
Każda klasa reprezentująca encje musi zostać zamieniona na coś takiego:
1 | <mapping class="pl.myproject.MyClass"> |
Najprostsze rozwiązanie jakie przychodzi to użycie zamiany z użyciem wyrażenia reguralnego. W naszych IDE należy włączyć tryb zamiany z użyciem wyrażenia reguralnego. W polu “find” definiujemy:
1 | configuration.addAnnotatedClass\((.*).class\); |
W polu “replace” definiujemy:
1 | <mapping class="$1"></mapping> |
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.