@Override protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(AuditingConfiguration configuration) { Assert.notNull(configuration, "AuditingConfiguration must not be null!"); BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(IsNewAwareAuditingHandler.class); BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(MongoMappingContextLookup.class); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR); builder.addConstructorArgValue(definition.getBeanDefinition()); return configureDefaultAuditHandlerAttributes(configuration, builder); }
interceptor.setAutowireMode(RootBeanDefinition.AUTOWIRE_BY_TYPE);
@Override protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(AuditingConfiguration configuration) { Assert.notNull(configuration, "AuditingConfiguration must not be null!"); BeanDefinitionBuilder handler = BeanDefinitionBuilder.rootBeanDefinition(IsNewAwareAuditingHandler.class); BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition(Neo4jMappingContextFactoryBean.class); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR); BeanDefinitionBuilder entities = BeanDefinitionBuilder.rootBeanDefinition(PersistentEntities.class); entities.addConstructorArgValue(definition); handler.addConstructorArgValue(definition.getBeanDefinition()); return configureDefaultAuditHandlerAttributes(configuration, handler); }
@Override protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(AuditingConfiguration configuration) { Assert.notNull(configuration, "AuditingConfiguration must not be null!"); BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(IsNewAwareAuditingHandler.class); BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(MongoMappingContextLookup.class); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR); builder.addConstructorArgValue(definition.getBeanDefinition()); return configureDefaultAuditHandlerAttributes(configuration, builder); }
interceptor.setAutowireMode(RootBeanDefinition.AUTOWIRE_BY_TYPE);
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource config) { super.registerBeansForRoot(registry, config); Object source = config.getSource(); if(source == null) { return; } String configuredSessionBeanName = Optional.of("sessionBeanName").flatMap(config::getAttribute) .orElse(GENERATE_BEAN_NAME); this.sessionBeanName = registerWithGeneratedNameOrUseConfigured(createSharedSessionCreatorBeanDefinition(config), registry, configuredSessionBeanName, source); String configuredMappingContextBeanName = Optional.of("mappingContextBeanName").flatMap(config::getAttribute) .orElse(GENERATE_BEAN_NAME); this.neo4jMappingContextBeanName = registerWithGeneratedNameOrUseConfigured( createNeo4jMappingContextFactoryBeanDefinition(config), registry, configuredMappingContextBeanName, source); registerIfNotAlreadyRegistered(() -> new RootBeanDefinition(Neo4jPersistenceExceptionTranslator.class), registry, NEO4J_PERSISTENCE_EXCEPTION_TRANSLATOR_NAME, source); AbstractBeanDefinition rootBeanDefinition = BeanDefinitionBuilder .rootBeanDefinition(Neo4jOgmEntityInstantiatorConfigurationBean.class) .setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE) .addConstructorArgReference(getSessionFactoryBeanName(config)) .addConstructorArgReference(this.neo4jMappingContextBeanName).getBeanDefinition(); registerWithGeneratedNameOrUseConfigured(rootBeanDefinition, registry, GENERATE_BEAN_NAME, source); }
private void setAutoWiringStrategy(BeanDefinitionBuilder registrationBean) { registrationBean.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR); }
@Override protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(AuditingConfiguration configuration) { Assert.notNull(configuration, "AuditingConfiguration must not be null!"); BeanDefinitionBuilder handler = BeanDefinitionBuilder.rootBeanDefinition(IsNewAwareAuditingHandler.class); BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition(Neo4jMappingContextFactoryBean.class); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR); BeanDefinitionBuilder entities = BeanDefinitionBuilder.rootBeanDefinition(PersistentEntities.class); entities.addConstructorArgValue(definition); handler.addConstructorArgValue(definition.getBeanDefinition()); return configureDefaultAuditHandlerAttributes(configuration, handler); }
@Override protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(final AuditingConfiguration configuration) { Assert.notNull(configuration, "AuditingConfiguration must not be null!"); final BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(IsNewAwareAuditingHandler.class); final BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition(ArangoMappingContextLookup.class); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR); builder.addConstructorArgValue(definition.getBeanDefinition()); return configureDefaultAuditHandlerAttributes(configuration, builder); }
@Override protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(final AuditingConfiguration configuration) { Assert.notNull(configuration, "AuditingConfiguration must not be null!"); final BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(IsNewAwareAuditingHandler.class); final BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition(ArangoMappingContextLookup.class); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR); builder.addConstructorArgValue(definition.getBeanDefinition()); return configureDefaultAuditHandlerAttributes(configuration, builder); }
protected BeanDefinition getKeyHandlerBeanDefinition(final BeanDefinitionRegistry registry) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(BusinessKeyHandler.class); // String keyGeneratorRef = "simpleBusinessKeyGenerator"; String keyGeneratorRef = ""; if (StringUtils.hasText(keyGeneratorRef)) { builder.addPropertyValue("keyGenerator", createLazyInitTargetSourceBeanDefinition(keyGeneratorRef)); } else { builder.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE); } builder.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); AbstractBeanDefinition abd = builder.getBeanDefinition(); registry.registerBeanDefinition("keyHandler", abd); return abd; }
private void registerSecurityConfigPostProcessorIfNecessary(ParserContext parserContext, Element securedElement) { if (!parserContext.getRegistry().containsBeanDefinition(BeanIds.SECURITY_CONFIG_POST_PROCESSOR)) { BeanDefinitionBuilder securityConfigPostProcessorBuilder = BeanDefinitionBuilder.genericBeanDefinition(securityHelper.getSecurityConfigPostProcessorClassName()); securityConfigPostProcessorBuilder.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); securityConfigPostProcessorBuilder.setDependencyCheck(AbstractBeanDefinition.DEPENDENCY_CHECK_NONE); ParsingUtils.registerInfrastructureComponent(securedElement, parserContext, securityConfigPostProcessorBuilder, BeanIds.SECURITY_CONFIG_POST_PROCESSOR); } }
protected AbstractBeanDefinition parseInternal(Element aElement, ParserContext aParserContext) { String expanded = aElement.getAttribute("expanded"); String listenPort = aElement.getAttribute("listen-port"); String workerSize = aElement.getAttribute("worker-size"); String monitorRef = aElement.getAttribute("runtime-ref"); BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(HttpConsoleServer.class); if (monitorRef != null && monitorRef.length() > 0) { builder.addConstructorArgReference(monitorRef); } else { builder.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR); } if (expanded != null && expanded.length() > 0) { builder.addPropertyValue("expanded", expanded); } if (listenPort != null && listenPort.length() > 0) { builder.addPropertyValue("listenPort", listenPort); } if (workerSize != null && workerSize.length() > 0) { builder.addPropertyValue("workerSize", workerSize); } builder.setInitMethodName("start"); builder.setDestroyMethodName("stop"); return builder.getBeanDefinition(); }
private void registerRpcClient(BeanDefinitionRegistry registry, AnnotationMetadata annotationMetadata, Map<String, Object> attributes) { String className = annotationMetadata.getClassName(); BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition( RpcClientEntity.class ); definition.addPropertyValue( "name", attributes.get( "name" ) ); definition.addPropertyValue( "isSyn", attributes.get( "isSyn" ) ); definition.addPropertyValue( "host", attributes.get( "host" ) ); definition.addPropertyValue( "port", attributes.get( "port" ) ); definition.addPropertyValue( "rpcClz", attributes.get( "rpcClz" ) ); definition.addPropertyValue( "traceIdIndex", attributes.get( "traceIdIndex" ) ); definition.setAutowireMode( AbstractBeanDefinition.AUTOWIRE_BY_NAME ); try { definition.addPropertyValue( "interfaze", Class.forName( className ) ); } catch (ClassNotFoundException e) { LOG.error( "Get interface for name error", e ); } // definition.setAutowireMode( AbstractBeanDefinition.AUTOWIRE_BY_TYPE ); String alias = className; AbstractBeanDefinition beanDefinition = definition.getBeanDefinition(); beanDefinition.setPrimary( false ); definition.addPropertyValue( "interceptor", getInterceptor( beanDefinition.getPropertyValues() ) ); BeanDefinitionHolder holder = new BeanDefinitionHolder( beanDefinition, className, new String[]{alias} ); LOG.info( "registerRpcClient:" + className ); BeanDefinitionReaderUtils.registerBeanDefinition( holder, registry ); }
private BeanDefinitionBuilder configureDefaultBusinessKeyHandlerAttributes( final BusinessKeyConfiguration configuration, final BeanDefinitionBuilder builder) { if (StringUtils.hasText(configuration.getBusinessKeyAwareRef())) { builder.addPropertyValue(KEYGENERATOR, createLazyInitTargetSourceBeanDefinition(configuration.getBusinessKeyAwareRef())); } else { builder.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE); } builder.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); return builder; }
private void registerAnnotation(BeanDefinitionRegistry registry, AnnotationMetadata annotationMetadata, Map<String, Object> attributes) { String className = annotationMetadata.getClassName(); LOG.info("Found annotation [{}] in {} ", getAnnotationClass().getSimpleName(), className); BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(getBeanClass()); AbstractBeanDefinition beanDefinition = definition.getBeanDefinition(); customize(registry, annotationMetadata, attributes, definition); try { definition.addPropertyValue("interfaze", Class.forName(className)); } catch (ClassNotFoundException e) { LOG.error("Get interface for name error", e); } definition.addPropertyValue("interceptor", getInterceptor(beanDefinition.getPropertyValues())); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); String alias = className; BeanDefinitionHolder holder = new BeanDefinitionHolder(beanDefinition, className, new String[] { alias }); BeanDefinitionReaderUtils.registerBeanDefinition(holder, registry); }
private void registerFeignClient(BeanDefinitionRegistry registry, AnnotationMetadata annotationMetadata, Map<String, Object> attributes) { String className = annotationMetadata.getClassName(); BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition(FeignClientFactoryBean.class); validate(attributes); definition.addPropertyValue("url", getUrl(attributes)); definition.addPropertyValue("path", getPath(attributes)); String name = getName(attributes); definition.addPropertyValue("name", name); String contextId = getContextId(attributes); definition.addPropertyValue("contextId", contextId); definition.addPropertyValue("type", className); definition.addPropertyValue("decode404", attributes.get("decode404")); definition.addPropertyValue("fallback", attributes.get("fallback")); definition.addPropertyValue("fallbackFactory", attributes.get("fallbackFactory")); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); String alias = contextId + "FeignClient"; AbstractBeanDefinition beanDefinition = definition.getBeanDefinition(); boolean primary = (Boolean)attributes.get("primary"); // has a default, won't be null beanDefinition.setPrimary(primary); String qualifier = getQualifier(attributes); if (StringUtils.hasText(qualifier)) { alias = qualifier; } BeanDefinitionHolder holder = new BeanDefinitionHolder(beanDefinition, className, new String[] { alias }); BeanDefinitionReaderUtils.registerBeanDefinition(holder, registry); }
@Override public void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource config) { super.registerBeansForRoot(registry, config); Object source = config.getSource(); String configuredSessionBeanName = Optional.of("sessionBeanName").flatMap(config::getAttribute) .orElse(GENERATE_BEAN_NAME); this.sessionBeanName = registerWithGeneratedNameOrUseConfigured(createSharedSessionCreatorBeanDefinition(config), registry, configuredSessionBeanName, source); String configuredMappingContextBeanName = Optional.of("mappingContextBeanName").flatMap(config::getAttribute) .orElse(GENERATE_BEAN_NAME); this.neo4jMappingContextBeanName = registerWithGeneratedNameOrUseConfigured( createNeo4jMappingContextFactoryBeanDefinition(config), registry, configuredMappingContextBeanName, source); registerIfNotAlreadyRegistered(() -> new RootBeanDefinition(Neo4jPersistenceExceptionTranslator.class), registry, NEO4J_PERSISTENCE_EXCEPTION_TRANSLATOR_NAME, source); if (HAS_ENTITY_INSTANTIATOR_FEATURE) { AbstractBeanDefinition rootBeanDefinition = BeanDefinitionBuilder .rootBeanDefinition(Neo4jOgmEntityInstantiatorConfigurationBean.class) .setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE) .addConstructorArgReference(getSessionFactoryBeanName(config)) .addConstructorArgReference(this.neo4jMappingContextBeanName).getBeanDefinition(); registerWithGeneratedNameOrUseConfigured(rootBeanDefinition, registry, GENERATE_BEAN_NAME, source); } }
/** * Configures the given {@link BeanDefinitionBuilder} with the default attributes from the given * {@link AuditingConfiguration}. * * @param configuration must not be {@literal null}. * @param builder must not be {@literal null}. * @return the builder with the audit attributes configured. */ protected BeanDefinitionBuilder configureDefaultAuditHandlerAttributes(AuditingConfiguration configuration, BeanDefinitionBuilder builder) { if (StringUtils.hasText(configuration.getAuditorAwareRef())) { builder.addPropertyValue(AUDITOR_AWARE, createLazyInitTargetSourceBeanDefinition(configuration.getAuditorAwareRef())); } else { builder.setAutowireMode(AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE); } builder.addPropertyValue(SET_DATES, configuration.isSetDates()); builder.addPropertyValue(MODIFY_ON_CREATE, configuration.isModifyOnCreate()); if (StringUtils.hasText(configuration.getDateTimeProviderRef())) { builder.addPropertyReference(DATE_TIME_PROVIDER, configuration.getDateTimeProviderRef()); } else { builder.addPropertyValue(DATE_TIME_PROVIDER, CurrentDateTimeProvider.INSTANCE); } builder.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); return builder; }
@Override public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) { AnnotationAttributes attributes = AnnotationAttributes .fromMap(metadata.getAnnotationAttributes(getEnableAnnotationClassName(), false)); Assert.notNull(attributes, "No " + getEnableAnnotationClassName() + " attributes found. Is " + metadata.getClassName() + " annotated with @" + getEnableAnnotationClassName() + "?"); this.configurationClass = defaultConfigurationClass(); // give sub-class a chance to correct default configuration class and stop register process if (!correct(attributes, this.beanFactory)) { return; } Assert.notNull(this.configurationClass, "Plugin main Configuration Class must be null!"); String pluginName = attributes.getString("name"); if (registry.containsBeanDefinition(StringUtils.uncapitalize(configurationClass.getSimpleName()))) { logger.warn("[" + pluginName + "] mainConfigurationClass " + configurationClass.getSimpleName() + " has been initialized, it is not recommended to use @" + getEnableAnnotationClassName() + "."); } BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(configurationClass); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); customize(registry, attributes, definition, this.beanFactory); registry.registerBeanDefinition(pluginName, definition.getBeanDefinition()); }