1 package io.github.magwas.inez.query;
2
3 import java.util.Arrays;
4
5 import org.springframework.beans.BeansException;
6 import org.springframework.beans.factory.annotation.Autowired;
7 import org.springframework.context.ApplicationContext;
8 import org.springframework.stereotype.Service;
9
10 import io.github.magwas.konveyor.runtime.LoggerService;
11
12 @Service
13 public class GetServiceByNameService {
14
15 @Autowired
16 private ApplicationContext applicationContext;
17
18 @Autowired
19 LoggerService logger;
20
21 public BridiFunction apply(final String serviceName) throws BeansException, ClassNotFoundException {
22 logger.debug(serviceName);
23
24 Arrays.asList(applicationContext.getBeanDefinitionNames()).forEach(logger::debug);
25 return (BridiFunction) applicationContext.getBean(Class.forName(serviceName));
26 }
27 }