public <T> T getBean(final String prefix, final Class<T> classType) { return getBean(prefix, classType, null); }
public <T> T getBean(final Class<T> classType, final Map<String, String> replacements) { return getBean(null, classType, replacements); }
public <T> T getBean(Class<T> classType) { return getBean(null, classType, null); }
@Inject public GalaxyConfig (final Config config) { this.internalIp = config.getBean("galaxy.internal", GalaxyIp.class); this.externalIp = config.getBean("galaxy.external", GalaxyIp.class); this.deploy = config.getBean("galaxy.deploy", GalaxyDeploy.class); this.env = config.getBean("galaxy.env", GalaxyEnv.class); this.global = config.getBean("galaxy.global", GalaxyGlobal.class); this.privat = config.getBean("galaxy.private", GalaxyPrivate.class); }
@Provides @Singleton AnnouncementConfig getAnnouncementConfig(final Config config) { final AnnouncementConfig baseConfig = config.getBean(AnnouncementConfig.class); return new AnnouncementConfig(baseConfig) { @Override public String getServiceName() { return ObjectUtils.toString(super.getServiceName(), serviceName); } @Override public String getServiceType() { return ObjectUtils.toString(super.getServiceType(), serviceType); } }; } }
@Inject BodySizeLimitResourceFilterFactory(Config config) { this.config = config; NessJerseyFiltersConfig filterConfig = config.getBean(NessJerseyFiltersConfig.class); defaultSizeLimit = filterConfig.getMaxBodySize(); }
@Inject public void setConfig(final Config config) { this.configBean = config.getBean(prefix, clazz, overrides); tryExport(); }
@Override protected void configure() { final Named connectionNamed; final JmsConfig jmsConfig; connectionNamed = Names.named(connectionName); jmsConfig = config.getBean(JmsConfig.class, ImmutableMap.of("name", connectionName)); bind(JmsConfig.class).annotatedWith(connectionNamed).toInstance(jmsConfig); bind(JsonProducerCallback.class).in(Scopes.SINGLETON); if (jmsConfig.isEnabled()) { LOG.info("Enabling JMS for '%s'", Objects.firstNonNull(connectionName, "<default>")); bind(ConnectionFactory.class).annotatedWith(connectionNamed).toProvider(new ActiveMQConnectionFactoryProvider(jmsConfig, connectionName, connectionNamed)).in(Scopes.SINGLETON); bind(JmsRunnableFactory.class).annotatedWith(connectionNamed).toInstance(new JmsRunnableFactory(connectionNamed)); } else { LOG.info("Disabled JMS for '%s'", Objects.firstNonNull(connectionName, "<default>")); } }
@Override protected void configure() { final Named connectionNamed; final AmqpConfig amqpConfig; connectionNamed = Names.named(connectionName); bind(new TypeLiteral<PublisherCallback<Object>>() {}).annotatedWith(JsonMapper.class).to(JsonPublisherCallback.class).in(Scopes.SINGLETON); bind(new TypeLiteral<PublisherCallback<String>>() {}).to(StringPublisherCallback.class).in(Scopes.SINGLETON); amqpConfig = config.getBean(AmqpConfig.class, ImmutableMap.of("name", connectionName)); bind(AmqpConfig.class).annotatedWith(connectionNamed).toInstance(amqpConfig); if (amqpConfig.isEnabled()) { LOG.info("Enabling AMQP for '%s'", connectionName); bind(ConnectionFactory.class).annotatedWith(connectionNamed).toProvider(new AmqpFactoryProvider(amqpConfig)).in(Scopes.SINGLETON); bind(AmqpRunnableFactory.class).annotatedWith(connectionNamed).toInstance(new AmqpRunnableFactory(connectionNamed)); } else { LOG.info("Disabled AMQP for '%s'", connectionName); } }
@Override public void configure() { final JmxStarterConfig jmxStarterConfig = config.getBean(JmxStarterConfig.class); bind(JmxStarterConfig.class).toInstance(jmxStarterConfig); if (jmxStarterConfig.isEnabled()) { LOG.info("Exporting JMX..."); final ImmutableMap.Builder<String, String> builder = ImmutableMap.builder(); if (StringUtils.isNotBlank(jmxStarterConfig.getPasswordFile())) { builder.put("jmx.remote.x.password.file", jmxStarterConfig.getPasswordFile()); } if (StringUtils.isNotBlank(jmxStarterConfig.getAccessFile())) { builder.put("jmx.remote.x.access.file", jmxStarterConfig.getAccessFile()); } builder.put("jmx.remote.x.daemon", "true"); bind(new TypeLiteral<Map<String, String>>() {}).annotatedWith(JMX_STARTER_NAMED).toInstance(builder.build()); bind(JmxExporterConfigProvider.class).in(Scopes.SINGLETON); ThrowingProviderBinder.create(binder()) .bind(IOExceptionProvider.class, JmxExporterConfig.class) .to(JmxExporterConfigProvider.class) .in(Scopes.SINGLETON); bind(JmxExporter.class).asEagerSingleton(); } else { LOG.info("Not exporting JMX."); } }
@Override public void configure() { final JmsEventConfig jmsEventConfig = config.getBean(JmsEventConfig.class, ImmutableMap.of("jmsName", "jms")); bind(JmsEventConfig.class).toInstance(jmsEventConfig); if (jmsEventConfig.isEnabled()) { install (new JmsModule(config, JMS_EVENT_NAME)); if (jmsEventConfig.isListenEnabled()) { bind(JmsEventReceiver.class).asEagerSingleton(); } if (jmsEventConfig.isTransmitEnabled()) { bind(JmsEventTransmitter.class).in(Scopes.SINGLETON); NessEventModule.bindEventTransmitter(binder(), "jms").to(JmsEventTransmitter.class).in(Scopes.SINGLETON); } } } }
@Override protected void configureServlets() { final JerseyConfig jerseyConfig = config.getBean(JerseyConfig.class); bind(JerseyConfig.class).toInstance(jerseyConfig); install (new NessJerseyExceptionMapperModule()); bind(ResourceConfig.class).to(NessResourceConfig.class); NessJerseyBinder.bindResponseFilter(binder()).to(JsonUtf8ResponseFilter.class); if (jerseyConfig.isGzipEnabled()) { NessJerseyBinder.bindRequestFilter(binder()).to(GZIPContentEncodingFilter.class); NessJerseyBinder.bindResponseFilter(binder()).to(GZIPContentEncodingFilter.class); } if (jerseyConfig.isLoggingEnabled()) { NessJerseyBinder.bindRequestFilter(binder()).to(LoggingFilter.class); NessJerseyBinder.bindResponseFilter(binder()).to(LoggingFilter.class); } bind(GuiceContainer.class).to(NessGuiceContainer.class).in(Scopes.SINGLETON); String first = paths.get(0); String[] rest = paths.subList(1, paths.size()).toArray(new String[paths.size()-1]); serve(first, rest).with(GuiceContainer.class, getJerseyFeatures(jerseyConfig)); }
@Test public void testGlobalDisabledLocalEnabled() { final Config config = Config.getFixedConfig("ness.jms.enabled", "false", "ness.jms.user-friendship.enabled", "true"); final JmsConfig jmsConfig = config.getBean(JmsConfig.class, ImmutableMap.of("name", "user-friendship")); Assert.assertTrue(jmsConfig.isEnabled()); } }
@Test public void testBean2() { Assert.assertThat(cfg2, is(notNullValue())); final TestBean testBean = cfg2.getBean(TestBean.class); Assert.assertThat(testBean.getStringValue(), is("the-test-value")); Assert.assertThat(testBean.getIntValue(), is(12345)); Assert.assertThat(testBean.getBooleanValue(), is(true)); Assert.assertThat(testBean.getUriValue(), is(URI.create("http://www.likeness.com/"))); } }
@Test public void testBean() { Assert.assertThat(cfg, is(notNullValue())); final TestBean testBean = cfg.getBean(TestBean.class); Assert.assertThat(testBean.getStringValue(), is("the-test-value")); Assert.assertThat(testBean.getIntValue(), is(12345)); Assert.assertThat(testBean.getBooleanValue(), is(true)); Assert.assertThat(testBean.getUriValue(), is(URI.create("http://www.likeness.com/"))); }
@Test public void testGlobalEnabledLocalDisabled() { final Config config = Config.getFixedConfig("ness.jms.enabled", "true", "ness.jms.user-friendship.enabled", "false"); final JmsConfig jmsConfig = config.getBean(JmsConfig.class, ImmutableMap.of("name", "user-friendship")); Assert.assertFalse(jmsConfig.isEnabled()); }
@Test public void testDisabled() { final Config config = Config.getFixedConfig("ness.jms.enabled", "false"); final JmsConfig jmsConfig = config.getBean(JmsConfig.class); Assert.assertFalse(jmsConfig.isEnabled()); }
@Test public void testEnabled() { final Config config = Config.getFixedConfig("ness.jms.enabled", "true"); final JmsConfig jmsConfig = config.getBean(JmsConfig.class); Assert.assertTrue(jmsConfig.isEnabled()); }
@Test public void testBean() { Assert.assertThat(cfg, is(notNullValue())); final DatabaseBean db1 = cfg.getBean("db1", DatabaseBean.class); Assert.assertThat(db1.getDbUri(), is("jdbc://db1/db1")); Assert.assertThat(db1.getDbUser(), is("db1-user")); Assert.assertThat(db1.getDbPassword(), is("db1-password")); final DatabaseBean db2 = cfg.getBean("db2", DatabaseBean.class); Assert.assertThat(db2.getDbUri(), is("jdbc://db2/db2")); Assert.assertThat(db2.getDbUser(), is("db2-user")); Assert.assertThat(db2.getDbPassword(), is("db2-password")); final DatabaseBean db3 = cfg.getBean("db3", DatabaseBean.class); Assert.assertThat(db3.getDbUri(), is("jdbc://db3/db3")); Assert.assertThat(db3.getDbUser(), is("db3-user")); Assert.assertThat(db3.getDbPassword(), is("db3-password")); } }
@Test public void testDefault() { final Config config = Config.getEmptyConfig(); final JmsConfig jmsConfig = config.getBean(JmsConfig.class); Assert.assertTrue(jmsConfig.isEnabled()); }