use of org.jvnet.hk2.internal.ServiceLocatorImpl in project jersey by jersey.
the class JettyContainerTest method testParentServiceLocator.
/**
* Test that defined ServiceLocator becomes a parent of the newly created service locator.
*/
@Test
public void testParentServiceLocator() {
final ServiceLocator locator = new ServiceLocatorImpl("MyServiceLocator", null);
final Server server = JettyHttpContainerFactory.createServer(URI.create("http://localhost:9876"), new ResourceConfig(Resource.class), false, locator);
JettyHttpContainer container = (JettyHttpContainer) server.getHandler();
InjectionManager injectionManager = container.getApplicationHandler().getInjectionManager();
HK2InjectionManager hk2InjectionManager = (HK2InjectionManager) injectionManager;
ServiceLocator serviceLocator = hk2InjectionManager.getServiceLocator();
assertTrue("Application injection manager was expected to have defined parent locator", serviceLocator.getParent() == locator);
}
use of org.jvnet.hk2.internal.ServiceLocatorImpl in project jersey by jersey.
the class ServiceLocatorGenerator method create.
@Override
public ServiceLocator create(final String name, final ServiceLocator parent) {
if (parent != null && !(parent instanceof ServiceLocatorImpl)) {
throw new AssertionError("parent must be a " + ServiceLocatorImpl.class.getName() + " instead it is a " + parent.getClass().getName());
}
final ServiceLocatorImpl sli = new CustomServiceLocator(name, (ServiceLocatorImpl) parent);
final DynamicConfigurationImpl dci = new DynamicConfigurationImpl(sli);
// The service locator itself
dci.bind(Utilities.getLocatorDescriptor(sli));
// The injection resolver for three thirty
dci.addActiveDescriptor(Utilities.getThreeThirtyDescriptor(sli));
// The dynamic configuration utility
dci.bind(BuilderHelper.link(DynamicConfigurationServiceImpl.class, false).to(DynamicConfigurationService.class).in(Singleton.class.getName()).localOnly().build());
dci.bind(BuilderHelper.createConstantDescriptor(new DefaultClassAnalyzer(sli)));
dci.commit();
return sli;
}
Aggregations