I may have an alternative that would preserve the existing 1.2 'init' APIs and still keep (hopefully all) the solr-399 features.
To instantiate a core, we need a schema and config; to instantiate a schema, we need a config - and the core config & schema config should be the same. I'm experimenting on this premise - SolrConfig, IndexSchema & SolrCore are needed - by creating a "SolrSystem" which keeps these 3 objects as members and enforces their coupling. And each of the member point back to that solrSystem. Instead of changing 'init' (& keeping the 1.2 version), we can either make classes take a solrSystem as (first) constructor parameter (but I know this is not the current nor preferred usage) or have the proper solrSystem instance available through a static method with guaranteed call scope availability in the constructor & in init. The main change (for now) is in SolrConfig, SolrCore & IndexSchema that take a SolrSystem instance as first parameter and attached to it. The other obvious changes come from reverting the 'init' to 1.2, removing SolrConfig.Initializable, etc. I might be able to publish this experimentation later today. Any "stop" sign ? -- View this message in context: http://www.nabble.com/Initializing---break-init%28%29-API-compatibility--tf4808463.html#a13770170 Sent from the Solr - Dev mailing list archive at Nabble.com.
