Avoid empty string as a value for property keys

Description

We support both empty string and unset (in code, null) for property key values. This is confusing from a user perspective, especially because our configuration documentation renders empty string the same as unset. They may even have different meanings, since Configuration#containsKey is false when a key is unset/null but true for empty string. We should standardize on one of the two to mean "not set", probably "null". We can generate a warning if a user sets a property key to empty string, and have a test to verify that we don't use empty string as a default value for any of our property keys.

Environment

None

Status

Assignee

Zac Blanco

Reporter

Zac Blanco

Labels

None

Components

Fix versions

Affects versions

1.8.1

Priority

Minor
Configure