Ciągle pracuję nad lepszym GUI i przy okazji poprawiam kod. Znajduję miejsca, które niespecjalnie mi się podobają i przerabiam. Dużo pracy przede mną 😉 Na przykład to: skoro już wysyłam zapytanie do bazy, to przydałoby się na tym jak najwięcej ugrać.
Pierwotnie kod, który tworzył listę zakupów wyglądał tak:
https://gist.github.com/jezinka/9fc0c06c8bb6b1a070f7c685ff1051e2
Zwykły select ze zliczaniem ile razy name pojawiło się na liście składników. W podzapytaniu query odpytujące bazę o listę składników do każdego obiadu połączone 'union all’, żeby nie usunęło z wyników powtarzających się składników.
Jak już wypluje te składniki i ich liczbę to trzeba to wrzucić na listę:
https://gist.github.com/jezinka/22827a6ce48d418d33cbbae2eb5c1e60
Weź wartość z pierwszej kolumny, weź z drugiej, połącz to w zgrabnego stringa i wrzuć na listę. Ale ten zgrabny string można stworzyć już po stronie bazy, zawsze to mniej operacji 🙂
https://gist.github.com/jezinka/29d85787dc299e8c9a8dbb48bea645bd
Do złączenia wartości kolumn ze stringiem użyłam operatora ||. Dzięki tej operacji baza daje mi od razu to czego potrzebuję bez zabaw po stronie Javy. Więc potem wystarczy już tylko tyle:
https://gist.github.com/jezinka/838e044fd96c269276868602dc2349f7
a lista wygląda tak samo w jednym i drugim przypadku:
Pod spodem już wychyla się nowe GUI, ale jeszcze dużo przed nim 😉