@Override public <T> Binding<T> getBinding(Key<T> key) { return this.delegateInjector.getBinding(key); }
@Override public <T> Binding<T> getBinding(Class<T> type) { return this.delegateInjector.getBinding(type); }
public <T> Binding<T> getBinding(Class<T> type) { return resolve().getBinding(type); }
public <T> Binding<T> getBinding(Key<T> key) { return resolve().getBinding(key); }
@Override public Indexer.IndexedBinding visit(ProviderBinding<? extends Object> binding) { return new Indexer.IndexedBinding( binding, BindingType.PROVIDED_BY, scope(binding), injector.getBinding(binding.getProvidedKey())); }
Injector injector = linkedBinding.getInjector(); if (injector != null) { binding = injector.getBinding(linkedBinding.getLinkedKey()); continue; Injector injector = exposedBinding.getPrivateElements().getInjector(); if (injector != null) { binding = injector.getBinding(exposedBinding.getKey()); continue;
@BeforeClass public static void populateStatics() { injector = GuiceInjectors.makeStartupInjectorWithModules(ImmutableList.<com.google.inject.Module>of(new CacheConfigTestModule())); configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); }
ImmutableList.of(simpleJsonConfigModule) ); configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); configProvider = JsonConfigProvider.of(configPrefix, clazz);
Injector injector = linkedBinding.getInjector(); if (injector != null) { binding = injector.getBinding(linkedBinding.getLinkedKey()); continue; Injector injector = exposedBinding.getPrivateElements().getInjector(); if (injector != null) { binding = injector.getBinding(exposedBinding.getKey()); continue;
@Test(expected = NullPointerException.class) public void testFailsOnEmptyTier() { final JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); properties.put(propertyBase + ".lookupTier", ""); final JsonConfigProvider<LookupListeningAnnouncerConfig> configProvider = JsonConfigProvider.of( propertyBase, LookupListeningAnnouncerConfig.class ); configProvider.inject(properties, configurator); final LookupListeningAnnouncerConfig config = configProvider.get().get(); config.getLookupTier(); }
@Test public void testDatasourceInjection() { final JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); properties.put(propertyBase + ".lookupTierIsDatasource", "true"); final JsonConfigProvider<LookupListeningAnnouncerConfig> configProvider = JsonConfigProvider.of( propertyBase, LookupListeningAnnouncerConfig.class ); configProvider.inject(properties, configurator); final LookupListeningAnnouncerConfig config = configProvider.get().get(); Assert.assertEquals("some_datasource", config.getLookupTier()); }
@Test(expected = IllegalArgumentException.class) public void testFailsInjection() { final String lookupTier = "some_tier"; final JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); properties.put(propertyBase + ".lookupTier", lookupTier); properties.put(propertyBase + ".lookupTierIsDatasource", "true"); final JsonConfigProvider<LookupListeningAnnouncerConfig> configProvider = JsonConfigProvider.of( propertyBase, LookupListeningAnnouncerConfig.class ); configProvider.inject(properties, configurator); final LookupListeningAnnouncerConfig config = configProvider.get().get(); Assert.assertEquals(lookupTier, config.getLookupTier()); } }
@Test public void testSimpleInjection() { final String lookupTier = "some_tier"; final JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); properties.put(propertyBase + ".lookupTier", lookupTier); final JsonConfigProvider<LookupListeningAnnouncerConfig> configProvider = JsonConfigProvider.of( propertyBase, LookupListeningAnnouncerConfig.class ); configProvider.inject(properties, configurator); final LookupListeningAnnouncerConfig config = configProvider.get().get(); Assert.assertEquals(lookupTier, config.getLookupTier()); }
@Test public void testDefaultInjection() { final JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); final JsonConfigProvider<LookupListeningAnnouncerConfig> configProvider = JsonConfigProvider.of( propertyBase, LookupListeningAnnouncerConfig.class ); configProvider.inject(properties, configurator); final LookupListeningAnnouncerConfig config = configProvider.get().get(); Assert.assertEquals(LookupListeningAnnouncerConfig.DEFAULT_TIER, config.getLookupTier()); }
@Test public void testIndexerBaseOverride() { final String overrideValue = "/foo/bar/baz"; final String indexerPropertyKey = indexerPropertyString + ".base"; final String priorValue = System.getProperty(indexerPropertyKey); System.setProperty(indexerPropertyKey, overrideValue); // Set it here so that the binding picks it up final Injector injector = Initialization.makeInjectorWithModules( GuiceInjectors.makeStartupInjector(), ImmutableList.of(simpleZkConfigModule) ); propertyValues.clear(); propertyValues.setProperty(indexerPropertyKey, overrideValue); // Have to set it here as well annoyingly enough JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); JsonConfigProvider<IndexerZkConfig> indexerPathsConfig = JsonConfigProvider.of( indexerPropertyString, IndexerZkConfig.class ); indexerPathsConfig.inject(propertyValues, configurator); IndexerZkConfig indexerZkConfig = indexerPathsConfig.get().get(); // Rewind value before we potentially fail if (priorValue == null) { System.clearProperty(indexerPropertyKey); } else { System.setProperty(indexerPropertyKey, priorValue); } Assert.assertEquals(overrideValue, indexerZkConfig.getBase()); Assert.assertEquals(overrideValue + "/announcements", indexerZkConfig.getAnnouncementsPath()); }
throws IllegalAccessException, NoSuchMethodException, InvocationTargetException, IOException JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get();
@Test public void testNullConfig() { propertyValues.clear(); final Injector injector = Initialization.makeInjectorWithModules( GuiceInjectors.makeStartupInjector(), ImmutableList.of(simpleZkConfigModule) ); JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); JsonConfigProvider<ZkPathsConfig> zkPathsConfig = JsonConfigProvider.of(zkServiceConfigString, ZkPathsConfig.class); zkPathsConfig.inject(propertyValues, configurator); JsonConfigProvider<IndexerZkConfig> indexerZkConfig = JsonConfigProvider.of( indexerPropertyString, IndexerZkConfig.class ); indexerZkConfig.inject(propertyValues, configurator); Assert.assertEquals("/druid/indexer/tasks", indexerZkConfig.get().get().getTasksPath()); }
@Test public void testSimpleConfig() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { final Injector injector = Initialization.makeInjectorWithModules( GuiceInjectors.makeStartupInjector(), ImmutableList.of(simpleZkConfigModule) ); JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); JsonConfigProvider<ZkPathsConfig> zkPathsConfig = JsonConfigProvider.of(zkServiceConfigString, ZkPathsConfig.class); zkPathsConfig.inject(propertyValues, configurator); JsonConfigProvider<IndexerZkConfig> indexerZkConfig = JsonConfigProvider.of( indexerPropertyString, IndexerZkConfig.class ); indexerZkConfig.inject(propertyValues, configurator); IndexerZkConfig zkConfig = indexerZkConfig.get().get(); ZkPathsConfig zkPathsConfig1 = zkPathsConfig.get().get(); validateEntries(zkConfig); validateEntries(zkPathsConfig1); Assert.assertEquals(clobberableProperties.size(), assertions); }
@Test public void testExactConfig() { final Injector injector = Initialization.makeInjectorWithModules( GuiceInjectors.makeStartupInjector(), ImmutableList.of(simpleZkConfigModule) ); propertyValues.setProperty(zkServiceConfigString + ".base", "/druid/metrics"); JsonConfigurator configurator = injector.getBinding(JsonConfigurator.class).getProvider().get(); JsonConfigProvider<ZkPathsConfig> zkPathsConfig = JsonConfigProvider.of( zkServiceConfigString, ZkPathsConfig.class ); zkPathsConfig.inject(propertyValues, configurator); ZkPathsConfig zkPathsConfig1 = zkPathsConfig.get().get(); IndexerZkConfig indexerZkConfig = new IndexerZkConfig(zkPathsConfig1, null, null, null, null); Assert.assertEquals("/druid/metrics/indexer", indexerZkConfig.getBase()); Assert.assertEquals("/druid/metrics/indexer/announcements", indexerZkConfig.getAnnouncementsPath()); }
expect(injector.getBinding(Key.get(Filter.class))).andReturn(binding); expect(binding.acceptScopingVisitor((BindingScopingVisitor) anyObject())).andReturn(true); expect(injector.getInstance(Key.get(Filter.class))).andReturn(mockFilter).anyTimes();