[ 
https://issues.apache.org/jira/browse/JOSHUA-275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15304292#comment-15304292
 ] 

Matt Post commented on JOSHUA-275:
----------------------------------

Also, if / when anyone starts working on this, please branch off JOSHUA-252. 
This is nearly completed, I think, except for the problem with setting the 
debug levels, and merging it against the current master is a real pain.

> 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
>
> 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