I have a custom controller service with dynamic properties. The dynamic
property value is expected to be a controller service. Therefore, the
getSupportedDynamicPropertyDescriptor returns a PropertyDescriptor from the
Builder with "identifiesControllerService(ControllerService.class)". This
is because the property could be any controller service.

During validation (in AbstractComponentNode), the actual controller service
specified is compared with the expected API (i.e. ControllerService.) But,
the API coordinate is "default:system:unversioned".

First, is this correct? Why wouldn't ControllerService have a coordinate of
1.10.0 and whatever NAR it lives in?

Second, if the above is correct, what would you recommend for validating
the custom controller service?

 I thought about adding an allowance in
AbstractComponentNode.validateControllerServiceApi such that if all other
API checks fail AND the provided descriptor is dynamic AND the API
coordinate is "default:system:unversioned", then the validation result is
valid. This catchall seems a little open-ended though.

Suggestions?

Thanks,
Mark

Reply via email to