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

Lewis John McGibbney updated JOSHUA-275:
----------------------------------------
    Fix Version/s:     (was: 6,2)
                   6.2

> Revamp the Configuration System
> -------------------------------
>
>                 Key: JOSHUA-275
>                 URL: https://issues.apache.org/jira/browse/JOSHUA-275
>             Project: Joshua
>          Issue Type: Improvement
>    Affects Versions: 6.1, 6.2, 7
>            Reporter: Kellen Sunderland
>             Fix For: 6.2
>
>
> I'd like to propose we centralize Joshua's configuration system to make use 
> of typesafe/config https://github.com/typesafehub/config .  This config 
> system looks like JSON but with comments so it's easy to read.  Because it's 
> JSON it supports hierarchies of configurations, lists of configuration etc 
> quite easily.  It has some nice features like parsing time automatically.  
> The main advantage here though is that we have a standard config system that 
> doesn't have to be manually parsed.
> Here's a quick example of how we can use it:
> {code:java}
>     @Inject    
>     public PackedGrammar(@TypesafeConfig("PackedGrammar.grammar_dir")
>                          String grammar_dir,
>                          @TypesafeConfig("PackedGrammar.span_limit")
>                          int span_limit, 
>                          String owner, 
>                          String type) throws FileNotFoundException, 
> IOException ...
> {code}
> and then a config similar to
> \# Joshua configuration file
> {code:javascript}
> config = {
>     default-non-terminal = X
>     goal-symbol = GOAL
>     ...
>     
>     PackedGrammar: {
>         type: thrax,
>         grammar_dir: /local/grammars/...
>         span_limit: 50
>     }
>     ...
> }
> {code}
> Version: TBD, but it's a breaking change so we may consider putting it in 
> Joshua 7.
> Totally open to other config / injection systems if others want to suggest 
> any of their favorites.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to