Commit Graph

13 Commits

Author SHA1 Message Date
Aurora Lahtela 670ef2aff3 Fix exception when storing Extension boolean values with MySQL
Query was using reserved keyword 'stored' as a table alias

Changed it to use 'indb' as the alias

Affects issues:
- Fixed #3508
2024-03-09 10:51:53 +02:00
Aurora Lahtela 701866cc6a Don't try to delete conditional providers if there's nothing to delete 2024-03-02 09:14:27 +02:00
Aurora Lahtela 7368eccbbd Optimize unsatisfied extension conditional value cleanup
Extensions support @Conditional value where a boolean provider determines if other values should exist.
Unsatisfied values were being removed during database cleanup task.
The cleanup transaction was very slow and could hang the server if it was performed near shutdown.

The cleanup is now performed on boolean value change (individual value for one player)
instead of with large cleanup transaction (all values and all players).

Affects issues:
- #3436
2024-03-02 08:53:38 +02:00
Aurora Lahtela 012b61c21d Reorganize some packages
- webserver.resolver.json
- database.sql.tables
- database.transactions
2023-10-21 19:19:08 +03:00
Risto Lahtela 113d46669b
DataExtension Builder API (#1833)
* Rewrote annotated extension method extraction
* Enclose annotation based methods into a single ExtensionDataBuilder

All of the reflection related to extension annotation was difficult,
so now it's all dealt with in one place and it's abstracted away with the
upcoming builder based API.

Some odd additions had to be made to the interface, but they are mostly harmless,
as the annotations are used as method parameters where necessary. This way the
users of the API are unable to give weird values.

It was possible to reuse MethodWrapper and Parameters classes for calling the methods.

* Refactored server value storage to use builder data
* Refactored player value storage to use builder data
* Refactored table gathering to use builders
* Handle extension errors properly
* Javadocs for DataExtension builder API
* Removed DataProviders based implementation

- Renamed ProviderValueGatherer to DataValueGatherer
2021-04-07 19:09:38 +03:00
Risto Lahtela 8f85c23c2f Refactoring: ActiveSession, FinishedSession and ServerUUID
- Split Session into ActiveSession and FinishedSession, replaced their usage
- Replaced UUID with ServerUUID when the data type

Affects issues:
- Close #1746
2021-03-12 18:03:12 +02:00
Rsl1122 94c9dd3f95 Username change Rsl1122 -> AuroraLS3 2021-02-13 15:16:03 +02:00
Rsl1122 a50576e6e9 Fixed wrong usage of the word 'parse'
Reason: Parse means extracting information - In many cases the word was being
        used wrong (In Finnish 'parsia' means 'to patch together', which caused
        the wrong use)

The word 'parse' replaced with 'build', 'create' or 'generate' where appropriate
2019-12-05 20:25:42 +02:00
Rsl1122 756851fcc2 ThrowawayTransactions (on database close)
Some transactions can now be ignored on shutdown to reduce hang time.

Affects issues:
- Close #1152
2019-09-30 14:22:03 +03:00
Risto Lahtela 66a19d7de1 Removed system. from packages (#1147)
* system.commands -> commands

* system.delivery -> delivery

* system.gathering -> gathering

* system.identification -> identification

* system.processing -> processing

* system.settings -> settings

* system.storage -> storage

* system.version -> version

* system -> com.djrapitops.plan
2019-09-03 09:32:30 +03:00
Risto Lahtela 0650f3e338 Interface redesign package restructuring (#1146)
* command.commands -> command.subcommands

* command -> commands

* commands -> system.commands

* system.locale -> system.settings.locale

* system.settings.changes -> system.settings.config.changes

* system.settings.paths -> system.settings.config.paths

* system.database -> system.storage.database

* db -> system.storage.database

* system.storage.database.access.queries -> system.storage.database.queries

* system.storage.database.access.transactions -> system.storage.database.transactions

* system.storage.database.access -> system.storage.database.operation

* Moved Query classes to system.storage.database.queries

* Moved Executable classes to system.storage.database.transactions

* system.storage.database.patches -> system.storage.database.transactions.patches

* system.file -> system.storage.file

* system.settings.upkeep

* system.storage.upkeep

* system.server.info -> system.identification

* system.importing -> system.gathering.importing

* system.listeners -> system.gathering.listeners

* system.gathering.timed

* Removed duplicate class

* data.container -> system.gathering.domain

* data.plugin.PluginsConfigSection -> system.settings.config.ExtensionSettings

* data.time -> system.gathering.domain

* system.afk -> system.gathering.afk

* system.cache -> system.gathering.cache

* system.status -> system.gathering.listeners

* system.export -> system.delivery.export

* system.webserver -> system.delivery.webserver

* system.json -> system.delivery.rendering.json

* utilities.html -> system.delivery.rendering.html

* system.delivery.rendering.html.graphs -> system.delivery.rendering.json.graphs

* system.delivery.rendering.html.pages -> system.delivery.rendering.pages

* system.delivery.upkeep

* utilities.file -> system.settings.upkeep

* data.store -> system.delivery.domain

* system.update -> system.version

* api.exceptions -> exceptions

* ShutdownHook -> system.gathering

* system.HtmlUtilities - > system.delivery.DeliveryUtilities

* PeriodicAnalysisTask -> PeriodicServerExportTask

* Deprecated APIv4 classes

* Removed ServerTaskSystem (Reduces headache)

* Moved & Fixed some tests
2019-09-03 09:32:26 +03:00
Rsl1122 d98a51b632 Storage for extension server data 2019-03-29 11:32:32 +02:00
Rsl1122 db90410487 Gatherer methods for server providers 2019-03-29 11:16:35 +02:00