From da27a1e812c58e1107abb3d3be5f1a3d26a46f0e Mon Sep 17 00:00:00 2001 From: pbatko-da Date: Wed, 20 Oct 2021 16:38:22 +0200 Subject: [PATCH] [DPP-619][Self-service error codes] Adopt error codes in ApiVersionService (#11303) CHANGELOG_BEGIN CHANGELOG_END --- .../scala/platform/apiserver/ApiServices.scala | 2 +- .../services/ApiLedgerIdentityService.scala | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ledger/participant-integration-api/src/main/scala/platform/apiserver/ApiServices.scala b/ledger/participant-integration-api/src/main/scala/platform/apiserver/ApiServices.scala index f968ac13d7..4260f4a054 100644 --- a/ledger/participant-integration-api/src/main/scala/platform/apiserver/ApiServices.scala +++ b/ledger/participant-integration-api/src/main/scala/platform/apiserver/ApiServices.scala @@ -151,7 +151,7 @@ private[daml] object ApiServices { ApiTransactionService.create(ledgerId, transactionsService, metrics, errorsVersionsSwitcher) val apiLedgerIdentityService = - ApiLedgerIdentityService.create(() => identityService.getLedgerId()) + ApiLedgerIdentityService.create(() => identityService.getLedgerId(), errorsVersionsSwitcher) val apiVersionService = ApiVersionService.create() diff --git a/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/ApiLedgerIdentityService.scala b/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/ApiLedgerIdentityService.scala index b4adae9f65..120a7b71b6 100644 --- a/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/ApiLedgerIdentityService.scala +++ b/ledger/participant-integration-api/src/main/scala/platform/apiserver/services/ApiLedgerIdentityService.scala @@ -3,7 +3,11 @@ package com.daml.platform.apiserver.services -import com.daml.error.{DamlContextualizedErrorLogger, ContextualizedErrorLogger} +import com.daml.error.{ + ContextualizedErrorLogger, + DamlContextualizedErrorLogger, + ErrorCodesVersionSwitcher, +} import com.daml.ledger.api.domain.LedgerId import com.daml.ledger.api.v1.ledger_identity_service.LedgerIdentityServiceGrpc.{ LedgerIdentityService => GrpcLedgerIdentityService @@ -22,7 +26,8 @@ import scalaz.syntax.tag._ import scala.concurrent.{ExecutionContext, Future} private[apiserver] final class ApiLedgerIdentityService private ( - getLedgerId: () => Future[LedgerId] + getLedgerId: () => Future[LedgerId], + errorCodesVersionSwitcher: ErrorCodesVersionSwitcher, )(implicit executionContext: ExecutionContext, loggingContext: LoggingContext) extends GrpcLedgerIdentityService with GrpcApiService { @@ -30,6 +35,8 @@ private[apiserver] final class ApiLedgerIdentityService private ( private implicit val contextualizedErrorLogger: ContextualizedErrorLogger = new DamlContextualizedErrorLogger(logger, loggingContext, None) + private val errorFactories = ErrorFactories(errorCodesVersionSwitcher) + @volatile var closed = false override def getLedgerIdentity( @@ -37,7 +44,7 @@ private[apiserver] final class ApiLedgerIdentityService private ( ): Future[GetLedgerIdentityResponse] = { logger.info(s"Received request for ledger identity: $request") if (closed) - Future.failed(ErrorFactories.serviceNotRunning(None)) + Future.failed(errorFactories.serviceNotRunning(None)) else getLedgerId() .map(ledgerId => GetLedgerIdentityResponse(ledgerId.unwrap)) @@ -52,11 +59,12 @@ private[apiserver] final class ApiLedgerIdentityService private ( private[apiserver] object ApiLedgerIdentityService { def create( - getLedgerId: () => Future[LedgerId] + getLedgerId: () => Future[LedgerId], + errorCodesVersionSwitcher: ErrorCodesVersionSwitcher, )(implicit executionContext: ExecutionContext, loggingContext: LoggingContext, ): ApiLedgerIdentityService with BindableService = { - new ApiLedgerIdentityService(getLedgerId) + new ApiLedgerIdentityService(getLedgerId, errorCodesVersionSwitcher) } }