I have a configuration type that has a fragment in it as shown below.
@ProviderType
@ObjectClassDefinition(name = "Provider Configuration")
public @interface MetricProviderConfig
{
String schedule() default "0";
}
If the associated property in a .cfg file exists but has no value, as in:
schedule =
I get the null string "" as opposed to the default which is what I would
expect. While this is preferable to a null, which I got at some on some earlier
Karaf release, I would think that you'd get the default whether the property
didn't exist or existed with no value.
Another comment, which perhaps is more general to OSGi in this area, is that
properties aren't trimmed. I honestly can't think of a use case where somebody
would want trailing white space passed in. Also, if the configuration type
exposes an enumeration, an error occurs.
@ProviderType
@ObjectClassDefinition(name = "Provider Configuration")
public @interface MetricProviderConfig
{
MyEnum enumValue() default MyEnum.ENUM_VALUE;
}
So the first property below works, but the second one doesn't. Is this by
design?
enumValue = ENUM_VALUE
enumValue = ENUM_VALUE
Regards,
Scott