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

Commit 2f0a050

Browse files
author
Petr Bouda
committed
Replacing HK2 Factory interface by Supplier and DisposableSupplier.
Change-Id: I7103e19a1d7a30debb2f843c2a8a6d986a76d7e7
1 parent 6b9a138 commit 2f0a050

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
@@ -83,7 +83,6 @@
8383
import org.glassfish.jersey.internal.inject.InjectionManager;
8484
import org.glassfish.jersey.internal.inject.Providers;
8585
import org.glassfish.jersey.internal.inject.ReferencingFactory;
86-
import org.glassfish.jersey.internal.inject.SupplierFactory;
8786
import org.glassfish.jersey.internal.util.ReflectionHelper;
8887
import org.glassfish.jersey.internal.util.collection.Ref;
8988
import org.glassfish.jersey.internal.util.collection.Value;
@@ -166,13 +165,7 @@ private AsyncContextDelegateProvider getAsyncExtensionDelegate() {
166165
return providers.next();
167166
}
168167

169-
return new AsyncContextDelegateProvider() {
170-
171-
@Override
172-
public AsyncContextDelegate createDelegate(final HttpServletRequest request, final HttpServletResponse response) {
173-
return DEFAULT_ASYNC_DELEGATE;
174-
}
175-
};
168+
return (request, response) -> DEFAULT_ASYNC_DELEGATE;
176169
}
177170

178171
@SuppressWarnings("JavaDoc")
@@ -217,32 +210,21 @@ protected void configure() {
217210
bindFactory(HttpServletRequestReferencingFactory.class).to(HttpServletRequest.class)
218211
.proxy(true).proxyForSameScope(false).in(RequestScoped.class);
219212

220-
bindFactory(ReferencingFactory.<HttpServletRequest>referenceFactory())
213+
bindFactory(ReferencingFactory.referenceFactory())
221214
.to(new GenericType<Ref<HttpServletRequest>>() {}).in(RequestScoped.class);
222215

223216
// response
224217
bindFactory(HttpServletResponseReferencingFactory.class).to(HttpServletResponse.class)
225218
.proxy(true).proxyForSameScope(false).in(RequestScoped.class);
226-
bindFactory(ReferencingFactory.<HttpServletResponse>referenceFactory())
219+
bindFactory(ReferencingFactory.referenceFactory())
227220
.to(new GenericType<Ref<HttpServletResponse>>() {}).in(RequestScoped.class);
228221
}
229222

230-
bindFactory(new SupplierFactory<ServletContext>() {
231-
@Override
232-
public ServletContext provide() {
233-
return webConfig.getServletContext();
234-
}
235-
}).to(ServletContext.class).in(Singleton.class);
223+
bindFactory(webConfig::getServletContext).to(ServletContext.class).in(Singleton.class);
236224

237225
final ServletConfig servletConfig = webConfig.getServletConfig();
238226
if (webConfig.getConfigType() == WebConfig.ConfigType.ServletConfig) {
239-
bindFactory(new SupplierFactory<ServletConfig>() {
240-
@Override
241-
public ServletConfig provide() {
242-
return servletConfig;
243-
}
244-
245-
}).to(ServletConfig.class).in(Singleton.class);
227+
bindFactory(() -> servletConfig).to(ServletConfig.class).in(Singleton.class);
246228

247229
// @PersistenceUnit
248230
final Enumeration initParams = servletConfig.getInitParameterNames();
@@ -255,22 +237,10 @@ public ServletConfig provide() {
255237
}
256238
}
257239
} else {
258-
bindFactory(new SupplierFactory<FilterConfig>() {
259-
@Override
260-
public FilterConfig provide() {
261-
return webConfig.getFilterConfig();
262-
}
263-
264-
}).to(FilterConfig.class).in(Singleton.class);
240+
bindFactory(webConfig::getFilterConfig).to(FilterConfig.class).in(Singleton.class);
265241
}
266242

267-
bindFactory(new SupplierFactory<WebConfig>() {
268-
@Override
269-
public WebConfig provide() {
270-
return webConfig;
271-
}
272-
273-
}).to(WebConfig.class).in(Singleton.class);
243+
bindFactory(() -> webConfig).to(WebConfig.class).in(Singleton.class);
274244

275245
install(new ServiceFinderBinder<>(AsyncContextDelegateProvider.class, applicationProperties, RuntimeType.SERVER));
276246
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)