diff --git a/cds-feature-ai-core/src/main/java/com/sap/cds/feature/aicore/core/AICoreServiceConfiguration.java b/cds-feature-ai-core/src/main/java/com/sap/cds/feature/aicore/core/AICoreServiceConfiguration.java index 2d6c372..eca6c25 100644 --- a/cds-feature-ai-core/src/main/java/com/sap/cds/feature/aicore/core/AICoreServiceConfiguration.java +++ b/cds-feature-ai-core/src/main/java/com/sap/cds/feature/aicore/core/AICoreServiceConfiguration.java @@ -3,6 +3,10 @@ */ package com.sap.cds.feature.aicore.core; +import com.sap.ai.sdk.core.AiCoreService; +import com.sap.ai.sdk.core.client.ConfigurationApi; +import com.sap.ai.sdk.core.client.DeploymentApi; +import com.sap.ai.sdk.core.client.ResourceGroupApi; import com.sap.cds.feature.aicore.core.handler.AICoreApplicationServiceHandler; import com.sap.cds.feature.aicore.core.handler.ActionHandler; import com.sap.cds.feature.aicore.core.handler.ConfigurationHandler; @@ -48,7 +52,14 @@ public void services(CdsRuntimeConfigurer configurer) { if (hasBinding) { AICoreServiceImpl service = - new AICoreServiceImpl(AICoreService.DEFAULT_NAME, runtime, multiTenancyEnabled); + new AICoreServiceImpl( + AICoreService.DEFAULT_NAME, + runtime, + multiTenancyEnabled, + new DeploymentApi(), + new ConfigurationApi(), + new ResourceGroupApi(), + new AiCoreService()); configurer.service(service); logger.info("Registered AICoreService backed by AI Core binding."); } else { diff --git a/cds-feature-ai-core/src/main/java/com/sap/cds/feature/aicore/core/AICoreServiceImpl.java b/cds-feature-ai-core/src/main/java/com/sap/cds/feature/aicore/core/AICoreServiceImpl.java index da33d58..207de4b 100644 --- a/cds-feature-ai-core/src/main/java/com/sap/cds/feature/aicore/core/AICoreServiceImpl.java +++ b/cds-feature-ai-core/src/main/java/com/sap/cds/feature/aicore/core/AICoreServiceImpl.java @@ -65,7 +65,14 @@ public class AICoreServiceImpl extends AbstractAICoreService { private final ResourceGroupApi resourceGroupApi; private final AiCoreService sdkService; - public AICoreServiceImpl(String name, CdsRuntime runtime, boolean multiTenancyEnabled) { + public AICoreServiceImpl( + String name, + CdsRuntime runtime, + boolean multiTenancyEnabled, + DeploymentApi deploymentApi, + ConfigurationApi configurationApi, + ResourceGroupApi resourceGroupApi, + AiCoreService sdkService) { super(name, runtime); this.multiTenancyEnabled = multiTenancyEnabled; CdsEnvironment env = runtime.getEnvironment(); @@ -82,10 +89,10 @@ public AICoreServiceImpl(String name, CdsRuntime runtime, boolean multiTenancyEn this.tenantResourceGroupCache = newCache(); this.resourceGroupDeploymentCache = newCache(); this.deploymentLocks = newCache(); - this.deploymentApi = new DeploymentApi(); - this.configurationApi = new ConfigurationApi(); - this.resourceGroupApi = new ResourceGroupApi(); - this.sdkService = new AiCoreService(); + this.deploymentApi = deploymentApi; + this.configurationApi = configurationApi; + this.resourceGroupApi = resourceGroupApi; + this.sdkService = sdkService; } private static Cache newCache() {