Example usage for org.springframework.beans.factory.config ConfigurableListableBeanFactory toString

List of usage examples for org.springframework.beans.factory.config ConfigurableListableBeanFactory toString

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config ConfigurableListableBeanFactory toString.

Prototype

public String toString() 

Source Link

Document

Returns a string representation of the object.

Usage

From source file:org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyServiceManager.java

private void doFindDependencies() throws Exception {
    ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
    boolean debug = log.isDebugEnabled();
    boolean trace = log.isTraceEnabled();

    if (trace)/*from   w  w w.j a  va2  s . c  o m*/
        log.trace("Looking for dependency factories inside bean factory [" + beanFactory.toString() + "]");

    Map<String, OsgiServiceDependencyFactory> localFactories = BeanFactoryUtils
            .beansOfTypeIncludingAncestors(beanFactory, OsgiServiceDependencyFactory.class, true, false);

    if (trace)
        log.trace("Discovered local dependency factories: " + localFactories.keySet());

    dependencyFactories.addAll(localFactories.values());

    for (Iterator<OsgiServiceDependencyFactory> iterator = dependencyFactories.iterator(); iterator
            .hasNext();) {
        OsgiServiceDependencyFactory dependencyFactory = iterator.next();
        Collection<OsgiServiceDependency> discoveredDependencies = null;

        if (trace) {
            log.trace("Interogating dependency factory " + dependencyFactory);
        }
        try {
            discoveredDependencies = dependencyFactory.getServiceDependencies(bundleContext, beanFactory);
        } catch (Exception ex) {
            log.warn("Dependency factory " + dependencyFactory
                    + " threw exception while detecting dependencies for beanFactory " + beanFactory + " in "
                    + context.getDisplayName(), ex);
            throw ex;
        }
        // add the dependencies one by one
        if (discoveredDependencies != null)
            for (OsgiServiceDependency dependency : discoveredDependencies) {
                if (dependency.isMandatory()) {
                    MandatoryServiceDependency msd = new MandatoryServiceDependency(bundleContext, dependency);
                    synchronized (monitor) {
                        dependencies.put(msd, dependency.getBeanName());
                    }

                    if (!msd.isServicePresent()) {
                        log.info("Adding OSGi service dependency for importer [" + msd.getBeanName()
                                + "] matching OSGi filter [" + msd.filterAsString + "]");
                        synchronized (monitor) {
                            unsatisfiedDependencies.put(msd, dependency.getBeanName());
                        }
                    } else {
                        if (debug)
                            log.debug("OSGi service dependency for importer [" + msd.getBeanName()
                                    + "] is already satisfied");
                    }
                }
            }
    }
}