fred
fred copied to clipboard
Improve MultiValueTable
MultiValueTable previously used HashTable class internally and all access methods required to be synchronized. This solution was replaced with ConcurrentHashMap and CopyOnWriteArrayList, which may be accessed concurrently and with less synchronization.
Also changed some methods, which used older collection APIs.
Improved usages of MultiValueTable.
Signed-off-by: Veniamin Fernandes [email protected]
@venfernand thank you for your pull request! This makes the code much nicer.
To ensure that this does not break plugins, it needs to preserve all existing API, so to be able to merge it, this needs shims for all previously existing public methods and constructors.
@venfernand will you add the shims to preserve the existing API?
@venfernand will you add the shims to preserve the existing API?
Sorry for being too distructive.
I restored all previous public API in MultiValueTable and marked some methods as @Deprecated to speed up transition to newer methods.
I added some more fixes.
@bertm is this ready to be merged, now?
@venfernand can you merge next into your branch and resolve the conlicts?
merged after resolving conflicts. Waiting longer would only increase the amount of conflicts.
@venfernand thank you for your PR!