Commit graph

52 commits

Author SHA1 Message Date
mykola2312
af7033d1e4 CRITICAL: switch from log4j to logback because turns out CVE is not patched 2024-04-25 02:01:43 +03:00
mykola2312
b03f34ffeb implement TaskDispatcher to plan tasks like cron does 2024-04-24 04:19:32 +03:00
mykola2312
8b3005bac9 remove redundant code, fix channel selection index when switching categories 2024-04-23 17:56:23 +03:00
mykola2312
4802550b1b make MenuPanel load categories and channels from database 2024-04-23 17:53:22 +03:00
mykola2312
af6f9d5db6 fix bug when source would indefinitely append to table instead of updating it because of null value behavior in unique indices 2024-04-23 17:10:48 +03:00
mykola2312
996829b8e9 now store each crawler wave in crawl table as well as datetime in unix epoch timestamp, force jooq use bigint for datetime types. fetch source list from database instead of json, allowing hot reload 2024-04-23 15:28:14 +03:00
mykola2312
7b96dd5cf9 add new tables to sql migration, begin working on more proper relations for channels and crawls 2024-04-22 21:55:17 +03:00
mykola2312
845d15fc3f move M3ULoader into crawler 2024-04-22 21:06:41 +03:00
mykola2312
39a9020e31 move m3u loading into crawler class that will be responsible for all m3u fetching, parsing and updating 2024-04-22 21:02:48 +03:00
mykola2312
116f276c21 make one big upsert to update channels using batchMerge. very fast compared to doing every insert individually 2024-04-22 03:47:05 +03:00
mykola2312
62a1013cd7 fix M3U parsing bug, adjust unit tests 2024-04-22 00:03:04 +03:00
mykola2312
9cc7f254e4 make first working M3ULoader, however there is huge bug related to M3U parsing that needs to be fixed asap, as well as unit tests are incomplete 2024-04-21 22:50:38 +03:00
mykola2312
4dd212dff8 begin implementing m3u loading into database 2024-04-20 16:57:43 +03:00
mykola2312
a80da909b7 begin implementing proper database 2024-04-20 14:48:32 +03:00
mykola2312
2c8a181b1c M3U parser works, done some unit tests 2024-04-20 14:33:02 +03:00
mykola2312
fbec61ffa5 begin working on M3U parser. came up with very good regex to extract extinf data 2024-04-20 12:55:09 +03:00
mykola2312
0439b78b6b change LinkedList to ArrayList since in preallocated environment it would be O(1) access time, rather than O(n) in case of LinkedList 2024-04-20 10:53:49 +03:00
mykola2312
f223dd5110 implement some verbose classes for dealing with web requests 2024-04-19 19:02:27 +03:00
mykola2312
8d65968173 implement basic https get fetch 2024-04-19 18:23:23 +03:00
mykola2312
8f897ddf71 add m3u local source type 2024-04-19 14:52:32 +03:00
mykola2312
ca609e3848 add sources (for web crawler), implement unit tests for json config 2024-04-19 14:36:54 +03:00
mykola2312
f452a9059d remove comment 2024-04-19 13:32:35 +03:00
mykola2312
685e71bae5 set proper log panel divider location 2024-04-19 13:31:58 +03:00
mykola2312
f85c71799f begin working on log panel for immediate status and info reporting 2024-04-19 12:45:48 +03:00
mykola2312
bb7e686451 fix out of bounds error when handling menu actions, turns out java's remainder operation can spill negative numbers 2024-04-19 12:45:04 +03:00
mykola2312
0cd0ec4b03 have some fun with jooq 2024-04-19 09:22:25 +03:00
mykola2312
cc2e24afbd micro refactor 2024-04-19 09:04:56 +03:00
mykola2312
68909c3102 make jooq use my db connection pool 2024-04-19 09:01:09 +03:00
mykola2312
5ff35527a2 begin implementing sql connection pool (bruh) 2024-04-19 08:07:53 +03:00
mykola2312
0c6da66529 add db utility class, make it configurable with json 2024-04-18 14:50:37 +03:00
mykola2312
32aa5a9bb0 finally get jooq and his code generation working 2024-04-18 14:27:35 +03:00
mykola2312
273968fd9d setup logging 2024-04-18 09:25:15 +03:00
mykola2312
13a978a318 sage version to 17 LTS 2024-04-18 07:49:00 +03:00
mykola2312
349cc7ec00 setup jooq and flyway for db mapping & migrations 2024-04-13 09:31:21 +03:00
mykola2312
3747ef33a4 move config classes to its own module, make font configurable 2024-04-12 19:37:37 +03:00
mykola2312
c0369e6015 move all menu ui to its own panel, because we may have more than one panel 2024-04-12 19:25:43 +03:00
mykola2312
169dc19bb7 small handleMenuAction refactor 2024-04-12 08:01:41 +03:00
mykola2312
f5d5808a72 got keyboard controls work via input and action bindings 2024-04-12 07:47:04 +03:00
mykola2312
e96d3c681b implemented EDT for MainFrame, making access from non-UI thread possible 2024-04-12 05:17:00 +03:00
mykola2312
a0d28ecaa9 do the same for horizontal bars 2024-04-08 14:40:14 +03:00
mykola2312
2594ff0eed make JList scrollable, but scroll bars are invisible (because it's never intended to be controlled via mouse) 2024-04-08 14:37:48 +03:00
mykola2312
0327a93cb3 auto fill array for testing purposes 2024-04-08 14:33:25 +03:00
mykola2312
223c051ac6 finally get working JSplitPanes correctly 2024-04-08 13:49:08 +03:00
mykola2312
e827946654 adjust divider, add example config 2024-04-08 12:56:47 +03:00
mykola2312
5c4d25a846 begin working on ui - messing around with JSplitPane 2024-04-08 12:28:33 +03:00
mykola2312
184a75752f implement json configuration 2024-04-08 12:02:44 +03:00
mykola2312
41ebc47800 configure unit testing for project 2024-04-08 08:36:00 +03:00
mykola2312
532d3ed89b fix typo 2024-04-08 08:01:39 +03:00
mykola2312
39dc9bf963 implement basic i18n 2024-04-08 08:00:29 +03:00
mykola2312
0e3886157a fix package name, add basic JPanel 2024-04-08 07:40:12 +03:00