@Override public Emitter apply(String s) { return injector.getInstance(Key.get(Emitter.class, Names.named(s))); } }
public ModuleList(Injector baseInjector) { this.baseInjector = baseInjector; this.modulesConfig = baseInjector.getInstance(ModulesConfig.class); this.jsonMapper = baseInjector.getInstance(Key.get(ObjectMapper.class, Json.class)); this.smileMapper = baseInjector.getInstance(Key.get(ObjectMapper.class, Smile.class)); this.modules = new ArrayList<>(); }
@BeforeClass public static void setup() throws InterruptedException, IOException { new MockNodeProbe(); injector = Guice.createInjector(new BRTestModule()); filesystem = (FakeBackupFileSystem) injector.getInstance( Key.get(IBackupFileSystem.class, Names.named("backup"))); }
@Test public void testMultiConditionalBind_cat() { props.setProperty("animal.type", "cat"); Injector injector = Guice.createInjector(new Module() { @Override public void configure(Binder binder) { ConditionalMultibind.create(props, binder, Animal.class) .addConditionBinding(ANIMAL_TYPE, Predicates.equalTo("cat"), Cat.class) .addConditionBinding(ANIMAL_TYPE, Predicates.equalTo("dog"), Dog.class); } }); Set<Animal> animalSet = injector.getInstance(Key.get(new TypeLiteral<Set<Animal>>() { })); Assert.assertEquals(1, animalSet.size()); Assert.assertEquals(animalSet, ImmutableSet.<Animal>of(new Cat())); }
@Test public void testExcludesCurrentNode() throws Exception .initialize(); ServiceSelector selector = injector.getInstance(Key.get(ServiceSelector.class, serviceType("presto"))); assertEquals(selector.selectAllServices().size(), 1); HeartbeatFailureDetector detector = injector.getInstance(HeartbeatFailureDetector.class); detector.updateMonitoredServices();
public void testIsRequestScopedPositive() { final Key<String> a = Key.get(String.class, named("A")); final Key<String> b = Key.get(String.class, named("B")); final Key<String> c = Key.get(String.class, named("C")); final Key<String> d = Key.get(String.class, named("D")); final Key<Object> e = Key.get(Object.class, named("E")); final Key<String> f = Key.get(String.class, named("F")); final Key<String> g = Key.get(String.class, named("G")); assertTrue(ServletScopes.isRequestScoped(map.get(g))); Injector injector = Guice.createInjector(requestScopedBindings, new ServletModule()); assertTrue(ServletScopes.isRequestScoped(injector.getBinding(a))); assertTrue(ServletScopes.isRequestScoped(injector.getBinding(b)));
@SuppressWarnings("unchecked") public static <T> void bindInstance( Binder binder, Key<T> bindKey, T instance ) { binder.bind(bindKey).toInstance(instance); final ParameterizedType supType = Types.newParameterizedType(Supplier.class, bindKey.getTypeLiteral().getType()); final Key supplierKey; if (bindKey.getAnnotationType() != null) { supplierKey = Key.get(supType, bindKey.getAnnotationType()); } else if (bindKey.getAnnotation() != null) { supplierKey = Key.get(supType, bindKey.getAnnotation()); } else { supplierKey = Key.get(supType); } binder.bind(supplierKey).toInstance(Suppliers.ofInstance(instance)); }
@Test public void testGetEmitterViaRealGuice() { Injector injector = Guice.createInjector( new DruidGuiceExtensions(), new LifecycleModule(), new Module() { @Override public void configure(Binder binder) { Properties props = new Properties(); props.put("druid.emitter.composing.emitters", "[\"" + testEmitterType + "\"]"); binder.bind(Properties.class).toInstance(props); binder.bind(Validator.class).toInstance(Validation.buildDefaultValidatorFactory().getValidator()); binder.bind(Emitter.class).annotatedWith(Names.named(testEmitterType)).toInstance(emitter); } }, new ComposingEmitterModule() ); injector.getInstance(Key.get(Emitter.class, Names.named("composing"))).start(); EasyMock.verify(emitter); } }
@Override public Emitter apply(String s) { return injector.getInstance(Key.get(Emitter.class, Names.named(s))); } }
@Test public void testMultiConditionalBind_cat_dog_non_continuous_syntax() { props.setProperty("animal.type", "pets"); Injector injector = Guice.createInjector(new Module() { @Override public void configure(Binder binder) { ConditionalMultibind.create(props, binder, Animal.class) .addConditionBinding(ANIMAL_TYPE, Predicates.equalTo("pets"), Cat.class); ConditionalMultibind.create(props, binder, Animal.class) .addConditionBinding(ANIMAL_TYPE, Predicates.equalTo("pets"), Dog.class); } }); Set<Animal> animalSet = injector.getInstance(Key.get(new TypeLiteral<Set<Animal>>() { })); Assert.assertEquals(2, animalSet.size()); Assert.assertEquals(animalSet, ImmutableSet.of(new Cat(), new Dog())); }
@Test public void testProviderMetadataWithVersionSetViaProperty() { Properties overrides = new Properties(); overrides.setProperty(Constants.PROPERTY_API_VERSION, "1.1"); ContextBuilder withVersionInProps = testContextBuilder().overrides(overrides); String version = withVersionInProps.buildInjector().getInstance(Key.get(String.class, ApiVersion.class)); assertEquals(version, "1.1"); }
public static ObjectMapper getJsonMapper() { return INJECTOR.getInstance(Key.get(ObjectMapper.class, Json.class)); }
public void testIsRequestScopedNegative() { final Key<String> a = Key.get(String.class, named("A")); final Key<String> b = Key.get(String.class, named("B")); final Key<String> c = Key.get(String.class, named("C")); final Key<String> d = Key.get(String.class, named("D")); final Key<String> e = Key.get(String.class, named("E")); final Key<String> f = Key.get(String.class, named("F")); final Key<String> g = Key.get(String.class, named("G")); final Key<String> h = Key.get(String.class, named("H")); final Key<String> i = Key.get(String.class, named("I")); final Key<String> j = Key.get(String.class, named("J")); assertFalse(ServletScopes.isRequestScoped(map.get(j))); Injector injector = Guice.createInjector(requestScopedBindings); assertFalse(ServletScopes.isRequestScoped(injector.getBinding(a))); assertFalse(ServletScopes.isRequestScoped(injector.getBinding(b)));
properties.putAll(System.getProperties()); Injector injector = Guice.createInjector(Modules.override( new DmaIdListModule(), new DatedEventIndexModule(), new UserStorageModule(), new EventHubModule(properties)).with(new Module())); final EventHubHandler eventHubHandler = injector.getInstance(EventHubHandler.class); int port = injector.getInstance(Key.get(Integer.class, Names.named("eventhubhandler.port")));