2929import java .util .Iterator ;
3030import java .util .List ;
3131import java .util .ServiceConfigurationError ;
32+ import java .util .ServiceLoader ;
3233import org .junit .Test ;
3334import org .junit .runner .RunWith ;
3435import org .junit .runners .JUnit4 ;
@@ -98,7 +99,7 @@ public void multipleProvider() throws Exception {
9899 Available7Provider .class ,
99100 load (ServiceProvidersTestAbstractProvider .class , NO_HARDCODED , cl , ACCESSOR ).getClass ());
100101
101- List <ServiceProvidersTestAbstractProvider > providers = ServiceProviders . loadAll (
102+ List <ServiceProvidersTestAbstractProvider > providers = loadAll (
102103 ServiceProvidersTestAbstractProvider .class , NO_HARDCODED , cl , ACCESSOR );
103104 assertEquals (3 , providers .size ());
104105 assertEquals (Available7Provider .class , providers .get (0 ).getClass ());
@@ -121,8 +122,7 @@ public void unknownClassProvider() {
121122 ClassLoader cl = new ReplacingClassLoader (getClass ().getClassLoader (), serviceFile ,
122123 "io/grpc/ServiceProvidersTestAbstractProvider-unknownClassProvider.txt" );
123124 try {
124- ServiceProviders .loadAll (
125- ServiceProvidersTestAbstractProvider .class , NO_HARDCODED , cl , ACCESSOR );
125+ loadAll (ServiceProvidersTestAbstractProvider .class , NO_HARDCODED , cl , ACCESSOR );
126126 fail ("Exception expected" );
127127 } catch (ServiceConfigurationError e ) {
128128 // noop
@@ -136,8 +136,7 @@ public void exceptionSurfacedToCaller_failAtInit() {
136136 try {
137137 // Even though there is a working provider, if any providers fail then we should fail
138138 // completely to avoid returning something unexpected.
139- ServiceProviders .loadAll (
140- ServiceProvidersTestAbstractProvider .class , NO_HARDCODED , cl , ACCESSOR );
139+ loadAll (ServiceProvidersTestAbstractProvider .class , NO_HARDCODED , cl , ACCESSOR );
141140 fail ("Expected exception" );
142141 } catch (ServiceConfigurationError expected ) {
143142 // noop
@@ -150,8 +149,7 @@ public void exceptionSurfacedToCaller_failAtPriority() {
150149 "io/grpc/ServiceProvidersTestAbstractProvider-failAtPriorityProvider.txt" );
151150 try {
152151 // The exception should be surfaced to the caller
153- ServiceProviders .loadAll (
154- ServiceProvidersTestAbstractProvider .class , NO_HARDCODED , cl , ACCESSOR );
152+ loadAll (ServiceProvidersTestAbstractProvider .class , NO_HARDCODED , cl , ACCESSOR );
155153 fail ("Expected exception" );
156154 } catch (FailAtPriorityProvider .PriorityException expected ) {
157155 // noop
@@ -164,8 +162,7 @@ public void exceptionSurfacedToCaller_failAtAvailable() {
164162 "io/grpc/ServiceProvidersTestAbstractProvider-failAtAvailableProvider.txt" );
165163 try {
166164 // The exception should be surfaced to the caller
167- ServiceProviders .loadAll (
168- ServiceProvidersTestAbstractProvider .class , NO_HARDCODED , cl , ACCESSOR );
165+ loadAll (ServiceProvidersTestAbstractProvider .class , NO_HARDCODED , cl , ACCESSOR );
169166 fail ("Expected exception" );
170167 } catch (FailAtAvailableProvider .AvailableException expected ) {
171168 // noop
@@ -245,13 +242,25 @@ private static <T> T load(
245242 Iterable <Class <?>> hardcoded ,
246243 ClassLoader cl ,
247244 PriorityAccessor <T > priorityAccessor ) {
248- List <T > candidates = ServiceProviders . loadAll (klass , hardcoded , cl , priorityAccessor );
245+ List <T > candidates = loadAll (klass , hardcoded , cl , priorityAccessor );
249246 if (candidates .isEmpty ()) {
250247 return null ;
251248 }
252249 return candidates .get (0 );
253250 }
254251
252+ private static <T > List <T > loadAll (
253+ Class <T > klass ,
254+ Iterable <Class <?>> hardcoded ,
255+ ClassLoader classLoader ,
256+ PriorityAccessor <T > priorityAccessor ) {
257+ return ServiceProviders .loadAll (
258+ klass ,
259+ ServiceLoader .load (klass , classLoader ).iterator (),
260+ hardcoded ,
261+ priorityAccessor );
262+ }
263+
255264 private static class BaseProvider extends ServiceProvidersTestAbstractProvider {
256265 private final boolean isAvailable ;
257266 private final int priority ;
0 commit comments