Load and init the HttpRpcPlugins provided as an array of pluginClassNames. @param mode is this TSD in read/write ("rw") or read-only ("ro") mode? @param pluginClassNames fully-qualified class names that are instances of HttpRpcPlugins @param http a map of canonicalized paths
(final OperationMode mode,
final String[] pluginClassNames,
final ImmutableMap.Builder<String, HttpRpcPlugin> http)
| 374 | * to {@link HttpRpcPlugin} instance. |
| 375 | */ |
| 376 | @VisibleForTesting |
| 377 | protected void initializeHttpRpcPlugins(final OperationMode mode, |
| 378 | final String[] pluginClassNames, |
| 379 | final ImmutableMap.Builder<String, HttpRpcPlugin> http) { |
| 380 | for (final String plugin : pluginClassNames) { |
| 381 | final HttpRpcPlugin rpc = createAndInitialize(plugin, HttpRpcPlugin.class); |
| 382 | validateHttpRpcPluginPath(rpc.getPath()); |
| 383 | final String path = rpc.getPath().trim(); |
| 384 | final String canonicalized_path = canonicalizePluginPath(path); |
| 385 | http.put(canonicalized_path, rpc); |
| 386 | LOG.info("Mounted HttpRpcPlugin [{}] at path \"{}\"", rpc.getClass().getName(), canonicalized_path); |
| 387 | } |
| 388 | } |
| 389 | |
| 390 | /** |
| 391 | * Ensure that the given path for an {@link HttpRpcPlugin} is valid. This |
no test coverage detected