Rysunek 1. Przedstawia wzorzec projektowy: Fabryka
Rysunek 2. Przedstawia już zaimplementowany (napisany kod) - szare kafelki, oraz ten który należy dopisać podczas tego zadania - fioletowe kafelki
Zadanie ma na celu przeniesienie (dużo kopiowania i wklejania) pobierania danych z ExpensesService, metoda getFilteredExpenses do klasy FilteredRange i metody getAllByFilter.
Do nowej klasy powinien zostać przeniesiony warunek, który wywołuje getAllExpensesBetweenDate (pośrednio lub bezpośredni), wraz z metodami pomocniczymi.
Również walidacja, która jest wykonywana poprzez wywołanie klasy ParametersValidator i metodę assertFilter, powinna znajdować się w klasie FilterRange.
Podczas przenoszenie metoda getAllExpensesBetweenDate, w nowej implementacji, zostanie zastąpiona wywołaniem abstrakcyjnej metody getAllEntityBetweewDate.
Klasa FilteredRange powinna posiadać:
- adnotację @Component
- wstrzyknięty obiekt w pole typu: ExpensesFilterParametersValidator
HINT: Pamiętaj o końcówce daty Instant.
HINT: Usuń nieaktualne pola, metody, w klasach które zostały zmodyfikowane.
HINT: Test powinien wymagać inicjalizacji użytkownika, metoda: initDatabaseByPrimeUser
Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online
Strona www stworzona w kreatorze WebWave.