- }
-
- private void registerLifecycle(Environment environment) {
- reflections.getSubTypesOf(LifeCycle.class).stream().filter(services::contains)
- .forEach(lifeCycleKlass -> {
- try {
- environment.lifecycle().manage(locator.getService(lifeCycleKlass));
- } catch (Exception e) {
- LOG.warn("", e);
- }
- LOG.info("Registering Dropwizard LifeCycle, class name : {}", lifeCycleKlass.getName());
- });
- }
-
- /*
- * private void registerManaged(Environment environment) {
- *
- * reflections.getSubTypesOf(Managed.class).stream().filter(services::contains)
- * .forEach(managedKlass -> { try {
- * environment.lifecycle().manage(locator.getService(managedKlass)); } catch (Exception e) {
- * LOG.warn("", e); } LOG.info("Registering Dropwizard managed, class name : {}",
- * managedKlass.getName()); });
- *
- * }
- */
-
- private void registerObjectMapper(Environment environment) {
-
- final ObjectMapper objectMapper = environment.getObjectMapper();
-
- ServiceLocatorUtilities.bind(locator, new AbstractBinder() {
- @Override
- protected void configure() {
- bind(objectMapper).to(ObjectMapper.class);
-
- LOG.info("Registering Dropwizard objectMapper, class name : {}",
- objectMapper.getClass().getName());
- }
- });
-
- }
-
- private void registerEnvironment(final Environment environment) {
-
- ServiceLocatorUtilities.bind(locator, new AbstractBinder() {
- @Override
- protected void configure() {
- bind(environment).to(Environment.class);
-
- LOG.info("Registering Dropwizard environment, class name : {}",
- environment.getClass().getName());
- }
- });
-
- }
-
- private void registerConfigurationProvider(final T configuration, final Environment environment) {
-
- ServiceLocatorUtilities.bind(locator, new AbstractBinder() {
- @Override
- protected void configure() {
- bind(configuration);
- LOG.info("Registering Dropwizard Configuration class name:{}",
- configuration.getClass().getName());
- bind((Configuration) configuration).to(Configuration.class);
- LOG.info("Registering Dropwizard Configuration class name:{}",
- Configuration.class.getName());
- }
- });
-
- registerSubConfigure(configuration, environment);
-
- }
-
- private void registerSubConfigure(final T configuration, final Environment environment) {
- final List<Field> subDeclaredFields =
- Arrays.asList(configuration.getClass().getDeclaredFields());
- List<Field> parentDeclaredFields = Arrays.asList(Configuration.class.getDeclaredFields());
-
- List<Field> filtersubDeclaredFields = subDeclaredFields.stream()
- .filter(subDeclaredField -> !subDeclaredField.getType().isPrimitive())
- .filter(subDeclaredField -> !subDeclaredField.getType().equals(String.class))
- .filter(subDeclaredField -> !parentDeclaredFields.contains(subDeclaredField))
- .collect(Collectors.toList());
-
- ServiceLocatorUtilities.bind(locator, new AbstractBinder() {
- @Override
- protected void configure() {
- filtersubDeclaredFields.forEach(subField -> {
- subField.setAccessible(true);
- try {
- Object subConfig = subField.get(configuration);
- if (subConfig != null) {
- bind(subConfig);
- LOG.info("Registering Dropwizard Sub Configuration class name {}",
- subConfig.getClass().getName());
- }