Remove BaggageUtils (#1931)
This commit is contained in:
parent
7ceb7d0a3d
commit
e8c6b1dac8
|
|
@ -36,7 +36,7 @@ public interface Baggage extends ImplicitContextKeyed {
|
|||
* the current Context.
|
||||
*/
|
||||
static Baggage current() {
|
||||
return BaggageUtils.getCurrentBaggage();
|
||||
return fromContext(Context.current());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -44,7 +44,8 @@ public interface Baggage extends ImplicitContextKeyed {
|
|||
* Baggage} if there is no baggage in the context.
|
||||
*/
|
||||
static Baggage fromContext(Context context) {
|
||||
return BaggageUtils.getBaggage(context);
|
||||
Baggage baggage = fromContextOrNull(context);
|
||||
return baggage != null ? baggage : empty();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -53,12 +54,12 @@ public interface Baggage extends ImplicitContextKeyed {
|
|||
*/
|
||||
@Nullable
|
||||
static Baggage fromContextOrNull(Context context) {
|
||||
return BaggageUtils.getBaggageWithoutDefault(context);
|
||||
return context.get(ImmutableBaggage.BAGGAGE_KEY);
|
||||
}
|
||||
|
||||
@Override
|
||||
default Context storeInContext(Context context) {
|
||||
return BaggageUtils.withBaggage(this, context);
|
||||
return context.with(ImmutableBaggage.BAGGAGE_KEY, this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,65 +0,0 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.api.baggage;
|
||||
|
||||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.context.ContextKey;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
|
||||
/** Utility methods for accessing the {@link Baggage} contained in the {@link Context}. */
|
||||
@Immutable
|
||||
final class BaggageUtils {
|
||||
private static final ContextKey<Baggage> BAGGAGE_KEY =
|
||||
ContextKey.named("opentelemetry-baggage-key");
|
||||
|
||||
/**
|
||||
* Creates a new {@code Context} with the given value set.
|
||||
*
|
||||
* @param baggage the value to be set.
|
||||
* @param context the parent {@code Context}.
|
||||
* @return a new context with the given value set.
|
||||
*/
|
||||
static Context withBaggage(Baggage baggage, Context context) {
|
||||
return context.with(BAGGAGE_KEY, baggage);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the {@link Baggage} from the {@linkplain Context#current current context}, falling back
|
||||
* to an empty {@link Baggage}.
|
||||
*
|
||||
* @return the {@link Baggage} from the {@linkplain Context#current current context}.
|
||||
*/
|
||||
static Baggage getCurrentBaggage() {
|
||||
return getBaggage(Context.current());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the {@link Baggage} from the specified {@code Context}, falling back to an empty {@link
|
||||
* Baggage}.
|
||||
*
|
||||
* @param context the specified {@code Context}.
|
||||
* @return the {@link Baggage} from the specified {@code Context}.
|
||||
*/
|
||||
static Baggage getBaggage(Context context) {
|
||||
Baggage baggage = context.get(BAGGAGE_KEY);
|
||||
return baggage == null ? Baggage.empty() : baggage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the {@link Baggage} from the specified {@code Context}. If none is found, this method
|
||||
* returns {code null}.
|
||||
*
|
||||
* @param context the specified {@code Context}.
|
||||
* @return the {@link Baggage} from the specified {@code Context}.
|
||||
*/
|
||||
@Nullable
|
||||
static Baggage getBaggageWithoutDefault(Context context) {
|
||||
return context.get(BAGGAGE_KEY);
|
||||
}
|
||||
|
||||
private BaggageUtils() {}
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@
|
|||
package io.opentelemetry.api.baggage;
|
||||
|
||||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.context.ContextKey;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -21,6 +22,8 @@ class ImmutableBaggage implements Baggage {
|
|||
|
||||
static final Baggage EMPTY = new ImmutableBaggage.Builder().build();
|
||||
|
||||
static final ContextKey<Baggage> BAGGAGE_KEY = ContextKey.named("opentelemetry-baggage-key");
|
||||
|
||||
// The types of the EntryKey and Entry must match for each entry.
|
||||
private final Map<String, Entry> entries;
|
||||
@Nullable private final Baggage parent;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import io.opentelemetry.context.Context;
|
|||
import io.opentelemetry.context.Scope;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class BaggageUtilsTest {
|
||||
class BaggageContextTest {
|
||||
|
||||
@Test
|
||||
void testGetCurrentBaggage_Default() {
|
||||
|
|
@ -24,7 +24,7 @@ class BaggageUtilsTest {
|
|||
@Test
|
||||
void testGetCurrentBaggage_SetCorrContext() {
|
||||
Baggage baggage = Baggage.empty();
|
||||
try (Scope ignored = BaggageUtils.withBaggage(baggage, Context.root()).makeCurrent()) {
|
||||
try (Scope ignored = Context.root().with(baggage).makeCurrent()) {
|
||||
assertThat(Baggage.current()).isSameAs(baggage);
|
||||
}
|
||||
}
|
||||
|
|
@ -38,7 +38,7 @@ class BaggageUtilsTest {
|
|||
@Test
|
||||
void testGetBaggage_ExplicitContext() {
|
||||
Baggage baggage = Baggage.empty();
|
||||
Context context = BaggageUtils.withBaggage(baggage, Context.root());
|
||||
Context context = Context.root().with(baggage);
|
||||
assertThat(Baggage.fromContext(context)).isSameAs(baggage);
|
||||
}
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ class BaggageUtilsTest {
|
|||
@Test
|
||||
void testGetBaggageWithoutDefault_ExplicitContext() {
|
||||
Baggage baggage = Baggage.empty();
|
||||
Context context = BaggageUtils.withBaggage(baggage, Context.root());
|
||||
Context context = Context.root().with(baggage);
|
||||
assertThat(Baggage.fromContext(context)).isSameAs(baggage);
|
||||
}
|
||||
}
|
||||
|
|
@ -10,10 +10,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
import io.opentelemetry.context.Scope;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Unit tests for the methods in {@link BaggageUtils} and {@link Baggage} that interact with the
|
||||
* current {@link Baggage}.
|
||||
*/
|
||||
/** Unit tests for the methods in {@link Baggage} that interact with the current {@link Baggage}. */
|
||||
class ScopedBaggageTest {
|
||||
|
||||
private static final String KEY_1 = "key 1";
|
||||
|
|
|
|||
Loading…
Reference in New Issue