tree 145ab4006689c534eb7f05afb21771677e9d445c
parent 3341999a0042104fe9921b393441d5af3fa42e50
author Patrick Hiesel <hiesel@google.com> 1551711642 +0100
committer Patrick Hiesel <hiesel@google.com> 1551804320 +0100

Fix child collection bindings in RestApiServlet and add tests

The Gerrit Plugin injector and the RestApiServlet currently have
different bugs. This commit papers over the most pressing ones and adds
tests so that plugins can bind child collections and offer modifications
directly on the collections (e.g. postOnCollection).

When binding rest views from plugins, the plugin name is incorrectly set
to "gerrit" which is what we use for core Gerrit views. This does not
apply to collections though. These are bound with the correct plugin
name "plugin-name".

In RestApiServlet, this leads to a situation where the collection thinks
it belongs to a different part of Gerrit. For operations that modify the
collection (post, delete) this means we have to use "gerrit" as the
component name when looking up child views. For root collections, we
already do this and this is why it works for existing plugin root
collections. For subcollections, however, we did not - which is what
this commit changes. Now the two usages in RestApiServlet are
consistent.

To be clear: They are now consistently wrong across the different parts
of Gerrit, but they are consistent which means they work.

As future work, we want to fix this long standing issue by binding the
correct plugin names from the beginning. This is non-trivial though
because the DynamicMapProvider has no context on the plugin that is
performing the binding.

This commit adds the same logic that we have for core-collection
delegation to plugin-collections in RestApiServlet.

Change-Id: I954105155c4a354b6c577d8cc246d00998e33f57
