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