Example usage for org.springframework.beans.factory.support BeanDefinitionBuilder getBeanDefinition

List of usage examples for org.springframework.beans.factory.support BeanDefinitionBuilder getBeanDefinition

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support BeanDefinitionBuilder getBeanDefinition.

Prototype

public AbstractBeanDefinition getBeanDefinition() 

Source Link

Document

Validate and return the created BeanDefinition object.

Usage

From source file:it.scoppelletti.programmerpower.web.spring.config.SecurityFilterBeanDefinitionParser.java

/**
 * Implementazione del parser.//from  www .  ja v a 2s.  c  o  m
 * 
 * @param  el        Elemento XML.
 * @param  parserCtx Contesto del parser.
 * @return           Definizione del bean.
 */
@Override
protected AbstractBeanDefinition parseInternal(Element el, ParserContext parserCtx) {
    BeanDefinitionBuilder builder;

    builder = BeanDefinitionBuilder.rootBeanDefinition(CompositeDecisionManagerContributor.class);
    builder.setScope(BeanDefinition.SCOPE_PROTOTYPE);
    builder.addPropertyValue("targetName", el.getAttribute("access-decision-manager-ref"));
    builder.addPropertyValue("securityMetadataSource", createSecurityMetadataSource(el));

    return builder.getBeanDefinition();
}

From source file:org.apache.ftpserver.config.spring.ServerBeanDefinitionParser.java

/**
 * Parse the "ftplets" element//w  w w  .  j a v a2 s .  c  o m
 */
private Map<?, ?> parseFtplets(final Element childElm, final ParserContext parserContext,
        final BeanDefinitionBuilder builder) {

    List<Element> childs = SpringUtil.getChildElements(childElm);

    if (childs.size() > 0 && childs.get(0).getLocalName().equals("map")) {
        // using a beans:map element
        return parserContext.getDelegate().parseMapElement(childs.get(0), builder.getBeanDefinition());
    } else {
        ManagedMap ftplets = new ManagedMap();
        for (Element ftpletElm : childs) {
            ftplets.put(ftpletElm.getAttribute("name"),
                    SpringUtil.parseSpringChildElement(ftpletElm, parserContext, builder));
        }

        return ftplets;
    }
}

From source file:org.lightadmin.core.config.bootstrap.LightAdminBeanDefinitionRegistryPostProcessor.java

private BeanDefinition domainTypeAdministrationConfigurationFactoryDefinition(EntityManager entityManager) {
    BeanDefinitionBuilder builder = rootBeanDefinition(DomainTypeAdministrationConfigurationFactory.class);
    builder.addConstructorArgReference(REPOSITORIES_BEAN);
    builder.addConstructorArgValue(entityManager);
    builder.addConstructorArgReference(JPA_MAPPPING_CONTEXT_BEAN);
    return builder.getBeanDefinition();
}

From source file:org.age.services.worker.internal.DefaultWorkerService.java

private void setupTaskFromClass(final @NonNull String className) {
    assert nonNull(className);
    assert !isTaskRunning() : "Task is already running.";

    taskLock.writeLock().lock();/*from w  ww  .  j a  v a2 s  . c  om*/
    try {
        log.debug("Setting up task from class {}.", className);

        log.debug("Creating internal Spring context.");
        final AnnotationConfigApplicationContext taskContext = new AnnotationConfigApplicationContext();

        // Configure task
        final BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(className);
        taskContext.registerBeanDefinition("runnable", builder.getBeanDefinition());

        prepareContext(taskContext);
        currentClassName = className;

        log.debug("Task setup finished.");
    } catch (final BeanCreationException e) {
        log.error("Cannot create the task.", e);
        cleanUpAfterTask();
    } finally {
        taskLock.writeLock().unlock();
    }
}

From source file:org.lightadmin.core.config.bootstrap.LightAdminBeanDefinitionRegistryPostProcessor.java

private BeanDefinition configurationUnitsValidator(ResourceLoader resourceLoader) {
    BeanDefinitionBuilder builder = rootBeanDefinition(CompositeConfigurationUnitsValidator.class);
    builder.addConstructorArgReference(JPA_MAPPPING_CONTEXT_BEAN);
    builder.addConstructorArgValue(resourceLoader);
    builder.addConstructorArgReference(LIGHTADMIN_CONFIGURATION_BEAN);
    return builder.getBeanDefinition();
}

From source file:org.zalando.baigan.proxy.ConfigurationBeanDefinitionRegistrar.java

private void createAndRegisterBeanDefinitions(final Set<String> packages,
        final BeanDefinitionRegistry registry) {
    for (final String singlePackage : packages) {

        final Set<Class<?>> configServiceInterfaces = new Reflections(singlePackage)
                .getTypesAnnotatedWith(BaiganConfig.class);

        for (final Class<?> interfaceToImplement : configServiceInterfaces) {
            final BeanDefinitionBuilder builder = BeanDefinitionBuilder
                    .genericBeanDefinition(ConfigurationServiceBeanFactory.class);
            builder.addPropertyValue("candidateInterface", interfaceToImplement);

            final String factoryBeanName = interfaceToImplement.getName()
                    + "BaiganProxyConfigurationFactoryBean";
            registry.registerBeanDefinition(factoryBeanName, builder.getBeanDefinition());
        }//  ww  w  .j ava2 s.  c o m

    }
}

From source file:com.helpinput.spring.BeanRegister.java

public static BeanDefinitionWrap registerBean(ApplicationContext context, DefaultListableBeanFactory dlbf,
        BeanDefinitionBuilder builder, Class<?> clz, String beanName, String scope, BeanInfo beanInfo) {
    if (!Utils.hasLength(beanName)) {
        beanName = Commons.getBeanName(clz);
        if (!Utils.hasLength(beanName))
            beanName = Utils.beanName(beanInfo.scanName);
    }/*  w w w. j  a  va 2 s. co  m*/

    if (!Utils.hasLength(beanName))
        return null;

    //bean?bean
    if (beanName.endsWith("Impl")) {
        beanName = beanName.substring(0, beanName.length() - 4);
    }

    if (!Utils.hasLength(beanName))
        return null;

    removeBean(dlbf, beanInfo, null);

    BeanDefinition bd = null;
    if (!Utils.hasLength(scope))
        scope = findScopeStr(clz);

    List<BeanRegistInterceptor> interceptors = ContextHolder.beanRegistIntercpterHolder.getList();
    if (Utils.hasLength(interceptors)) {
        for (BeanRegistInterceptor beanRegistInterceptor : interceptors) {
            bd = beanRegistInterceptor.beforeRegist(clz, beanName, scope, dlbf, builder);
            if (bd != null)
                break;
        }
    }

    if (bd == null)
        bd = builder.getBeanDefinition();

    if (beanInfo != null)
        bd.setAttribute(relativePath, beanInfo.relativePath);
    bd.setScope(scope);

    dlbf.registerBeanDefinition(beanName, bd);

    boolean isUpdate = beanInfo != null ? beanInfo.isUpdate : false;
    String relativePath = beanInfo != null ? beanInfo.relativePath : "";

    BeanDefinitionWrap beanDefinitionWrap = new BeanDefinitionWrap(beanName, bd);

    if (ContextRefresher.class.isAssignableFrom(clz)) {
        ContextHolder.refreshers.register(beanName);
    }

    logRegist(isUpdate ? Info.Updated : Info.Registed, relativePath, beanName, scope);
    return beanDefinitionWrap;
}

From source file:org.lightadmin.core.config.bootstrap.LightAdminBeanDefinitionRegistryPostProcessor.java

private BeanDefinition repositoryFactory(Class<?> repoInterface, EntityManager entityManager) {
    BeanDefinitionBuilder builder = rootBeanDefinition(JpaRepositoryFactoryBean.class);
    builder.addPropertyValue("entityManager", entityManager);
    builder.addPropertyReference("mappingContext", JPA_MAPPPING_CONTEXT_BEAN);
    builder.addPropertyValue("repositoryInterface", repoInterface);
    return builder.getBeanDefinition();
}

From source file:uk.co.bssd.monitoring.spring.MonitorBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder bean) {

    Element adapterElement = getChildElement(element.getChildNodes(), "adapter");
    String adapterRef = adapterElement.getAttribute("ref");

    Element reporterElement = getChildElement(element.getChildNodes(), "reporter");
    String reporterRef = reporterElement.getAttribute("ref");

    BeanDefinitionBuilder monitorBeanDefinitionBuilder = BeanDefinitionBuilder
            .genericBeanDefinition(Monitor.class);
    monitorBeanDefinitionBuilder.addConstructorArgReference(adapterRef);
    monitorBeanDefinitionBuilder.addConstructorArgReference(reporterRef);

    String monitorBeanName = UUID.randomUUID().toString();
    BeanDefinitionHolder monitorBeanDefinitionHolder = new BeanDefinitionHolder(
            monitorBeanDefinitionBuilder.getBeanDefinition(), monitorBeanName);

    registerBeanDefinition(monitorBeanDefinitionHolder, parserContext.getRegistry());

    BeanComponentDefinition monitorBeanComponentDefinition = new BeanComponentDefinition(
            monitorBeanDefinitionHolder);
    parserContext.registerComponent(monitorBeanComponentDefinition);

    long intervalMs = Long.parseLong(element.getAttribute("monitorIntervalMs"));
    bean.addConstructorArgReference(monitorBeanName);
    bean.addConstructorArgValue(intervalMs);
}

From source file:nz.co.senanque.madura.bundle.BundleRootImpl.java

public void init(DefaultListableBeanFactory ownerBeanFactory, Properties properties, ClassLoader cl,
        Map<String, Object> inheritableBeans) {
    m_properties = properties;// w  w w.  j a  va  2  s . c  om
    m_inheritableBeans = inheritableBeans;
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    Thread.currentThread().setContextClassLoader(cl);
    m_classLoader = cl;
    GenericApplicationContext ctx = new GenericApplicationContext();
    XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
    String contextPath = properties.getProperty("Bundle-Context", "/bundle-spring.xml");
    m_logger.debug("loading context: {}", contextPath);
    ClassPathResource classPathResource = new ClassPathResource(contextPath, cl);
    xmlReader.loadBeanDefinitions(classPathResource);
    PropertyPlaceholderConfigurer p = new PropertyPlaceholderConfigurer();
    p.setProperties(properties);
    ctx.addBeanFactoryPostProcessor(p);
    if (m_logger.isDebugEnabled()) {
        dumpClassLoader(cl);
    }
    for (Map.Entry<String, Object> entry : inheritableBeans.entrySet()) {
        BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder
                .genericBeanDefinition(InnerBundleFactory.class);
        beanDefinitionBuilder.addPropertyValue("key", entry.getKey());
        beanDefinitionBuilder.addPropertyValue("object", inheritableBeans.get(entry.getKey()));
        ctx.registerBeanDefinition(entry.getKey(), beanDefinitionBuilder.getBeanDefinition());
    }
    Scope scope = ownerBeanFactory.getRegisteredScope("session");
    if (scope != null) {
        ctx.getBeanFactory().registerScope("session", scope);
    }
    ctx.refresh();
    m_applicationContext = ctx;
    Thread.currentThread().setContextClassLoader(classLoader);
}