From 9c6ea274fe93955236c9ef4c68d02b72c9f58ccc Mon Sep 17 00:00:00 2001 From: Carl Mastrangelo Date: Mon, 5 Jun 2017 17:40:23 -0700 Subject: [PATCH] core: move NameResolverProvider to internal --- .../java/io/grpc/ManagedChannelBuilder.java | 2 +- .../AbstractManagedChannelImplBuilder.java | 1 - .../internal/DnsNameResolverProvider.java | 5 ++--- .../{ => internal}/NameResolverProvider.java | 9 +++++---- ... => io.grpc.internal.NameResolverProvider} | 0 .../internal/DnsNameResolverProviderTest.java | 1 - .../NameResolverProviderTest.java | 20 ++++++++++--------- ...eResolverProviderTest-multipleProvider.txt | 3 --- ...solverProviderTest-unavailableProvider.txt | 1 - ...eResolverProviderTest-multipleProvider.txt | 3 +++ ...solverProviderTest-unavailableProvider.txt | 1 + 11 files changed, 23 insertions(+), 23 deletions(-) rename core/src/main/java/io/grpc/{ => internal}/NameResolverProvider.java (97%) rename core/src/main/resources/META-INF/services/{io.grpc.NameResolverProvider => io.grpc.internal.NameResolverProvider} (100%) rename core/src/test/java/io/grpc/{ => internal}/NameResolverProviderTest.java (93%) delete mode 100644 core/src/test/resources/io/grpc/NameResolverProviderTest-multipleProvider.txt delete mode 100644 core/src/test/resources/io/grpc/NameResolverProviderTest-unavailableProvider.txt create mode 100644 core/src/test/resources/io/grpc/internal/NameResolverProviderTest-multipleProvider.txt create mode 100644 core/src/test/resources/io/grpc/internal/NameResolverProviderTest-unavailableProvider.txt diff --git a/core/src/main/java/io/grpc/ManagedChannelBuilder.java b/core/src/main/java/io/grpc/ManagedChannelBuilder.java index 7b1696e4dc..209d6cfd79 100644 --- a/core/src/main/java/io/grpc/ManagedChannelBuilder.java +++ b/core/src/main/java/io/grpc/ManagedChannelBuilder.java @@ -162,7 +162,7 @@ public abstract class ManagedChannelBuilder> * Provides a custom {@link NameResolver.Factory} for the channel. * *

If this method is not called, the builder will try the providers listed by {@link - * NameResolverProvider#providers()} for the given target. + * io.grpc.internal.NameResolverProvider#providers()} for the given target. * * @return this * @since 1.0.0 diff --git a/core/src/main/java/io/grpc/internal/AbstractManagedChannelImplBuilder.java b/core/src/main/java/io/grpc/internal/AbstractManagedChannelImplBuilder.java index 72c0cbcacb..d34403bcf1 100644 --- a/core/src/main/java/io/grpc/internal/AbstractManagedChannelImplBuilder.java +++ b/core/src/main/java/io/grpc/internal/AbstractManagedChannelImplBuilder.java @@ -35,7 +35,6 @@ import io.grpc.LoadBalancer; import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import io.grpc.NameResolver; -import io.grpc.NameResolverProvider; import io.grpc.PickFirstBalancerFactory; import java.net.SocketAddress; import java.net.URI; diff --git a/core/src/main/java/io/grpc/internal/DnsNameResolverProvider.java b/core/src/main/java/io/grpc/internal/DnsNameResolverProvider.java index ea1770de5e..54e0f1dc73 100644 --- a/core/src/main/java/io/grpc/internal/DnsNameResolverProvider.java +++ b/core/src/main/java/io/grpc/internal/DnsNameResolverProvider.java @@ -18,7 +18,6 @@ package io.grpc.internal; import com.google.common.base.Preconditions; import io.grpc.Attributes; -import io.grpc.NameResolverProvider; import java.net.URI; /** @@ -60,12 +59,12 @@ public final class DnsNameResolverProvider extends NameResolverProvider { } @Override - protected boolean isAvailable() { + public boolean isAvailable() { return true; } @Override - protected int priority() { + public int priority() { return 5; } } diff --git a/core/src/main/java/io/grpc/NameResolverProvider.java b/core/src/main/java/io/grpc/internal/NameResolverProvider.java similarity index 97% rename from core/src/main/java/io/grpc/NameResolverProvider.java rename to core/src/main/java/io/grpc/internal/NameResolverProvider.java index d056ac4605..e2713e80e1 100644 --- a/core/src/main/java/io/grpc/NameResolverProvider.java +++ b/core/src/main/java/io/grpc/internal/NameResolverProvider.java @@ -14,10 +14,12 @@ * limitations under the License. */ -package io.grpc; +package io.grpc.internal; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; +import io.grpc.Attributes; +import io.grpc.NameResolver; import java.net.URI; import java.util.ArrayList; import java.util.Collections; @@ -33,7 +35,6 @@ import java.util.ServiceLoader; * exceptions may reasonably occur for implementation-specific reasons, implementations should * generally handle the exception gracefully and return {@code false} from {@link #isAvailable()}. */ -@Internal public abstract class NameResolverProvider extends NameResolver.Factory { /** * The port number used in case the target or the underlying naming system doesn't provide a @@ -145,7 +146,7 @@ public abstract class NameResolverProvider extends NameResolver.Factory { * Whether this provider is available for use, taking the current environment into consideration. * If {@code false}, no other methods are safe to be called. */ - protected abstract boolean isAvailable(); + public abstract boolean isAvailable(); /** * A priority, from 0 to 10 that this provider should be used, taking the current environment into @@ -153,7 +154,7 @@ public abstract class NameResolverProvider extends NameResolver.Factory { * detection. A priority of 0 does not imply that the provider wouldn't work; just that it should * be last in line. */ - protected abstract int priority(); + public abstract int priority(); private static class NameResolverFactory extends NameResolver.Factory { private final List providers; diff --git a/core/src/main/resources/META-INF/services/io.grpc.NameResolverProvider b/core/src/main/resources/META-INF/services/io.grpc.internal.NameResolverProvider similarity index 100% rename from core/src/main/resources/META-INF/services/io.grpc.NameResolverProvider rename to core/src/main/resources/META-INF/services/io.grpc.internal.NameResolverProvider diff --git a/core/src/test/java/io/grpc/internal/DnsNameResolverProviderTest.java b/core/src/test/java/io/grpc/internal/DnsNameResolverProviderTest.java index 3e87038dea..6bea78f4f8 100644 --- a/core/src/test/java/io/grpc/internal/DnsNameResolverProviderTest.java +++ b/core/src/test/java/io/grpc/internal/DnsNameResolverProviderTest.java @@ -22,7 +22,6 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import io.grpc.Attributes; -import io.grpc.NameResolverProvider; import java.net.URI; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/core/src/test/java/io/grpc/NameResolverProviderTest.java b/core/src/test/java/io/grpc/internal/NameResolverProviderTest.java similarity index 93% rename from core/src/test/java/io/grpc/NameResolverProviderTest.java rename to core/src/test/java/io/grpc/internal/NameResolverProviderTest.java index 7d192a04a7..3a321c8708 100644 --- a/core/src/test/java/io/grpc/NameResolverProviderTest.java +++ b/core/src/test/java/io/grpc/internal/NameResolverProviderTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.grpc; +package io.grpc.internal; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -24,7 +24,9 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; -import io.grpc.internal.DnsNameResolverProvider; +import io.grpc.Attributes; +import io.grpc.NameResolver; +import io.grpc.ReplacingClassLoader; import java.net.URI; import java.util.Collections; import java.util.List; @@ -36,7 +38,7 @@ import org.junit.runners.JUnit4; /** Unit tests for {@link NameResolverProvider}. */ @RunWith(JUnit4.class) public class NameResolverProviderTest { - private final String serviceFile = "META-INF/services/io.grpc.NameResolverProvider"; + private final String serviceFile = "META-INF/services/io.grpc.internal.NameResolverProvider"; private final URI uri = URI.create("dns:///localhost"); private final Attributes attributes = Attributes.EMPTY; @@ -44,7 +46,7 @@ public class NameResolverProviderTest { public void noProvider() { ClassLoader cl = new ReplacingClassLoader( getClass().getClassLoader(), serviceFile, - "io/grpc/NameResolverProviderTest-doesNotExist.txt"); + "io/grpc/internal/NameResolverProviderTest-doesNotExist.txt"); List providers = NameResolverProvider.load(cl); assertEquals(Collections.emptyList(), providers); } @@ -53,7 +55,7 @@ public class NameResolverProviderTest { public void multipleProvider() { ClassLoader cl = new ReplacingClassLoader( getClass().getClassLoader(), serviceFile, - "io/grpc/NameResolverProviderTest-multipleProvider.txt"); + "io/grpc/internal/NameResolverProviderTest-multipleProvider.txt"); List providers = NameResolverProvider.load(cl); assertEquals(3, providers.size()); assertSame(Available7Provider.class, providers.get(0).getClass()); @@ -69,7 +71,7 @@ public class NameResolverProviderTest { public void unavailableProvider() { ClassLoader cl = new ReplacingClassLoader( getClass().getClassLoader(), serviceFile, - "io/grpc/NameResolverProviderTest-unavailableProvider.txt"); + "io/grpc/internal/NameResolverProviderTest-unavailableProvider.txt"); assertEquals(Collections.emptyList(), NameResolverProvider.load(cl)); } @@ -170,12 +172,12 @@ public class NameResolverProviderTest { } @Override - protected boolean isAvailable() { + public boolean isAvailable() { return isAvailable; } @Override - protected int priority() { + public int priority() { return priority; } @@ -221,7 +223,7 @@ public class NameResolverProviderTest { } @Override - protected int priority() { + public int priority() { throw new RuntimeException("purposefully broken"); } } diff --git a/core/src/test/resources/io/grpc/NameResolverProviderTest-multipleProvider.txt b/core/src/test/resources/io/grpc/NameResolverProviderTest-multipleProvider.txt deleted file mode 100644 index d8f555d9f3..0000000000 --- a/core/src/test/resources/io/grpc/NameResolverProviderTest-multipleProvider.txt +++ /dev/null @@ -1,3 +0,0 @@ -io.grpc.NameResolverProviderTest$Available5Provider -io.grpc.NameResolverProviderTest$Available7Provider -io.grpc.NameResolverProviderTest$Available0Provider diff --git a/core/src/test/resources/io/grpc/NameResolverProviderTest-unavailableProvider.txt b/core/src/test/resources/io/grpc/NameResolverProviderTest-unavailableProvider.txt deleted file mode 100644 index 336702614a..0000000000 --- a/core/src/test/resources/io/grpc/NameResolverProviderTest-unavailableProvider.txt +++ /dev/null @@ -1 +0,0 @@ -io.grpc.NameResolverProviderTest$UnavailableProvider diff --git a/core/src/test/resources/io/grpc/internal/NameResolverProviderTest-multipleProvider.txt b/core/src/test/resources/io/grpc/internal/NameResolverProviderTest-multipleProvider.txt new file mode 100644 index 0000000000..ef19d12a36 --- /dev/null +++ b/core/src/test/resources/io/grpc/internal/NameResolverProviderTest-multipleProvider.txt @@ -0,0 +1,3 @@ +io.grpc.internal.NameResolverProviderTest$Available5Provider +io.grpc.internal.NameResolverProviderTest$Available7Provider +io.grpc.internal.NameResolverProviderTest$Available0Provider diff --git a/core/src/test/resources/io/grpc/internal/NameResolverProviderTest-unavailableProvider.txt b/core/src/test/resources/io/grpc/internal/NameResolverProviderTest-unavailableProvider.txt new file mode 100644 index 0000000000..92c535c9dd --- /dev/null +++ b/core/src/test/resources/io/grpc/internal/NameResolverProviderTest-unavailableProvider.txt @@ -0,0 +1 @@ +io.grpc.internal.NameResolverProviderTest$UnavailableProvider