[ https://issues.apache.org/jira/browse/SOLR-14977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17225848#comment-17225848 ]
Noble Paul edited comment on SOLR-14977 at 11/4/20, 7:13 AM: ------------------------------------------------------------- Let's have a simple interface as follows (change the name as you wish). This will help us do a type-safe initialization of any plugin. {code:java} public interface SimplePlugin<T> { public void initPlugin(T initVals); } {code} for instance the {{PlacementPluginConfig}} can have only the following attributes {code} { "myfirstString": "a text value", "aLong": 50, "aDoubleConfig": 3.1415928, "shouldIStay": true} {code} It does not have to care about the attributes in {{PluginMeta}} if it does not need it was (Author: noble.paul): Let's have a simple interface as follows (change the name as you wish). This will help us do a type-safe initialization of any plugin. {code:java} public interface SimplePlugin<T> { public void initPlugin(T initVals); } {code} > Container plugins need a way to be configured > --------------------------------------------- > > Key: SOLR-14977 > URL: https://issues.apache.org/jira/browse/SOLR-14977 > Project: Solr > Issue Type: Improvement > Security Level: Public(Default Security Level. Issues are Public) > Components: Plugin system > Reporter: Andrzej Bialecki > Priority: Major > > Container plugins are defined in {{/clusterprops.json:/plugin}} using a > simple {{PluginMeta}} bean. This is sufficient for implementations that don't > need any configuration except for the {{pathPrefix}} but insufficient for > anything else that needs more configuration parameters. > An example would be a {{CollectionsRepairEventListener}} plugin proposed in > PR-1962, which needs parameters such as the list of collections, {{waitFor}}, > maximum operations allowed, etc. to properly function. > This issue proposes to extend the {{PluginMeta}} bean to allow a > {{Map<String, Object>}} configuration parameters. > There is an interface that we could potentially use ({{MapInitializedPlugin}} > but it works only with {{String}} values. This is not optimal because it > requires additional type-safety validation from the consumers. The existing > {{PluginInfo}} / {{PluginInfoInitialized}} interface is too complex for this > purpose. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org