Scope: API redesign of AICoreService + downstream wiring; biggest behavioral change.
- Drop tenantId parameter everywhere in the public API:
- resourceGroupForTenant(String) → resourceGroup() (impl reads tenant via TenantProviderService).
- Remove isMultiTenancyEnabled() from the interface (consume cds.multiTenancy.* standard CAP property internally instead of custom flag).
- Remove getRetry() from the interface (move to internal/abstract base or expose differently); javadoc "a bit unexpected to find this here".
- Drop
@link references to AICoreServiceImpl / MockAICoreServiceImpl from interface javadoc – an interface must not know its impls.
- Consider segregating into:
- resource-group / deployment management
- inference (provide ApiClient inferenceClient(ModelDeploymentSpec) shortcut, remove explicit resourceGroupId/deploymentId params).
- Make the service injectable via Spring (
@Autowired AICoreService, optional @Qualifier for multi-model).
- Update RecommendationClientResolver, RecommendationConfiguration, FioriRecommendationHandler, README "Programmatic Usage" code samples accordingly.
Scope: API redesign of AICoreService + downstream wiring; biggest behavioral change.
@linkreferences to AICoreServiceImpl / MockAICoreServiceImpl from interface javadoc – an interface must not know its impls.@AutowiredAICoreService, optional@Qualifierfor multi-model).