Remove BaggageUtils (#1931)

This commit is contained in:
Anuraag Agrawal 2020-10-31 03:25:12 +09:00 committed by GitHub
parent 7ceb7d0a3d
commit e8c6b1dac8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 77 deletions

View File

@ -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);
}
/**

View File

@ -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() {}
}

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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";