Closes #121 - Combined properties classes into FluoConfiguration

Pull request for #121

Fluo Configuration extends Apache Commons Configuration. Created unit test and updated
implementation to use new configuration class.  Added methods to verify
if configuration is set properly for client, admin, worker & oracle.
It's a tad more to maintain on our end, but it's immediately obvious once
they start coding which properties are needed.


On Tue, Aug 19, 2014 at 3:13 PM, Corey Nolet <cjnolet@gmail.com> wrote:

> I was thinking something like FluoAdminPropsBuilder and
> FluoClientPropsBuilder that could decouple the two.
>
>
> On Tue, Aug 19, 2014 at 2:42 PM, Mike Walch <notifications@github.com>
> wrote:
>
>> In modules/api/src/main/java/io/fluo/api/config/FluoConfiguration.java:
>>
>> > +    Iterator<String> iter = getKeys();
>> > +    while (iter.hasNext()){
>> > +      String key = iter.next();
>> > +      System.out.println(key + " = " + getProperty(key));
>> > +    }
>> > +  }
>> > +
>> > +  private boolean contains(String key) {
>> > +    if (containsKey(key) == false) {
>> > +      log.info(key + " is not set");
>> > +      return false;
>> > +    }
>> > +    return true;
>> > +  }
>> > +
>> > +  public boolean hasClientProps() {
>>
>> The comments in FluoFactory give advice on which properties are needed
>> for FluoClient and FluoAdmin. Each different component (client, admin,
>> worker, oracle, minifluo) has a method to check if required properties are
>> not set and prints an error message if not. While I think i have made it
>> clearer for users, more work could be done on this. However, it is tricky
>> in that different components share properties so they cannot just be split
>> up by component.
>>
>> —
>> Reply to this email directly or view it on GitHub
>> <https://github.com/fluo-io/fluo/pull/137/files#r16434579>.
>>
>
>