* Optimizing the loading of the network page and raw server data page
-> Loads the nicknames in bulk instead of one by one
-> Performance gain with the raw data 45719ms vs 10054ms
-> Scales up with more even more users
* Adding UsersTable#getUUIDsAndNamesByID so when you want to get the UUID and the player name you do not have to execute UsersTable#getPlayerNames and UsersTable#getUUIDsByID
-> Performance improvements
* Fixes the test failures
* Renamed method names so they correctly show the real DB used
True fix of the tests (no fail after ~3500 passes)
-> Implementation of TestRunnableFactory
-> Removal of the timeout on CommonDBTest#testSaveCommandUse which is way too sensitive to the testing environment (disk speed, etc.)
* Adding H2 Database Support
* Making HtmlCompressor a constant so it is not created new each time it is used.
Note: It is thread-safe (see: https://code.google.com/archive/p/htmlcompressor/ "HtmlCompressor and XmlCompressor classes are considered thread safe* and can be used in multi-thread environment")
* Adds the H2 Database to the used libraries in the README.md
* Changes all invalid license headers
* Refactors many methods into an enum named DBType
These methods are:
-> getName()
-> getConfigName()
-> supportsMySQLQueries()
to a check if the DBType is H2
* KeepAliveTask splitted into separate class to remove duplicate code
* Fixes compilation error
* Refactors Database Tests into one Common class with all generic Database Tests and specific Database Tests
* Fixes some JavaDocs
* Adds license headers
* Optimizing comparisons to enum comparisons
* Generified Median.java
* Improves performance when comparing Integers because of Collection -> Stream -> List conversion removal. Instead of Median.forInt or Median.forLong Median.forList can be used.
* Now every type of number can be compared
* Storing DecimalFormat rather than creating a new DecimalFormat object each time it's applied
* Added JavaDocs for Median.java
- Added a new free disk space to TPS, in megabytes
- Added Gathering method to TPSCountTimers
- Added Column to plan_tps
- Added Patch for adding plan_tps column
- Added Disk usage point mutation method to TPSMutator
- Filtered out -1 values in Disk and CPU graphs
- Added DiskGraph and its factory method
- Added 'diskSeries' placeholder replacement to AnalysisContainer
- Added diskGraph.js for drawing disk graph
- Added 'diskMedium' & 'diskHigh' threshold placeholders
- Added Medium and high disk threholds to settings
- Replaced MB references with Mb, since B is bit and b is byte
- Added Html Lang
HTTPS routing override can be activated by setting keystore path to
'nginx' - In this mode Plan uses HTTP server and gives out HTTPS links.
Affected issues: #669
Wrong method was in use for database name setting retrieval, resulting
in wrong query. Fixed by replacing usage with correct method
Affected issues: #754
Issue: Can not view non-ascii player name pages
Cause: Raw encoded URI was in use (Contains %20 etc)
Fixed: Decoded URI now in use
Affected issues: #735
Created dagger modules for each platform and turned Bridge abstract.
Injections to classes that require Plugin specific objects are not
possible, and will lead to compile time errors.
Classes that require information about another class at runtime cause
Plan to fail to start if the class is not present - another solution has
to be worked for PlaceholderAPI.