środa, 25 lipca 2012

Wyszukiwanie w wybranej gałęzi

Enterprise Architect jest wyposażony w funkcjonalność Model Search, która pozwala na wykonanie standardowych zapytań w modelu, bądź opracowanie własnych zapytań i ich wykonanie. Zapytania te z racji swej natury przeszukują cały model, jednakże model EA jest hierarchiczny i składa się z pakietów i podpakietów.
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 w oknie Project Browser
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 zapytania wykonany dla pakietu PakietA
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 zapytania wykonany dla pakietu PakietB
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 zapytania wykonany dla pakietu Przykład
Wynik nr 3



Brak komentarzy:

Prześlij komentarz