tree beec34d7722d84e670a80ba0910f1acff945fc83
parent 03e0cef05ac3746f5a8c45157214070e3b8cba60
author Marcin Czech <maczech@gmail.com> 1589031733 +0200
committer Luca Milanesio <luca.milanesio@gmail.com> 1589116291 +0000

Fix extensibility of replication configuration parsing

Fix an issue where configuration parsing during the configuration
auto reload is always returning collection of DestinationConfiguration
objects regardless of the injected ConfigParser in the module.

This situation is causing a regression for plugins that extend
the replication plugin (e.g. pull-replication) because they are
expecting different remote configuration class (e.g.SourceCollection
instead of DestinationCollection).

Restore the pluggability of the configuration parsing by creating
a ConfigParser interface which can be bound to an implementation
in the plugin's Guice Module.

Bug: Issue 12720
Change-Id: Iaec22e082f49eaac56b5555074bb80c269879b68
