Skip to content
This repository was archived by the owner on Mar 20, 2021. It is now read-only.

Commit 3238067

Browse files
author
oleksiys
committed
[2.3.x] + (additional commit for) fix issue #1663
https://java.net/jira/browse/GRIZZLY-1663 "NPE when registering a servlet in grizzly-httpservice"
1 parent 218e525 commit 3238067

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

extras/grizzly-httpservice/src/main/java/org/glassfish/grizzly/osgi/httpservice/OSGiCleanMapper.java

+14-3
Original file line numberDiff line numberDiff line change
@@ -271,11 +271,22 @@ public List<OSGiServletHandler> getContext(HttpContext httpContext) {
271271
return contextServletHandlerMap.get(httpContext);
272272
}
273273

274-
public void addContext(HttpContext httpContext, List<OSGiServletHandler> servletHandlers) {
275-
contextServletHandlerMap.put(httpContext, servletHandlers);
276-
httpContextToServletContextMap.put(httpContext, new OSGiServletContext(httpContext, logger));
274+
public void addContext(final HttpContext httpContext,
275+
final List<OSGiServletHandler> servletHandlers) {
276+
addContext(httpContext, null, servletHandlers);
277277
}
278278

279+
public void addContext(final HttpContext httpContext,
280+
OSGiServletContext servletCtx,
281+
final List<OSGiServletHandler> servletHandlers) {
282+
if (servletCtx == null) {
283+
servletCtx = new OSGiServletContext(httpContext, logger);
284+
}
285+
286+
contextServletHandlerMap.put(httpContext, servletHandlers);
287+
httpContextToServletContextMap.put(httpContext, servletCtx);
288+
}
289+
279290
public OSGiServletContext getServletContext(final HttpContext httpContext) {
280291
return httpContextToServletContextMap.get(httpContext);
281292
}

extras/grizzly-httpservice/src/main/java/org/glassfish/grizzly/osgi/httpservice/OSGiMainHandler.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,9 @@ private OSGiServletHandler findOrCreateOSGiServletHandler(
459459
}
460460

461461
servletHandlers = new ArrayList<OSGiServletHandler>(1);
462-
mapper.addContext(httpContext, servletHandlers);
462+
mapper.addContext(httpContext,
463+
mapper.getServletContext(httpContext),
464+
servletHandlers);
463465

464466
final OSGiServletContext servletContext =
465467
mapper.getServletContext(httpContext);
@@ -474,7 +476,6 @@ private OSGiServletHandler findOrCreateOSGiServletHandler(
474476
logger);
475477
servletHandlers.add(osgiServletHandler);
476478
osgiServletHandler.setFilterChainFactory(servletContext.getFilterChainFactory());
477-
478479
}
479480

480481
return osgiServletHandler;

0 commit comments

Comments
 (0)