GUACAMOLE-1006: Provide implementations for List properties.
Provides some basic implementations for String and URI list properties in guacamole-ext, in anticipation of those being required for things like LDAP and RADIUS server redundancy.
Also, note that I switched over to semicolon delimiting for these - that's worth some discussion, but my rationale for that is that some URIs - LDAP ones, for instance - rely on the ability to use commas to separate LDAP DNs within the URI, so, one way or the other we need to address that.
What do you think about enhancing Environment such that it inherently supports retrieving an ordered Collection of property values?
It could then be up to the GuacamoleProperty implementation to decide how to represent multiple values (if at all).
Sounds good - I will take a look.
@mike-jumper Okay, I've started down path that I think is approximately what you're suggesting, while trying to avoid breaking everything in the process. So, instead of making getProperty() and/or getRequiredProperty() return a collection, I added a new set of methods, getPropertyCollection() and getRequiredPropertyCollection() that are intended to parse into a Collection.
This would rely on each of the properties to implement a new getValueCollection() method, which I've provided a default implementation for in GuacamoleProperty that basically says "not yet implemented."
Let me know if this looks good, sane, reasonable, etc., or if there's a better solution? I could break everything and make getValue(), getProperty(), and getRequiredProperty() return collections instead of individual values, if that's preferable?