From 340a2a893cbae278645a1fa96a903f4df4ece63b Mon Sep 17 00:00:00 2001 From: Marissa Date: Tue, 8 Aug 2023 11:36:47 -0400 Subject: [PATCH] fixup! Redesign context implementation --- .../otel4s/context/transparent/OpenContext.scala | 16 ++++------------ .../otel4s/java/context/ContextProvider.scala | 3 ++- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/core/common/src/main/scala/org/typelevel/otel4s/context/transparent/OpenContext.scala b/core/common/src/main/scala/org/typelevel/otel4s/context/transparent/OpenContext.scala index 0b97b78ce..eb814a1c4 100644 --- a/core/common/src/main/scala/org/typelevel/otel4s/context/transparent/OpenContext.scala +++ b/core/common/src/main/scala/org/typelevel/otel4s/context/transparent/OpenContext.scala @@ -21,8 +21,9 @@ import cats.effect.SyncIO import scala.reflect.ClassTag -final class OpenContext private[transparent] (contents: Map[TypedKey[_], Any]) - extends Context { +final case class OpenContext private[transparent] ( + contents: Map[TypedKey[_], Any] +) extends Context { type Self = OpenContext type Key[A] = TypedKey[A] type KeyBounds[A] = ClassTag[A] @@ -31,15 +32,6 @@ final class OpenContext private[transparent] (contents: Map[TypedKey[_], Any]) contents.get(key).map(_.asInstanceOf[A]) def updated[A](key: TypedKey[A], value: A): OpenContext = new OpenContext(contents.updated(key, value)) - - def entries: Iterator[OpenContext.Entry[_]] = - contents.iterator.map { case (key, value) => - OpenContext.Entry(key, value) - } } -object OpenContext extends OpenContextProvider[SyncIO] { - final case class Entry[A] private(key: TypedKey[A], value: A) { - def classTag: ClassTag[A] = key.tag - } -} +object OpenContext extends OpenContextProvider[SyncIO] diff --git a/java/common/src/main/scala/org/typelevel/otel4s/java/context/ContextProvider.scala b/java/common/src/main/scala/org/typelevel/otel4s/java/context/ContextProvider.scala index 09bfe81d9..7e1cec559 100644 --- a/java/common/src/main/scala/org/typelevel/otel4s/java/context/ContextProvider.scala +++ b/java/common/src/main/scala/org/typelevel/otel4s/java/context/ContextProvider.scala @@ -18,7 +18,8 @@ package org.typelevel.otel4s.java.context import cats.effect.Sync import io.opentelemetry.context.{Context => JContext} -import org.typelevel.otel4s.context.{Key, ContextProvider => CoreContextProvider} +import org.typelevel.otel4s.context.{ContextProvider => CoreContextProvider} +import org.typelevel.otel4s.context.Key class ContextProvider[F[_]: Sync] private[context] extends CoreContextProvider[F, Context] {