Commit Graph

2315 Commits

Author SHA1 Message Date
Rsl1122 bca1371774 [V] Updated PluginBridge jar 2018-09-29 12:17:28 +03:00
Rsl1122 a18dc2d3f2 [Fix] Prevented NPE due in PluginData
This exception was caused by analysisData being null during PluginData
analysis - This should not occur unless two analysis are being performed
concurrently & first analysis finishes and clears the variable.

Additional work is required for preventing two concurrent analysis.

Affected issues: #711
2018-09-29 12:16:07 +03:00
Rsl1122 93951f1f25 [Fix] Increased database clean task start delay
1 second delay is not enough when a patch system has not applied all
patches, and some data requiring patching is scheduled for removal.

Affected issues: #732
2018-09-26 20:43:49 +03:00
Rsl1122 92ce37dda3 [Fix] Patch System column addition fixes
This affects KillsServerIDPatch and IPHashPatch issues.

Affected issues: #732
2018-09-26 20:40:41 +03:00
Rsl1122 a48b660a05 [Debt] Delegated Exception logs to ResponseFactory
ErrorResponse caught an IOException for reading a file from the jar,
but this error should be moved further up stream - thus catching it was
delegated to ResponseFactory, where the error can be parsed into
InternalErrorResponse and dealt with accordingly.
2018-09-24 20:39:36 +03:00
Rsl1122 7f53fb4c80 [Debt] Moved LogsFolderCleanTask out of PlanFiles
This had to be done in order for a call to settings to be made without
a dependency cycle, since PlanConfig depends on PlanFiles.
2018-09-24 19:53:03 +03:00
Rsl1122 b972c26fe8 [Smell] Renamed FileSystem to PlanFiles 2018-09-24 19:41:11 +03:00
Rsl1122 594e9b4072 [Debt] Removed FileUtil.getStringFromResource
Because of PlanPlugin dependency this code needed to be moved elsewhere.
New method to use is FileSystem#readCustomizableResourceFlat
2018-09-24 19:38:39 +03:00
Rsl1122 81969682a4
Update versions.txt 2018-09-24 19:21:06 +03:00
Rsl1122 0d3eb77d90
Merge pull request #733 from Rsl1122/development
PR for 4.4.6
2018-09-23 18:28:56 +03:00
Rsl1122 e72b89571e [Fix] Order of Registration to PluginData values
Old addValue method added the values in an arbitrary label order,
Order of adding makes more sense and gives developers more control.
2018-09-23 18:04:03 +03:00
Rsl1122 836bf28348 [V] Version bump to 4.4.6 2018-09-23 17:52:33 +03:00
Rsl1122 d1d2753422 [Fix] Fix MySQL query for "Has Column"
MySQL query for has column did not take database name into account.
This means that a database with multiple Plan databases would provide
wrong results for the Patch system, leading to patch failiure

Affected issues: Fixes #732
2018-09-23 17:51:36 +03:00
Rsl1122 cbb45bf49d [Fix] Locale lang group replacement changes
Changed the Lang that was being used to replace things on the html, now
some of the Lang is no longer used. (CmdHelpLang, CommandLang, etc)
GenericLang caused page breakage due to wrong replacements, so it is no
longer used for replacement

Affected issues: Fixes #706
2018-09-23 17:39:15 +03:00
Rsl1122 e7cbf10ee3 [Debt] AnalysisPluginsTabContentCreator non-static 2018-09-19 20:04:58 +03:00
Rsl1122 7a817d3463 [Test] Added TestAPFModule
This dagger module can be used in the future when creating full test
components for system wide testing.
2018-09-19 13:45:36 +03:00
Rsl1122 1a638ca4c9 [Test] Removed some unnecessary test utilities
ConsoleSenders can be mocked on the spot, so a concrete implementation
is not required.
2018-09-19 13:44:54 +03:00
Rsl1122 5fc5494da9 [Debt] Created factory for Accordion objects.
SessionAccordion and ServerAccordion are now constructed with a factory.
Renamed: AbstractAccordion -> Accordion, as class was not abstract.
2018-09-19 13:22:38 +03:00
Rsl1122 ad5837b519 [Debt] Removed CacheSystem.getInstance() method
This deprecated method was no longer in use.
2018-09-19 13:01:31 +03:00
Rsl1122 eb91fbc990 [Debt] ActivityIndex#getFormattedValue(Formatter) 2018-09-18 18:43:58 +03:00
Rsl1122 062ecc86a7 [Debt] Removed getServerUUID usage in Tests and Processors 2018-09-18 18:38:42 +03:00
Rsl1122 f398c2a2c2 [Debt] Removed getServerUUID usage in Session 2018-09-18 18:30:31 +03:00
Rsl1122 b80198ef51 [Debt] Removed some static ServerInfo methods
serverUUID method will require a separate working, as it has 40 usages.
2018-09-18 18:25:12 +03:00
Rsl1122 57377ece82 [Debt] RecentLoginList construction, add Formatter
Added Formatter<Long> to RecentLoginList constructor.
2018-09-18 18:21:23 +03:00
Rsl1122 f26294d9dd [Debt] Turned GeolocationCache methods non-static
getInstance is not necessary as GeolocationCache can be injected
everywhere where it is required (Mostly at gathering layer)
Discovered old GeolocationCacheTest that was removed.
2018-09-18 18:18:52 +03:00
Rsl1122 654d7ca03c [Debt] Removed static methods WorldAliasSettings
Usage in Session is in a deprecated method, needs to be sorted - TODO
Other usages injected WorldAliasSettings
2018-09-18 18:04:22 +03:00
Rsl1122 aff935bfc1 [Debt] Removed HookHandler.getInstance() method.
This method was in use for generating different PluginData related
things: Bans, Analysis page & Inspect page plugins tabs.

- Bans: Removed BanData related analysis objects as it is deprecated.
Plugins will not be asked if a player is banned in the future, and
will rely on server OfflinePlayer#isBanned instead.

- Analysis Page: Generation tool is still static, on the TODO list.

- Inspect Page: Added HookHandler as injected dependency
2018-09-18 17:58:01 +03:00
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