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.

Reply via email to