List of usage examples for org.springframework.beans.factory ListableBeanFactory getBean
<T> T getBean(String name, Class<T> requiredType) throws BeansException;
From source file:pt.webdetails.cns.notifications.sparkl.kettle.baserver.web.utils.HttpConnectionHelper.java
protected static Response invokePluginEndpoint(final String pluginName, final String endpointPath, final String httpMethod, final Map<String, String> queryParameters) { Response response = new Response(); IPluginManager pluginManager = PentahoSystem.get(IPluginManager.class); if (pluginManager == null) { logger.error("Failed to get plugin manager"); return response; }/* w w w . ja va 2 s . c o m*/ ClassLoader classLoader = pluginManager.getClassLoader(pluginName); if (classLoader == null) { logger.error("No such plugin: " + pluginName); return response; } ListableBeanFactory beanFactory = pluginManager.getBeanFactory(pluginName); if (beanFactory == null || !beanFactory.containsBean("api")) { logger.error("Bean not found for plugin: " + pluginName); return response; } JAXRSPluginServlet pluginServlet = (JAXRSPluginServlet) beanFactory.getBean("api", JAXRSPluginServlet.class); // create servlet request final InternalHttpServletRequest servletRequest = new InternalHttpServletRequest(httpMethod, "", "/plugin", "/" + pluginName + "/api" + endpointPath); for (Map.Entry<String, String> entry : queryParameters.entrySet()) { servletRequest.setParameter(entry.getKey(), entry.getValue()); } // create servlet response ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); final InternalHttpServletResponse servletResponse = new InternalHttpServletResponse(outputStream); ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); try { // used for calculating the response time long startTime = System.currentTimeMillis(); Thread.currentThread().setContextClassLoader(classLoader); pluginServlet.service(servletRequest, servletResponse); long responseTime = System.currentTimeMillis() - startTime; response.setStatusCode(servletResponse.getStatus()); response.setResult(servletResponse.getContentAsString()); response.setResponseTime(responseTime); } catch (ServletException ex) { logger.error("Failed ", ex); return response; } catch (IOException ex) { logger.error("Failed ", ex); return response; } finally { Thread.currentThread().setContextClassLoader(contextClassLoader); } return response; }
From source file:pt.webdetails.cpf.messaging.BeanyPluginCall.java
private static JAXRSPluginServlet getApiBean(String pluginId) { IPluginManager pluginManager = PentahoSystem.get(IPluginManager.class); ListableBeanFactory beanFactory = pluginManager.getBeanFactory(pluginId); if (beanFactory == null) { if (pluginManager.getClassLoader(pluginId) == null) { logger.error("No such plugin: " + pluginId); } else {/* w w w.j a v a2 s .co m*/ logger.error("No bean factory for plugin: " + pluginId); } return null; } if (!beanFactory.containsBean("api")) { logger.error("'api' bean not found in " + pluginId); return null; } return (JAXRSPluginServlet) beanFactory.getBean("api", JAXRSPluginServlet.class); }
From source file:org.lightadmin.core.config.bootstrap.RepositoriesFactoryBean.java
private Map<Class<?>, String> repositoryBeanNames(ListableBeanFactory beanFactory) { Map<Class<?>, String> repositoryBeanNames = newHashMap(); for (String name : beanFactory.getBeanNamesForType(RepositoryFactoryInformation.class, false, false)) { RepositoryFactoryInformation repositoryFactoryInformation = beanFactory.getBean(name, RepositoryFactoryInformation.class); Class<?> userDomainType = ClassUtils .getUserClass(repositoryFactoryInformation.getRepositoryInformation().getDomainType()); repositoryBeanNames.put(userDomainType, BeanFactoryUtils.transformedBeanName(name)); }/*from ww w . j a v a2 s. co m*/ return repositoryBeanNames; }
From source file:org.lightadmin.core.config.bootstrap.RepositoriesFactoryBean.java
@SuppressWarnings("unchecked") private Map<Class<?>, RepositoryFactoryInformation<Object, Serializable>> repositoryFactoryInfos( ListableBeanFactory beanFactory) { Map<Class<?>, RepositoryFactoryInformation<Object, Serializable>> repositoryFactoryInfos = newHashMap(); for (String name : beanFactory.getBeanNamesForType(RepositoryFactoryInformation.class, false, false)) { RepositoryFactoryInformation repositoryFactoryInformation = beanFactory.getBean(name, RepositoryFactoryInformation.class); Class<?> userDomainType = ClassUtils .getUserClass(repositoryFactoryInformation.getRepositoryInformation().getDomainType()); repositoryFactoryInfos.put(userDomainType, repositoryFactoryInformation); }/*from w w w .ja v a2 s . c om*/ return repositoryFactoryInfos; }
From source file:org.pentaho.di.baserver.utils.web.HttpConnectionHelper.java
protected JAXRSPluginServlet getJAXRSPluginServlet(ListableBeanFactory beanFactory) { return (JAXRSPluginServlet) beanFactory.getBean("api", JAXRSPluginServlet.class); }
From source file:ome.services.graphs.GraphEntry.java
/** * Load the spec which has the same name as this entry, but do not load the * spec if the name matches {@link #name}. This is called early in the * {@link GraphEntry} lifecycle, by {@link GraphSpec}. *//* w w w .ja va 2 s .c o m*/ protected void postProcess(ListableBeanFactory factory) { if (name.equals(self.getName())) { return; } else if (factory.containsBeanDefinition(name) && GraphSpec.class.isAssignableFrom(factory.getType(name))) { this.subSpec = factory.getBean(name, GraphSpec.class); this.subSpec.postProcess(factory); } }
From source file:org.springframework.boot.context.embedded.ServletContextInitializerBeans.java
private <T> List<Entry<String, T>> getOrderedBeansOfType(ListableBeanFactory beanFactory, Class<T> type, Set<?> excludes) {//from w ww. j ava2s.c om List<Entry<String, T>> beans = new ArrayList<Entry<String, T>>(); Comparator<Entry<String, T>> comparator = new Comparator<Entry<String, T>>() { @Override public int compare(Entry<String, T> o1, Entry<String, T> o2) { return AnnotationAwareOrderComparator.INSTANCE.compare(o1.getValue(), o2.getValue()); } }; String[] names = beanFactory.getBeanNamesForType(type, true, false); Map<String, T> map = new LinkedHashMap<String, T>(); for (String name : names) { if (!excludes.contains(name)) { T bean = beanFactory.getBean(name, type); if (!excludes.contains(bean)) { map.put(name, bean); } } } beans.addAll(map.entrySet()); Collections.sort(beans, comparator); return beans; }
From source file:org.springframework.boot.web.servlet.ServletContextInitializerBeans.java
private <T> List<Entry<String, T>> getOrderedBeansOfType(ListableBeanFactory beanFactory, Class<T> type, Set<?> excludes) {/* ww w . j a v a 2s. c o m*/ List<Entry<String, T>> beans = new ArrayList<Entry<String, T>>(); Comparator<Entry<String, T>> comparator = new Comparator<Entry<String, T>>() { @Override public int compare(Entry<String, T> o1, Entry<String, T> o2) { return AnnotationAwareOrderComparator.INSTANCE.compare(o1.getValue(), o2.getValue()); } }; String[] names = beanFactory.getBeanNamesForType(type, true, false); Map<String, T> map = new LinkedHashMap<String, T>(); for (String name : names) { if (!excludes.contains(name) && !ScopedProxyUtils.isScopedTarget(name)) { T bean = beanFactory.getBean(name, type); if (!excludes.contains(bean)) { map.put(name, bean); } } } beans.addAll(map.entrySet()); Collections.sort(beans, comparator); return beans; }