Na szczęście producent daje możliwość ograniczenia wyszukiwania tylko do wybranej gałęzi bez potrzeby żmudnego budowania zapytania SQL odzwierciedlającego zagnieżdżenia pakietów.
Z pomocą przychodzi makro #Branch#, które zostało omówione w pomocy EA www.sparxsystems.com/enterprise_architect_user_guide/9.3/navigate_search_and_trace/creating_filters.html.
Poniżej zamieszczam przykład wykorzystania tego makra. Stworzyłem strukturę pakietów przedstawioną na poniższym rysunku. Pod pakietem Przykład umieściłem dwa pakiety: PakietA oraz PakietB. W każdym z tych pakietów znajdują się po trzy klasy, dla lepszego ich rozróżnienia w nazwie klas umieściłem również nazwę pakietu nadrzędnego (namespace).
Struktura pakietów |
Stworzyłem następujące zapytanie SQL:
SELECT Object_Type, Package_ID, Name, Status, Stereotype, Author
FROM t_object
WHERE Name like '<Search Term>*' AND Package_ID IN (#Branch#)
ORDER BY Package_ID, Name, object_type
Zapytanie to zwraca elementy, których nazwa pokrywa się z parametrem wpisanym w polu Search Term oraz znajdują się w aktualnie zaznaczonej gałęzi w oknie Project Browser.
Wynik zapytania nr 1
Zapytanie wykonane w kontekście pakietu o nazwie PakietA dla szukanego ciągu znaków 'class' zwraca tylko trzy klasy zlokalizowane w pakiecie A. Gdyby pakiet ten posiadał również podpakiety, one również zostałyby przeszukane.
Wynik nr 1 |
Wynik zapytania nr 2
Zapytanie wykonane w kontekście pakietu o nazwie PakietB dla szukanego ciągu znaków 'class' zwraca tylko trzy klasy zlokalizowane w pakiecie B. Gdyby pakiet ten posiadał również podpakiety, one również zostałyby przeszukane.
Wynik nr 2 |
Wynik zapytania nr3
Zapytanie wykonane w kontekście pakietu o nazwie Przykład dla szukanego ciągu znaków 'class' zwraca sześć klas zlokalizowanych w podpakiecie A i podpakiecie B.
Wynik nr 3 |
Brak komentarzy:
Prześlij komentarz