[ 
https://issues.apache.org/jira/browse/SOLR-716?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shalin Shekhar Mangar updated SOLR-716:
---------------------------------------

    Attachment: SOLR-716.patch

*Changes*

# SolrResourceLoader keeps a reference to the CoreDescriptor to get access to 
the core specific properties without breaking API compatibility.
# CoreContainer and CoreDescriptor keep a Properties instance each for global 
and core-specific properties respectively
# DOMUtil#substituteSystemProperties has been refactored (without breaking 
compatibility) to another method which accepts a Properties instance. This 
instance is checked for a value failing which, System#getProperty is used.
# TestSolrProperties is a test for this borrowed from Henri's patch in 
SOLR-646. It is actually in SolrJ test sources rather than main sources for 
ease of testing.

The only thing not supported is that users cannot specify a variable inside 
solr.xml itself. Variables can only be used in the solrconfig.xml and 
schema.xml files (actually they can be used in any instance of Config class).

Reviews and comments are invited.

> Support properties in configuration files
> -----------------------------------------
>
>                 Key: SOLR-716
>                 URL: https://issues.apache.org/jira/browse/SOLR-716
>             Project: Solr
>          Issue Type: New Feature
>    Affects Versions: 1.3
>            Reporter: Shalin Shekhar Mangar
>            Assignee: Shalin Shekhar Mangar
>             Fix For: 1.3
>
>         Attachments: SOLR-716.patch
>
>
> Initially suggested by Hoss at 
> https://issues.apache.org/jira/browse/SOLR-350?focusedCommentId=12562834#action_12562834
>  and taken forward by Henri in SOLR-646
> # Allows users to define global as well as core-specific properties in 
> solr.xml which can be used in solrconfig.xml and schema.xml
> {code:xml}
> <solr persistent="false">
>   <property name="var" value="value" />
>   <cores adminPath="/admin/cores">
>     <core name="core0" instanceDir="core0">
>       <property name="var" value="value" />
>     </core>
>     <core name="core1" instanceDir="core1" />
>   </cores>
> </solr>
> {code}
> # The following core-specific properties will be added automatically:
> ** solr.core.instanceDir
> ** solr.core.name
> ** solr.core.configName
> ** solr.core.schemaName
> # The variable substitution will be done in this fall-back order -- 
> core-specific, implicit, global, system properties.
> # The properties defined in solr.xml should also be persisted back as is 
> (without evaluation).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to