Alex, I looked up the constructors and figured it out. next question is about two of them:
public ConfigKey(Class<T> type, String name, String category, String defaultValue, String description, boolean isDynamic); and public ConfigKey(String category, Class<T> type, String name, String defaultValue, String description, boolean isDynamic); should one of them be removed? makes more sense to add a public ConfigKey(Class<T> type, String name, String category, String defaultValue, String description, boolean isDynamic, T multiplier); that uses global scope. On Mon, Sep 9, 2013 at 7:48 PM, Daan Hoogland <daan.hoogl...@gmail.com> wrote: > Looks great Alex, > > One question; Adding a scope or a multiplier is featured on the wiki > but not specified. Can you add a pointer to it? > > Very nice indeed, > Daan > > On Mon, Sep 9, 2013 at 7:20 PM, Alex Huang <alex.hu...@citrix.com> wrote: >> As part of the work to pull apart orchestration from self service, I made >> some changes to how configuration parameters work. The problem with the >> current system are as follows: >> >> - configuration variables are all stored as enums in Config.java which means >> plugins have to modify a single file. We established that to be a bad >> pattern in some earlier thread. >> - No way to tell during upgrades whether a config variable has become >> useless or if the defaults have changed. >> - No way to consistently have variables be dynamically updated. >> - No way to consistently migrate a global variable to a scoped variable. >> - No way to use more than one type of storage (db) to store config variables. >> - Some of the code are still using text strings to retrieve configuration. >> - No way to consistently validate variables. (although this is not done yet >> but I described how it can be done in this new framework.) >> >> The changes are detailed on wiki [1]. There's a detail list of todo items >> in ConfigDepotImpl.java if you're interested in picking up any of the work. >> The old way still works but I recommend we move all new way for new config >> parameters. >> >> If everyone reviewed it all and like how it works then we can remove the old >> way of how it all works. >> >> --Alex >> [1] https://cwiki.apache.org/confluence/display/CLOUDSTACK/Configuration