Commit Graph

2388 Commits

Author SHA1 Message Date
Rsl1122
2b4e6fe9cb [Debt] Removed SessionCache.getInstance() method 2018-09-18 17:34:42 +03:00
Rsl1122
7b09f588fe [Debt] Removed ConfigSystem.getInstance method
Related methods (getConfig_Old, getThemeSystem) were also removed.

Affected issues: none
2018-09-18 17:33:22 +03:00
Rsl1122
fca93578af [Debt] Removed Settings#setTemporaryValue method.
This method was used in tests, but is not the optimal way of performing
temporary test values as APF supports in memory configuration object.

Old usages were commented in order to preserve assumed temporary values.

Affected issues: none
2018-09-18 17:30:57 +03:00
Rsl1122
2b1cf4b3cb [Debt] Removed Settings getNumber method
Some threshold values are needed in mutators and tasks, but they are not
yet available in the classes they are used. TODO was added.

ActivityIndexTest was removed as it does not test proper stuff.

Affected issues: none
2018-09-18 16:01:06 +03:00
Rsl1122
b6cc713c01 [Debt] Removed Settings isTrue method.
Moved MiscUtils.getTimeZoneOffsetHours to PlanConfig as non static.

Affected issues: none
2018-09-18 15:46:41 +03:00
Rsl1122
bff365de20 [Debt] Removed MiscUtils.getPlanVersion() method.
This method was dependent on PlanPlugin.getInstance() which is being
removed.
Also removed use of Settings in MiscUtils.close methods.

Affected issues: none
2018-09-18 15:39:50 +03:00
Rsl1122
54e3528a59 [Debt] Removed Theme replaceColors method.
All static methods removed now from Theme.
Delegated Theme and Locale html modifications to Response#send method.

Affected issues: none
2018-09-18 15:16:00 +03:00
Rsl1122
35be0a2afb [Debt] Removed static Theme getValue method
Theme depends on a configuration file, so it should not be static.

Affected issues: none
2018-09-18 14:55:09 +03:00
Rsl1122
275bfe64b4 [Debt] Removed some deprecated Settings methods.
Removed methods: toString(), getStringList() & set(Object).

Affected issues: none
2018-09-18 12:18:55 +03:00
Rsl1122
f92c9e2b89 [Docs] Added javadoc titles for Formatter classes
Affected issues: none
2018-09-18 12:07:38 +03:00
Rsl1122
b4f7053936 [Debt] Created HtmlTable factory for Table creation
Inject HtmlTables to access the factory.
Abstracted away details of TableContainer creation in the factory.
Each table class is now package private, and present as TableContainers.

Removed MapComparator as it became obsolete.

Affected issues: none
2018-09-18 11:53:07 +03:00
Rsl1122
fac06e7d80 [Debt] Removed FormatUtils class.
Added instance variables for different Formatter objects with a TODO to
accompany the additions where dagger injection was not yet possible.

Moved formatIP to GeoInfo
Moved getStackTrace to PromptAuthorizationResponse

Affected issues: none
2018-09-17 23:39:21 +03:00
Rsl1122
8d36b08acb [Debt] Removed static methods in Formatters class.
Added instance variables for different Formatter objects with a TODO to
accompany the additions where dagger injection was not yet possible.

Affected issues: none
2018-09-17 23:12:27 +03:00
Rsl1122
b104e8ca03 Made Graph Factories that use Dagger to initialize new Graphs.
Inject Graphs to access these factories.
Moved WorldTimes Alias playtime calculations to WorldAliasSettings

Renamed some Graphs to be shorter and unambiguous:
AbstractLineGraph -> LineGraph
AbstractPieChart -> Pie
AbstractPieChartWithDrilldown -> PieWithDrilldown
AbstractStackGraph -> StackGraph

Abstracted away some details and made some graph classes package private

Fixed tests for Line graphs, removed Stack graph test for now
2018-09-16 17:23:21 +03:00
Sprungente
ef9bf00ddf Improved DE Locale (#730) (Sprungente) 2018-09-15 18:56:37 +03:00
Rsl1122
764a1c661c Fixed a possible buffer memory leak in GeolocationCache on first enable
http://www.evanjones.ca/java-native-leak-bug.html
"TL;DR: Always close GZIPInputStream and GZIPOutputStream since they use
native memory via zlib."
2018-09-15 14:38:42 +03:00
Rsl1122
3ae0855ef5 Named Plan ExecutorService pools, Fixed WebServer thread leak on reload
WebServer ThreadPoolExecutor was never shutdown, as it was assumed
HTTPServer.shutdown() would perform that.
In extreme cases 250 reloads could lead to a OutOfMemoryException due to
Heap size allocation for threads not being possible.

Change: Shut down ThreadPoolExecutor manually.
2018-09-15 10:38:05 +03:00
Rsl1122
f846bd5b0e AnalysisContainer no longer held in memory by PluginData objects.
Since PluginData objects are more persistent than AnalysisContainer,
objects related to the each analysis can not be freed until the next
analysis has been performed, because a reference was held in each
PluginData object.

Change: set the reference to point to null in a finally block after
getServerData call. AnalysisContainer can now be freed by GC at any time

Affected issues: #685
2018-09-15 10:03:35 +03:00
Rsl1122
cb351c80f1 Removed many deprecated Log & BenchMark usages
Where possible replaced with PluginLogger or ErrorHandler calls,
some places removed a catch clause and added throws,
some places removed the log or benchmark completely.

Some places still need to be modified so that the required dependencies
can be injected.
2018-09-13 19:44:45 +03:00
Rsl1122
c67f0475a0 Removed DataCache#getInstance method 2018-09-13 19:18:33 +03:00
Rsl1122
abc1bc3bc4 Turned Formatters class non static, usages still exist 2018-09-09 17:54:13 +03:00
Rsl1122
d28e20bf9a Implemented equals & hashCode for UserImportData 2018-09-09 17:14:20 +03:00
Rsl1122
273050f1b2 Reduced usage of static Settings accessors 2018-09-09 15:30:20 +03:00
Rsl1122
3a7b94a94f Fixed StackOverflowExceptions on enable caused by dependency cycles
Registered pages on ResponseHandler separately
Registered commands in PlanCommand and PlanBungeeCommand separately

Made WebServer Lazy in InfoSystems and ConnectionSystems
2018-09-09 14:53:41 +03:00
Rsl1122
db69d07100 Refactored ImportManager into ImportSystem that is not static.
Moved Import data objects to system.importing.data
Moved Importer classes to system.importing.importers

Bound ImportSystem instances in SuperClassBindingModules

Added ImportSystem as injected parameter to PlanSystem
Injected ImportSystem to ManageImportCommand

Removed old references to ImporterManager and removed the class
Moved ImportBuilderTest to system.importing.data
2018-09-09 14:26:02 +03:00
Rsl1122
26f64990d3 Fixed new code smells in development branch
- static final class variable names in PingCountTimerBukkit
- plugin field hiding protected variable in SpongeTaskSystem
- InspectPageResponse not overriding equals method
2018-09-09 13:50:38 +03:00
Rsl1122
747453c1c4
Update versions.txt 2018-09-08 17:58:06 +03:00
Rsl1122
18be484c0d
Update versions.txt 2018-09-08 17:57:24 +03:00
Rsl1122
3781115311 Reduce memory usage with changes to player page refreshing
Old way:
Pre-render & cache the html for a player page when the player joins,
leaves or switches server

New way:
Render & cache the html when requested. Remove the rendered html from
cache if the player joins, leaves or switches server

This should prevent server from crashing if a bunch of bots join

Impacts #685
2018-09-08 17:43:38 +03:00
Rsl1122
7954796582 Attempt to reduce memory usage with selective caching in DataContainer
Reduced use of CachingSupplier in every DataContainer to reduce the
amount of String variables ending up in heap for a longer period of
time.

Impacts #685
2018-09-08 17:36:52 +03:00
Rsl1122
2c5a97d0b1 Fixed MySQL with multiple plan databases returns wrong table count #724 2018-09-08 17:15:50 +03:00
Rsl1122
ac3e9a969c Fixes Last Peak time not showing up #726 2018-09-08 17:11:29 +03:00
Rsl1122
0fceaaf9e1 Updated PluginBridge jar 2018-09-08 17:00:24 +03:00
Rsl1122
31f00cbb1a
Merge pull request #725 from Brycey92/permissions-fix
Fixed plan.inspect and plan.qinspect permission nodes for Sponge
2018-09-08 16:05:45 +03:00
Brycey92
4475c44c22 Fixed plan.inspect and plan.qinspect permission nodes for Sponge 2018-09-06 16:34:33 -04:00
Yannick Schinko
67712f9b26 Implemented support for sponge economy (#721)
* Implement basic economy support for Sponge

* Implemented global server stats
2018-09-06 23:19:43 +03:00
Vankka
2783841e4b Nucleus PluginData (#723)
Implements Nucleus PluginData in #583
2018-09-05 20:22:35 +03:00
Rsl1122
d9cb158e3c Updated pom version to 4.5.0-SNAPSHOT 2018-09-02 15:44:01 +03:00
Rsl1122
f9f82315e0 Processors (ProcessorFactory), KillProcessors simplified 2018-09-02 12:30:37 +03:00
Yannick Schinko
00cdd6e251 Bungee pingAdded PinCoutTimerBungee (#717)
* Implemented Bungee ping measurement

* Removed unused import

* Removed second unused import
2018-09-01 22:59:09 +03:00
Rsl1122
2bf4020763
Merge pull request #716 from BrainStone/sponge-ping
Added PingCountTimerSponge
2018-09-01 21:15:54 +03:00
BrainStone
7cce168133
No need for a cast 2018-09-01 18:15:07 +02:00
BrainStone
81992a5676
Using correct way to register listener 2018-09-01 18:01:10 +02:00
BrainStone
8a4b23649d
PingCountTimerSponge 2018-08-31 18:57:53 +02:00
Rsl1122
333936cfa8 Implemented afk check on kick event #705 Note about AFK ignore perm:
- Players kicked by afk that have plan.ignore.afk will be counted as "real" kicks.
2018-08-30 18:10:16 +03:00
Rsl1122
08d1067bd8 Fixed #710 2018-08-30 18:02:24 +03:00
Rsl1122
bee9966450 Ignored exception in #715 2018-08-30 17:52:50 +03:00
Rsl1122
be2be530ca Reproduced #710 with a test 2018-08-30 17:43:43 +03:00
Rsl1122
0bb2922329 Fixed #693 2018-08-30 17:22:33 +03:00
Rsl1122
446aec2a0a Reproduced issue #693 in a test 2018-08-30 17:18:57 +03:00