[
https://issues.apache.org/jira/browse/JOSHUA-275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15421313#comment-15421313
]
Max Thomas commented on JOSHUA-275:
-----------------------------------
+1 to this - I wouldn't mind working on this.
Matt, I don't think they support "fuzzy parameters" but they do support
JVM-style arguments that override everything else, addressing your first
question. In other words,
java -Dfoo.bar=qux MyMainClass
with the configuration file saying "foo.bar = hello" would get the value "qux".
You can see the hierarchy here:
https://github.com/typesafehub/config#standard-behavior
> 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)