227 Commits

Author SHA1 Message Date
ljacqu
19de5a0525 Close #449 Rename NewSetting class to Settings :) 2016-07-23 15:50:40 +02:00
ljacqu
18a9fbaa26 #449 Migrate remaining non-group legacy Settings 2016-07-23 14:44:52 +02:00
ljacqu
57f90fe410 #784 Make DataSource#purgeRecords case-insensitive 2016-07-18 21:29:05 +02:00
ljacqu
5953bfd012 #784 Separate purge execution and purge task creation
- Delete accounts in PurgeExecutor, after permission check
2016-07-17 17:33:25 +02:00
ljacqu
e7b980d435 #605 Logger - name methods after their log level
- Remove separate print stacktrace method
- Log level into the log similar to console output
2016-07-12 22:06:32 +02:00
ljacqu
dccbd5262f Don't update IP twice
- IP is updated in datasource#updateSession after successful login
- Remove no longer used DataSource#updateIp
2016-07-12 21:45:05 +02:00
ljacqu
9a5c432509 #655 Encapsulate mail service
- Change SendMailSSL to be injected into classes and created regardless of settings
- Various minor cleanups (remove accidentally committed test, add more precise logging statement)
2016-07-02 20:56:53 +02:00
ljacqu
22911a0bb9 Remove duplicate column initialization code, add datasource integration tests
- Drop initialization of all columns on table create in favor of checking each column individually. This is slower but guarantees that each column is only defined once in the code. Columns are only created once so having clean code outweighs performance.
- Write more datasource integration tests
2016-07-02 19:16:26 +02:00
ljacqu
de3f3a42ab #679 Fix compatibility with InnoDB/XtraDB engine
- Includes other improvements in collation and data types
2016-07-02 10:24:44 +02:00
ljacqu
73a9b5ce0c Cleanup - reduce duplication in MySQL class 2016-07-02 08:28:37 +02:00
games647
837bbd69ac Remove the debug code as the source for random-logouts is found 2016-06-28 16:09:32 +02:00
ljacqu
3629c51fc1 #674 PurgeService: Always register if purging, reduce code duplication
- Rename autoPurging to isPurging: we should always register if a purge task is in progress (regardless if autopurge or not) and deny any new requests
- Reduce the same logic being coded multiple times by calling through the methods
- DataSource: remove purgeBanned in favor of purgeRecords, both do exactly the same thing
2016-06-16 22:52:11 +02:00
ljacqu
2ac89f5938 Apply minor changes to PurgeService
- Remove various imports / unused fields
- Make CacheDataSource call source for purging on DB
- Minor: SQLite - place creation of PreparedStatement outside of loop
- Make specific purge actions called from task package-private (clearer from the outside which methods can be called from the outside)
2016-06-16 21:04:12 +02:00
Gnat008
fb8baeafd2 remove database auto purge methods 2016-06-16 12:52:42 -04:00
Gnat008
af1520802d major refactor of the purging process 2016-06-16 12:28:42 -04:00
Gabriele C
7865d7dc2c Remove synchronized methods from the Cache (please check)
@Xephi @ljacqu @games647
2016-05-23 21:18:31 +02:00
Gabriele C
b2b65710b1 Also for SQLITE #719 2016-05-21 15:00:48 +02:00
Gabriele C
7a21294581 Don't use synchronized methods #719 2016-05-21 14:58:57 +02:00
Gabriele C
7ad39e2a5d Use default Hikari pool parameters 2016-05-21 14:54:03 +02:00
Gabriele C
df2329fd9a Fix conflict 2016-05-16 16:27:59 +02:00
Xephi59
9db330646e Try to fix #419 2016-05-15 17:52:54 +02:00
ljacqu
e04f7dc711 #704 Implement reloading via injector
- Create interfaces Reloadable and SettingsDependent to recognize reloadable classes
- Iterate through instances in injector to reload
2016-05-12 19:51:10 +02:00
games647
4bad04b160 Add debug statements for finding the source of #419 2016-05-11 16:57:41 +02:00
games647
0bd6ac5cc8 Make the purge progress run more balanced (Fixes #696) 2016-05-09 13:09:40 +02:00
Gabriele C
5ceabe2146 Cleanup 2016-05-04 17:26:58 +02:00
ljacqu
37fb29f8b9 #638 Register with Wordpress fails with SQL exception
- Remove semicolon in query, looks like executeBatch() does not like it
2016-04-20 21:22:57 +02:00
ljacqu
ca0cbe6caf Code householding
- Move console initialization for tests into TestHelper
- Remove unused properties in legacy Settings
- Add issue number to TODO comments where applicable
2016-04-14 12:28:19 +02:00
ljacqu
3bb7ff2b85 #653 Empty salt column causes error when retrieving password
- Handle potentially empty salt column in MySQL and SQLite
- Create unit tests reflecting these cases
2016-04-14 11:48:24 +02:00
Gabriele C
4ec98e5b3d Fix #646
Thanks to @hakumanatatu
2016-04-07 22:57:20 +02:00
ljacqu
b6ccb3e632 #567 Add/change email should be aware of account threshold 2016-04-03 14:24:12 +02:00
DNx5
cb995a99a6 Fix Sqlite backend didn't remove old accounts. 2016-04-01 08:45:31 +07:00
ljacqu
2de3848cc3 #430 Remove PlayerAuth constructors in favor of builder
- Remove various PlayerAuth constructors
- Clean up FlatFile class
- Add some javadoc to PlayerAuth
2016-03-14 21:48:33 +01:00
ljacqu
dfc713fde6 Reload only specific entities (work in progress)
- Remove attempt of reinitializing all components -> will lead to inconsistent states. Call reload on reloadable components instead
2016-03-09 18:39:04 +01:00
ljacqu
98df21d75a #575 Hotfix for reload support
- Create temporary method for reloading any stateful entities -> a lot of duplicated code, to be fixed soon within #432
- Remove unused methods
2016-03-05 22:30:35 +01:00
ljacqu
63b31b0814 Create resource closing test
- Generic test for MySQL and SQLite checking that all generated (Prepared)Statement and ResultSet instances are closed afterwards
- Fix offending code for test to pass
2016-02-27 22:45:39 +01:00
ljacqu
5fce849ce7 Minor - Add datasource test, minor code householding 2016-02-27 21:11:35 +01:00
ljacqu
b916c9b2be Fix javadoc warnings + #421 add javadoc for new API 2016-02-27 16:31:58 +01:00
ljacqu
1b818bd833 #457 Improve ForceFlatToSqlite conversion
- Change ForceFlatToSqlite converter to use a generic datasource destination (i.e. can be used for Flat2MySQL later)
- Add tests, including for FlatFile
- Check that user is not present in destination datasource before adding
- Persist last location from flatfile as well
2016-02-27 11:24:47 +01:00
ljacqu
27b1fa770f #392 Add datasource integration tests 2016-02-26 22:12:16 +01:00
DNx5
b4aebb685c Remove player from cache on quit. 2016-02-26 13:10:49 +07:00
DNx5
8324decfa1 Merge branch 'master' into db-improve
Conflicts:
	src/main/java/fr/xephi/authme/AuthMe.java
2016-02-26 12:42:32 +07:00
DNx5
775e2f7039 Async refresh. 2016-02-26 11:37:47 +07:00
ljacqu
69092e9a9c #392 Add datasource integration tests 2016-02-24 21:50:40 +01:00
Xephi
f22bc4f395 Check if the connection is not null or already closed 2016-02-23 14:53:29 +01:00
ljacqu
5e16ca1490 #392 Create integration test for MySQL
- Relocate tests to AbstractDataSourceIntegrationTest to reuse tests for SQLite and MySQL
- Add H2 driver and create test class for MySQL
2016-02-22 21:52:10 +01:00
ljacqu
b6384da540 #542 Revert lastlogin column from timestamp to bigint
- While the timestamp type better represents what we store, we use timestamps internally in AuthMe and had to convert between the timestamp type to a long when communicating with a MySQL database. This ends up being inconsistent with SQLite, which does not support the storage of timestamps and an additional burden as the 0000-00-00 00:00:00 timestamp has a special meaning in MySQL we must otherwise check for before fetching values.
2016-02-22 21:04:01 +01:00
DNx5
bebf1cf7d4 Clean cache on close. 2016-02-22 10:13:48 +07:00
ljacqu
e8f518711c #442 Fix email presence check being case-insensitive
- Add integration tests
- Change DataSource interface to return the number of accounts only, since that's all we require
2016-02-21 21:38:29 +01:00
ljacqu
e8d627c0e1 #392 Start integration test for SQLite 2016-02-21 10:46:13 +01:00
ljacqu
dfa3921740 Close resources in MySQL (incomplete)
- Connection, (Prepared)Statement and ResultSet all should be closed. try-with-resources is the best way as it's less verbose than a finally block and it's better than putting close() calls inside the try{} as that will not be run if an exception happens beforehand
2016-02-20 23:09:48 +01:00