Skip to content
This repository was archived by the owner on May 28, 2018. It is now read-only.

Commit 39c5423

Browse files
author
Petr Bouda
committed
Replacing HK2 Factory interface by Supplier and DisposableSupplier.
Change-Id: I7103e19a1d7a30debb2f843c2a8a6d986a76d7e7
1 parent 9709e30 commit 39c5423

File tree

63 files changed

+2456
-447
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+2456
-447
lines changed

containers/glassfish/jersey-gf-ejb/src/main/java/org/glassfish/jersey/gf/ejb/internal/EjbComponentProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
import java.util.Set;
5858
import java.util.TreeSet;
5959
import java.util.concurrent.CopyOnWriteArrayList;
60+
import java.util.function.Supplier;
6061
import java.util.logging.Level;
6162
import java.util.logging.Logger;
6263

@@ -72,7 +73,6 @@
7273
import org.glassfish.jersey.internal.inject.ClassBinding;
7374
import org.glassfish.jersey.internal.inject.InjectionManager;
7475
import org.glassfish.jersey.internal.inject.InstanceBinding;
75-
import org.glassfish.jersey.internal.inject.SupplierFactory;
7676
import org.glassfish.jersey.server.ApplicationHandler;
7777
import org.glassfish.jersey.server.model.Invocable;
7878
import org.glassfish.jersey.server.spi.ComponentProvider;
@@ -110,15 +110,15 @@ public final class EjbComponentProvider implements ComponentProvider, ResourceMe
110110
/**
111111
* HK2 factory to provide EJB components obtained via JNDI lookup.
112112
*/
113-
private static class EjbFactory<T> extends SupplierFactory<T> {
113+
private static class EjbFactory<T> implements Supplier<T> {
114114

115115
final InitialContext ctx;
116116
final Class<T> clazz;
117117
final EjbComponentProvider ejbProvider;
118118

119119
@SuppressWarnings("unchecked")
120120
@Override
121-
public T provide() {
121+
public T get() {
122122
try {
123123
return (T) lookup(ctx, clazz, clazz.getSimpleName(), ejbProvider);
124124
} catch (NamingException ex) {
@@ -282,7 +282,7 @@ public boolean bind(Class<?> component, Set<Class<?>> providerContracts) {
282282
registerEjbInterceptor();
283283
}
284284

285-
Binding binding = Bindings.factory(new EjbFactory(component, initialContext, EjbComponentProvider.this))
285+
Binding binding = Bindings.supplier(new EjbFactory(component, initialContext, EjbComponentProvider.this))
286286
.to(component)
287287
.to(providerContracts);
288288
injectionManager.register(binding);

containers/jersey-servlet-core/src/main/java/org/glassfish/jersey/servlet/WebComponent.java

Lines changed: 7 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@
8282
import org.glassfish.jersey.internal.inject.InjectionManager;
8383
import org.glassfish.jersey.internal.inject.Providers;
8484
import org.glassfish.jersey.internal.inject.ReferencingFactory;
85-
import org.glassfish.jersey.internal.inject.SupplierFactory;
8685
import org.glassfish.jersey.internal.util.ReflectionHelper;
8786
import org.glassfish.jersey.internal.util.collection.Ref;
8887
import org.glassfish.jersey.internal.util.collection.Value;
@@ -168,13 +167,7 @@ private AsyncContextDelegateProvider getAsyncExtensionDelegate() {
168167
return providers.next();
169168
}
170169

171-
return new AsyncContextDelegateProvider() {
172-
173-
@Override
174-
public AsyncContextDelegate createDelegate(final HttpServletRequest request, final HttpServletResponse response) {
175-
return DEFAULT_ASYNC_DELEGATE;
176-
}
177-
};
170+
return (request, response) -> DEFAULT_ASYNC_DELEGATE;
178171
}
179172

180173
@SuppressWarnings("JavaDoc")
@@ -219,32 +212,21 @@ protected void configure() {
219212
bindFactory(HttpServletRequestReferencingFactory.class).to(HttpServletRequest.class)
220213
.proxy(true).proxyForSameScope(false).in(RequestScoped.class);
221214

222-
bindFactory(ReferencingFactory.<HttpServletRequest>referenceFactory())
215+
bindFactory(ReferencingFactory.referenceFactory())
223216
.to(new GenericType<Ref<HttpServletRequest>>() {}).in(RequestScoped.class);
224217

225218
// response
226219
bindFactory(HttpServletResponseReferencingFactory.class).to(HttpServletResponse.class)
227220
.proxy(true).proxyForSameScope(false).in(RequestScoped.class);
228-
bindFactory(ReferencingFactory.<HttpServletResponse>referenceFactory())
221+
bindFactory(ReferencingFactory.referenceFactory())
229222
.to(new GenericType<Ref<HttpServletResponse>>() {}).in(RequestScoped.class);
230223
}
231224

232-
bindFactory(new SupplierFactory<ServletContext>() {
233-
@Override
234-
public ServletContext provide() {
235-
return webConfig.getServletContext();
236-
}
237-
}).to(ServletContext.class).in(Singleton.class);
225+
bindFactory(webConfig::getServletContext).to(ServletContext.class).in(Singleton.class);
238226

239227
final ServletConfig servletConfig = webConfig.getServletConfig();
240228
if (webConfig.getConfigType() == WebConfig.ConfigType.ServletConfig) {
241-
bindFactory(new SupplierFactory<ServletConfig>() {
242-
@Override
243-
public ServletConfig provide() {
244-
return servletConfig;
245-
}
246-
247-
}).to(ServletConfig.class).in(Singleton.class);
229+
bindFactory(() -> servletConfig).to(ServletConfig.class).in(Singleton.class);
248230

249231
// @PersistenceUnit
250232
final Enumeration initParams = servletConfig.getInitParameterNames();
@@ -257,22 +239,10 @@ public ServletConfig provide() {
257239
}
258240
}
259241
} else {
260-
bindFactory(new SupplierFactory<FilterConfig>() {
261-
@Override
262-
public FilterConfig provide() {
263-
return webConfig.getFilterConfig();
264-
}
265-
266-
}).to(FilterConfig.class).in(Singleton.class);
242+
bindFactory(webConfig::getFilterConfig).to(FilterConfig.class).in(Singleton.class);
267243
}
268244

269-
bindFactory(new SupplierFactory<WebConfig>() {
270-
@Override
271-
public WebConfig provide() {
272-
return webConfig;
273-
}
274-
275-
}).to(WebConfig.class).in(Singleton.class);
245+
bindFactory(() -> webConfig).to(WebConfig.class).in(Singleton.class);
276246

277247
install(new ServiceFinderBinder<>(AsyncContextDelegateProvider.class, applicationProperties, RuntimeType.SERVER));
278248
install(new ServiceFinderBinder<>(FilterUrlMappingsProvider.class, applicationProperties, RuntimeType.SERVER));

core-client/src/main/java/org/glassfish/jersey/client/ClientBinder.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
package org.glassfish.jersey.client;
4242

4343
import java.util.Map;
44+
import java.util.function.Supplier;
4445

4546
import javax.ws.rs.RuntimeType;
4647
import javax.ws.rs.client.Client;
@@ -58,7 +59,6 @@
5859
import org.glassfish.jersey.internal.ServiceFinderBinder;
5960
import org.glassfish.jersey.internal.inject.AbstractBinder;
6061
import org.glassfish.jersey.internal.inject.ReferencingFactory;
61-
import org.glassfish.jersey.internal.inject.SupplierFactory;
6262
import org.glassfish.jersey.internal.spi.AutoDiscoverable;
6363
import org.glassfish.jersey.internal.util.collection.Ref;
6464
import org.glassfish.jersey.message.internal.MessageBodyFactory;
@@ -86,7 +86,7 @@ public RequestContextInjectionFactory(Provider<Ref<ClientRequest>> referenceFact
8686
}
8787
}
8888

89-
private static class PropertiesDelegateFactory extends SupplierFactory<PropertiesDelegate> {
89+
private static class PropertiesDelegateFactory implements Supplier<PropertiesDelegate> {
9090

9191
private final Provider<ClientRequest> requestProvider;
9292

@@ -96,7 +96,7 @@ private PropertiesDelegateFactory(Provider<ClientRequest> requestProvider) {
9696
}
9797

9898
@Override
99-
public PropertiesDelegate provide() {
99+
public PropertiesDelegate get() {
100100
return requestProvider.get().getPropertiesDelegate();
101101
}
102102
}
@@ -119,7 +119,7 @@ protected void configure() {
119119
new MessageBodyFactory.Binder(),
120120
new ContextResolverFactory.Binder(),
121121
new JaxrsProviders.Binder(),
122-
new ServiceFinderBinder<AutoDiscoverable>(AutoDiscoverable.class, clientRuntimeProperties, RuntimeType.CLIENT));
122+
new ServiceFinderBinder<>(AutoDiscoverable.class, clientRuntimeProperties, RuntimeType.CLIENT));
123123

124124
bindFactory(ReferencingFactory.<ClientConfig>referenceFactory()).to(new GenericType<Ref<ClientConfig>>() {
125125
}).in(RequestScoped.class);

core-common/src/main/java/org/glassfish/jersey/hk2/ContextInjectionResolverImpl.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
import org.glassfish.jersey.internal.inject.AbstractBinder;
5757
import org.glassfish.jersey.internal.inject.ContextInjectionResolver;
5858
import org.glassfish.jersey.internal.inject.ForeignRequestScopeBridge;
59-
import org.glassfish.jersey.internal.inject.SupplierFactory;
6059
import org.glassfish.jersey.internal.util.ReflectionHelper;
6160
import org.glassfish.jersey.internal.util.collection.Cache;
6261
import org.glassfish.jersey.internal.util.collection.LazyValue;
@@ -162,11 +161,15 @@ public Class<?> getInjecteeClass() {
162161
}
163162

164163
private Factory asFactory(final ServiceHandle handle) {
165-
return new SupplierFactory() {
164+
return new Factory() {
166165
@Override
167166
public Object provide() {
168167
return handle.getService();
169168
}
169+
170+
@Override
171+
public void dispose(final Object instance) {
172+
}
170173
};
171174
}
172175

0 commit comments

Comments
 (0)