List of usage examples for org.springframework.beans.factory.config BeanDefinitionHolder BeanDefinitionHolder
public BeanDefinitionHolder(BeanDefinition beanDefinition, String beanName)
From source file:org.apache.ftpserver.config.spring.ListenerBeanDefinitionParser.java
/** * {@inheritDoc}/*from w w w. j a va 2 s . com*/ */ @Override protected void doParse(final Element element, final ParserContext parserContext, final BeanDefinitionBuilder builder) { BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(ListenerFactory.class); if (StringUtils.hasText(element.getAttribute("port"))) { factoryBuilder.addPropertyValue("port", Integer.valueOf(element.getAttribute("port"))); } SslConfiguration ssl = parseSsl(element); if (ssl != null) { factoryBuilder.addPropertyValue("sslConfiguration", ssl); } Element dataConElm = SpringUtil.getChildElement(element, FtpServerNamespaceHandler.FTPSERVER_NS, "data-connection"); DataConnectionConfiguration dc = parseDataConnection(dataConElm, ssl); factoryBuilder.addPropertyValue("dataConnectionConfiguration", dc); if (StringUtils.hasText(element.getAttribute("idle-timeout"))) { factoryBuilder.addPropertyValue("idleTimeout", SpringUtil.parseInt(element, "idle-timeout", 300)); } String localAddress = SpringUtil.parseStringFromInetAddress(element, "local-address"); if (localAddress != null) { factoryBuilder.addPropertyValue("serverAddress", localAddress); } factoryBuilder.addPropertyValue("implicitSsl", SpringUtil.parseBoolean(element, "implicit-ssl", false)); Element blacklistElm = SpringUtil.getChildElement(element, FtpServerNamespaceHandler.FTPSERVER_NS, "blacklist"); if (blacklistElm != null) { LOG.warn( "Element 'blacklist' is deprecated, and may be removed in a future release. Please use 'remote-ip-filter' instead. "); try { RemoteIpFilter remoteIpFilter = new RemoteIpFilter(IpFilterType.DENY, blacklistElm.getTextContent()); factoryBuilder.addPropertyValue("sessionFilter", remoteIpFilter); } catch (UnknownHostException e) { throw new IllegalArgumentException("Invalid IP address or subnet in the 'blacklist' element", e); } } Element remoteIpFilterElement = SpringUtil.getChildElement(element, FtpServerNamespaceHandler.FTPSERVER_NS, "remote-ip-filter"); if (remoteIpFilterElement != null) { if (blacklistElm != null) { throw new FtpServerConfigurationException( "Element 'remote-ip-filter' may not be used when 'blacklist' element is specified. "); } String filterType = remoteIpFilterElement.getAttribute("type"); try { RemoteIpFilter remoteIpFilter = new RemoteIpFilter(IpFilterType.parse(filterType), remoteIpFilterElement.getTextContent()); factoryBuilder.addPropertyValue("sessionFilter", remoteIpFilter); } catch (UnknownHostException e) { throw new IllegalArgumentException( "Invalid IP address or subnet in the 'remote-ip-filter' element"); } } BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition(); String listenerFactoryName = parserContext.getReaderContext().generateBeanName(factoryDefinition); BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, listenerFactoryName); registerBeanDefinition(factoryHolder, parserContext.getRegistry()); // set the factory on the listener bean builder.getRawBeanDefinition().setFactoryBeanName(listenerFactoryName); builder.getRawBeanDefinition().setFactoryMethodName("createListener"); }
From source file:net.javacrumbs.springws.test.xml.MockWsMessageSenderBeanDefinitionParser.java
@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder bean) { Map<?, ?> namespaces = parseNamespaces(element, parserContext, bean); Map<?, ?> discriminators = parseDiscriminators(element, parserContext, bean); Element resourceConfig = DomUtils.getChildElementByTagName(element, "resource-config"); String pathPrefix = resourceConfig.getAttribute("pathPrefix"); String prependUri = resourceConfig.getAttribute("prependUri"); String ignoreWhitespace = resourceConfig.getAttribute("ignoreWhitespace"); BeanDefinitionBuilder templateProcessor = getTemplateProcessor(resourceConfig); bean.addPropertyValue("autowireRequestProcessors", element.getAttribute("autowireRequestProcessors")); BeanDefinitionBuilder expressionResolver = BeanDefinitionBuilder .rootBeanDefinition(XPathExpressionResolver.class); expressionResolver.addPropertyValue("namespaceMap", namespaces); ManagedList requestProcessors = new ManagedList(); BeanDefinitionBuilder controlResourceLookup = BeanDefinitionBuilder .rootBeanDefinition(PayloadRootBasedResourceLookup.class); controlResourceLookup.addPropertyValue("expressionResolver", expressionResolver.getBeanDefinition()); controlResourceLookup.addPropertyValue("discriminators", discriminators); controlResourceLookup.addPropertyValue("pathPrefix", pathPrefix); controlResourceLookup.addPropertyValue("prependUri", prependUri); controlResourceLookup.addPropertyValue("pathSuffix", "request.xml"); controlResourceLookup.addPropertyValue("templateProcessor", templateProcessor.getBeanDefinition()); BeanDefinitionBuilder xmlCompareRequestValidator = BeanDefinitionBuilder .rootBeanDefinition(XmlCompareRequestValidator.class); xmlCompareRequestValidator.addPropertyValue("controlResourceLookup", controlResourceLookup.getBeanDefinition()); xmlCompareRequestValidator.addPropertyValue("ignoreWhitespace", ignoreWhitespace); addRequestProcessor(requestProcessors, xmlCompareRequestValidator); String[] schemas = parseRequestValidationSchemas(element, bean); if (schemas != null) { BeanDefinitionBuilder schemaRequestValidator = BeanDefinitionBuilder .rootBeanDefinition(SchemaRequestValidator.class); schemaRequestValidator.addPropertyValue("schemas", schemas); addRequestProcessor(requestProcessors, schemaRequestValidator); }/*from w w w .j a va 2 s .c o m*/ BeanDefinitionBuilder responseResourceLookup = BeanDefinitionBuilder .rootBeanDefinition(PayloadRootBasedResourceLookup.class); responseResourceLookup.addPropertyValue("expressionResolver", expressionResolver.getBeanDefinition()); responseResourceLookup.addPropertyValue("discriminators", discriminators); responseResourceLookup.addPropertyValue("pathPrefix", pathPrefix); responseResourceLookup.addPropertyValue("prependUri", prependUri); responseResourceLookup.addPropertyValue("pathSuffix", "response.xml"); responseResourceLookup.addPropertyValue("templateProcessor", templateProcessor.getBeanDefinition()); BeanDefinitionBuilder defaultResponseGenerator = BeanDefinitionBuilder .rootBeanDefinition(DefaultResponseGenerator.class); defaultResponseGenerator.addPropertyValue("resourceLookup", responseResourceLookup.getBeanDefinition()); addRequestProcessor(requestProcessors, defaultResponseGenerator); bean.addPropertyValue("requestProcessors", requestProcessors); if (TRUE.equals(element.getAttribute("autoinjectMock"))) { AbstractBeanDefinition injector = BeanDefinitionBuilder .rootBeanDefinition(MockMessageSenderInjector.class).getBeanDefinition(); BeanDefinitionHolder holder = new BeanDefinitionHolder(injector, parserContext.getReaderContext().generateBeanName(injector)); registerBeanDefinition(holder, parserContext.getRegistry()); } bean.addPropertyValue("interceptors", parseInterceptors(element, parserContext, bean)); }
From source file:org.apache.ftpserver.config.spring.ServerBeanDefinitionParser.java
/** * {@inheritDoc}// ww w . j ava 2 s . co m */ @Override protected void doParse(final Element element, final ParserContext parserContext, final BeanDefinitionBuilder builder) { BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(FtpServerFactory.class); List<Element> childs = SpringUtil.getChildElements(element); for (Element childElm : childs) { String childName = childElm.getLocalName(); if ("listeners".equals(childName)) { Map<?, ?> listeners = parseListeners(childElm, parserContext, builder); if (listeners.size() > 0) { factoryBuilder.addPropertyValue("listeners", listeners); } } else if ("ftplets".equals(childName)) { Map<?, ?> ftplets = parseFtplets(childElm, parserContext, builder); factoryBuilder.addPropertyValue("ftplets", ftplets); } else if ("file-user-manager".equals(childName) || "db-user-manager".equals(childName)) { Object userManager = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("userManager", userManager); } else if ("user-manager".equals(childName)) { factoryBuilder.addPropertyValue("userManager", SpringUtil.parseSpringChildElement(childElm, parserContext, builder)); } else if ("native-filesystem".equals(childName)) { Object fileSystem = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("fileSystem", fileSystem); } else if ("filesystem".equals(childName)) { factoryBuilder.addPropertyValue("fileSystem", SpringUtil.parseSpringChildElement(childElm, parserContext, builder)); } else if ("commands".equals(childName)) { Object commandFactory = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("commandFactory", commandFactory); } else if ("messages".equals(childName)) { MessageResource mr = parseMessageResource(childElm, parserContext, builder); factoryBuilder.addPropertyValue("messageResource", mr); } else { throw new FtpServerConfigurationException("Unknown configuration name: " + childName); } } // Configure login limits ConnectionConfigFactory connectionConfig = new ConnectionConfigFactory(); if (StringUtils.hasText(element.getAttribute("max-logins"))) { connectionConfig.setMaxLogins(SpringUtil.parseInt(element, "max-logins")); } if (StringUtils.hasText(element.getAttribute("max-threads"))) { connectionConfig.setMaxThreads(SpringUtil.parseInt(element, "max-threads")); } if (StringUtils.hasText(element.getAttribute("max-anon-logins"))) { connectionConfig.setMaxAnonymousLogins(SpringUtil.parseInt(element, "max-anon-logins")); } if (StringUtils.hasText(element.getAttribute("anon-enabled"))) { connectionConfig.setAnonymousLoginEnabled(SpringUtil.parseBoolean(element, "anon-enabled", true)); } if (StringUtils.hasText(element.getAttribute("max-login-failures"))) { connectionConfig.setMaxLoginFailures(SpringUtil.parseInt(element, "max-login-failures")); } if (StringUtils.hasText(element.getAttribute("login-failure-delay"))) { connectionConfig.setLoginFailureDelay(SpringUtil.parseInt(element, "login-failure-delay")); } factoryBuilder.addPropertyValue("connectionConfig", connectionConfig.createConnectionConfig()); BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition(); String factoryName = parserContext.getReaderContext().generateBeanName(factoryDefinition); BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryName); registerBeanDefinition(factoryHolder, parserContext.getRegistry()); // set the factory on the listener bean builder.getRawBeanDefinition().setFactoryBeanName(factoryName); builder.getRawBeanDefinition().setFactoryMethodName("createServer"); }
From source file:io.fabric8.spring.boot.AbstractServiceRegistar.java
private <S, T> BeanDefinitionHolder createConverterBean(Class type, String methodName, Class<S> sourceType, Class<T> targetType) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(FactoryConverter.class); String beanName = type.getName() + "." + methodName; builder.addPropertyValue("name", methodName); builder.addPropertyValue("type", type.getCanonicalName()); builder.addPropertyValue("sourceType", sourceType.getCanonicalName()); builder.addPropertyValue("targetType", targetType.getCanonicalName()); builder.setAutowireMode(Autowire.BY_TYPE.value()); return new BeanDefinitionHolder(builder.getBeanDefinition(), beanName); }
From source file:org.apache.smscserver.config.spring.ServerBeanDefinitionParser.java
/** * {@inheritDoc}// w w w . j ava 2 s.com */ @Override protected void doParse(final Element element, final ParserContext parserContext, final BeanDefinitionBuilder builder) { BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(SmscServerFactory.class); List<Element> childs = SpringUtil.getChildElements(element); for (Element childElm : childs) { String childName = childElm.getLocalName(); if ("listeners".equals(childName)) { Map<?, ?> listeners = this.parseListeners(childElm, parserContext, builder); if (listeners.size() > 0) { factoryBuilder.addPropertyValue("listeners", listeners); } } else if ("smsclets".equals(childName)) { Map<?, ?> smsclets = this.parseSmsclets(childElm, parserContext, builder); factoryBuilder.addPropertyValue("smsclets", smsclets); } else if ("message-manager".equals(childName)) { Object userManager = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("messageManager", userManager); } else if ("file-user-manager".equals(childName) || "db-user-manager".equals(childName)) { Object userManager = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("userManager", userManager); } else if ("user-manager".equals(childName)) { factoryBuilder.addPropertyValue("userManager", SpringUtil.parseSpringChildElement(childElm, parserContext, builder)); } else if ("commands".equals(childName)) { Object commandFactory = parserContext.getDelegate().parseCustomElement(childElm, builder.getBeanDefinition()); factoryBuilder.addPropertyValue("commandFactory", commandFactory); } else { throw new SmscServerConfigurationException("Unknown configuration name: " + childName); } } // Configure the connection config ConnectionConfigFactory connectionConfig = new ConnectionConfigFactory(); if (StringUtils.hasText(element.getAttribute("max-binds"))) { connectionConfig.setMaxBinds(SpringUtil.parseInt(element, "max-binds")); } if (StringUtils.hasText(element.getAttribute("min-threads"))) { connectionConfig.setMinThreads(SpringUtil.parseInt(element, "min-threads")); } if (StringUtils.hasText(element.getAttribute("max-threads"))) { connectionConfig.setMaxThreads(SpringUtil.parseInt(element, "max-threads")); } if (StringUtils.hasText(element.getAttribute("max-bind-failures"))) { connectionConfig.setMaxBindFailures(SpringUtil.parseInt(element, "max-bind-failures")); } if (StringUtils.hasText(element.getAttribute("bind-failure-delay"))) { connectionConfig.setBindFailureDelay(SpringUtil.parseInt(element, "bind-failure-delay")); } factoryBuilder.addPropertyValue("connectionConfig", connectionConfig.createConnectionConfig()); // Configure the delivery manager DeliveryManagerConfigFactory deliveryManagerConfig = new DeliveryManagerConfigFactory(); if (StringUtils.hasText(element.getAttribute("delivery-threads"))) { deliveryManagerConfig.setManagerThreads(SpringUtil.parseInt(element, "delivery-threads")); } if (StringUtils.hasText(element.getAttribute("min-delivery-threads"))) { deliveryManagerConfig.setMinThreads(SpringUtil.parseInt(element, "min-delivery-threads")); } if (StringUtils.hasText(element.getAttribute("max-delivery-threads"))) { deliveryManagerConfig.setMaxThreads(SpringUtil.parseInt(element, "max-delivery-threads")); } if (StringUtils.hasText(element.getAttribute("delivery-retry-periods"))) { deliveryManagerConfig.setDeliveryRetryPeriods(element.getAttribute("delivery-retry-periods")); } if (StringUtils.hasText(element.getAttribute("delivery-poll-time"))) { deliveryManagerConfig.setDeliveryPollTime(SpringUtil.parseInt(element, "delivery-poll-time")); } factoryBuilder.addPropertyValue("deliveryManagerConfig", deliveryManagerConfig.createDeliveryManagerConfig()); if (StringUtils.hasText(element.getAttribute("sessionLockTimeout"))) { factoryBuilder.addPropertyValue("session-lock-timeout", SpringUtil.parseInt(element, "session-lock-timeout")); } BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition(); String factoryName = parserContext.getReaderContext().generateBeanName(factoryDefinition); BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryName); this.registerBeanDefinition(factoryHolder, parserContext.getRegistry()); // set the factory on the listener bean builder.getRawBeanDefinition().setFactoryBeanName(factoryName); builder.getRawBeanDefinition().setFactoryMethodName("createServer"); }
From source file:org.solmix.runtime.support.spring.AbstractRootBeanDefinitionParser.java
protected void parseArguments(String id, NodeList nodeList, RootBeanDefinition beanDefinition, ParserContext parserContext) {//ww w . j av a2 s . co m if (nodeList != null && nodeList.getLength() > 0) { ManagedList arguments = null; for (int i = 0; i < nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node instanceof Element) { Element element = (Element) node; if ("argument".equals(node.getNodeName()) || "argument".equals(node.getLocalName())) { String argumentIndex = element.getAttribute("index"); if (arguments == null) { arguments = new ManagedList(); } BeanDefinition argumentBeanDefinition = parse(((Element) node), parserContext, /*ArgumentConfig.class*/null); String name = id + "." + argumentIndex; BeanDefinitionHolder argumentBeanDefinitionHolder = new BeanDefinitionHolder( argumentBeanDefinition, name); arguments.add(argumentBeanDefinitionHolder); } } } if (arguments != null) { beanDefinition.getPropertyValues().addPropertyValue("arguments", arguments); } } }
From source file:org.jdal.vaadin.beans.TableBeanDefinitionParser.java
/** * {@inheritDoc}// w ww. j a va2 s . c o m */ @SuppressWarnings("rawtypes") public BeanDefinition parse(Element element, ParserContext parserContext) { // Defaults String entity = null; if (element.hasAttribute(ENTITY)) entity = element.getAttribute(ENTITY); String name = StringUtils.uncapitalize(StringUtils.substringAfterLast(entity, ".")); if (element.hasAttribute(ID)) name = element.getAttribute(ID); parserContext.pushContainingComponent( new CompositeComponentDefinition(name, parserContext.extractSource(element))); // Bean names String pageableTableBeanName = name + PAGEABLE_TABLE_SUFFIX; String tableBeanName = name + TABLE_SUFFIX; String dataSource = name + SERVICE_SUFFIX; String paginator = PAGINATOR_VIEW; String editor = name + EDITOR_SUFFIX; String actions = DefaultsBeanDefinitionParser.DEFAULT_TABLE_ACTIONS; String guiFactory = DefaultsBeanDefinitionParser.DEFAULT_GUI_FACTORY; String scope = BeanDefinition.SCOPE_PROTOTYPE; String pageableTableClass = DEFAULT_PAGEABLE_TABLE_CLASS; String tableClass = DEFAULT_TABLE_CLASS; if (element.hasAttribute(DATA_SOURCE)) dataSource = element.getAttribute(DATA_SOURCE); if (element.hasAttribute(PAGINATOR)) paginator = element.getAttribute(PAGINATOR); if (element.hasAttribute(ACTIONS)) actions = element.getAttribute(ACTIONS); if (element.hasAttribute(GUI_FACTORY)) guiFactory = element.getAttribute(GUI_FACTORY); if (element.hasAttribute(EDITOR)) editor = element.getAttribute(EDITOR); if (element.hasAttribute(SCOPE)) scope = element.getAttribute(SCOPE); if (element.hasAttribute(PAGEABLE_TABLE_CLASS)) pageableTableClass = element.getAttribute(PAGEABLE_TABLE_CLASS); if (element.hasAttribute(TABLE_CLASS)) tableClass = element.getAttribute(TABLE_CLASS); // create PageableTable BeanDefinitionBuilder bdb = BeanDefinitionBuilder.genericBeanDefinition(pageableTableClass); bdb.setScope(scope); bdb.addPropertyReference(DATA_SOURCE, dataSource); bdb.addPropertyReference(PAGINATOR_VIEW, paginator); bdb.addPropertyValue(NAME, pageableTableBeanName); bdb.addPropertyReference(TABLE, tableBeanName); bdb.addPropertyReference(GUI_FACTORY, guiFactory); bdb.addPropertyValue(EDITOR_NAME, editor); bdb.addPropertyValue(ENTITY_CLASS, entity); BeanDefinitionUtils.addPropertyReferenceIfNeeded(bdb, element, TABLE_SERVICE); BeanDefinitionUtils.addPropertyReferenceIfNeeded(bdb, element, FILTER); BeanDefinitionUtils.addPropertyReferenceIfNeeded(bdb, element, MESSAGE_SOURCE); BeanDefinitionUtils.addPropertyReferenceIfNeeded(bdb, element, FILTER_FORM); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, SORT_PROPERTY); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, ORDER); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, PAGE_SIZE); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, NATIVE_BUTTONS); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, PROPAGATE_SERVICE); if (!element.hasAttribute(USE_ACTIONS) || "true".equals(element.getAttribute(USE_ACTIONS))) bdb.addPropertyReference(ACTIONS, actions); parserContext.getDelegate().parseBeanDefinitionAttributes(element, pageableTableBeanName, null, bdb.getBeanDefinition()); BeanDefinitionHolder holder = new BeanDefinitionHolder(bdb.getBeanDefinition(), pageableTableBeanName); // Test Decorators like aop:scoped-proxy NodeList childNodes = element.getChildNodes(); for (int i = 0; i < childNodes.getLength(); i++) { Node n = childNodes.item(i); if (Node.ELEMENT_NODE != n.getNodeType() || COLUMNS.equals(n.getLocalName())) continue; NamespaceHandler handler = parserContext.getReaderContext().getNamespaceHandlerResolver() .resolve(n.getNamespaceURI()); if (handler != null) { holder = handler.decorate(n, holder, parserContext); } } parserContext.registerBeanComponent(new BeanComponentDefinition(holder)); // create ConfigurableTable bdb = BeanDefinitionBuilder.genericBeanDefinition(tableClass); bdb.setScope(BeanDefinition.SCOPE_PROTOTYPE); BeanDefinitionUtils.addPropertyReferenceIfNeeded(bdb, element, FIELD_FACTORY); BeanDefinitionUtils.addPropertyValueIfNeeded(bdb, element, MULTISELECT); if (element.hasAttribute(SELECTABLE)) { bdb.addPropertyValue(SELECTABLE, element.getAttribute(SELECTABLE)); } else { // set selectable by default bdb.addPropertyValue(SELECTABLE, true); } // parse columns NodeList nl = element.getElementsByTagNameNS(element.getNamespaceURI(), COLUMNS); if (nl.getLength() > 0) { List columns = parserContext.getDelegate().parseListElement((Element) nl.item(0), bdb.getRawBeanDefinition()); bdb.addPropertyValue(COLUMNS, columns); } registerBeanDefinition(element, parserContext, tableBeanName, bdb); parserContext.popAndRegisterContainingComponent(); return null; }
From source file:io.fabric8.spring.boot.AbstractServiceRegistar.java
private BeanDefinitionHolder createServiceDefinition(Service service, String alias, String protocol, String port, Class type) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(KubernetesServiceFactoryBean.class); builder.addPropertyValue("name", alias); builder.addPropertyValue("service", service); builder.addPropertyValue("port", port); builder.addPropertyValue("type", type.getCanonicalName()); builder.setAutowireMode(Autowire.BY_TYPE.value()); //Add protocol qualifier builder.getBeanDefinition()// w w w. j a va2 s. c o m .addQualifier(new AutowireCandidateQualifier(ServiceName.class, KubernetesHelper.getName(service))); builder.getBeanDefinition().addQualifier(new AutowireCandidateQualifier(Protocol.class, protocol)); builder.getBeanDefinition() .addQualifier(new AutowireCandidateQualifier(PortName.class, port != null ? port : "")); return new BeanDefinitionHolder(builder.getBeanDefinition(), alias); }
From source file:com.dianping.avatar.cache.spring.CacheBeanDefinitionParser.java
/** * Register jms listener definition/* w w w . j av a2 s . com*/ */ private void registerJmsDefinition(Element element, ParserContext parserContext) { GenericBeanDefinition definition = new GenericBeanDefinition(); MutablePropertyValues propertyValues = definition.getPropertyValues(); definition = new GenericBeanDefinition(); definition.setBeanClass(CacheKeyTypeVersionUpdateListener.class); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("cacheItemConfigManager", new RuntimeBeanReference(cacheItemConfigManager)); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, "keyTypeVersionUpdateListener"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(SingleCacheRemoveListener.class); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("cacheClientFactory", new RuntimeBeanReference(DEFAULT_CACHE_CLIENT_FACTORY_ID)); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, "singleCacheRemoveListener"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(CacheConfigurationUpdateListener.class); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("cacheClientFactory", new RuntimeBeanReference(DEFAULT_CACHE_CLIENT_FACTORY_ID)); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, "cacheConfigUpdateListener"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(CacheKeyConfigUpdateListener.class); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("cacheItemConfigManager", new RuntimeBeanReference(cacheItemConfigManager)); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, "cacheKeyConfigUpdateListener"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(MessageReceiver.class); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("mappingList[0]", new RuntimeBeanReference("keyTypeVersionUpdateListener")); propertyValues.addPropertyValue("mappingList[1]", new RuntimeBeanReference("singleCacheRemoveListener")); propertyValues.addPropertyValue("mappingList[2]", new RuntimeBeanReference("cacheConfigUpdateListener")); propertyValues.addPropertyValue("mappingList[3]", new RuntimeBeanReference("cacheKeyConfigUpdateListener")); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(definition, "dispatchMessageListener"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(MongoMQService.class); ConstructorArgumentValues constructorArgumentValues = definition.getConstructorArgumentValues(); constructorArgumentValues.addGenericArgumentValue("${avatar-cache.swallow.url}", "java.lang.String"); BeanDefinitionReaderUtils.registerBeanDefinition(new BeanDefinitionHolder(definition, "MQService"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); definition.setBeanClass(Destination.class); definition.setFactoryMethodName(DEFAULT_CACHE_JMS_MODE); constructorArgumentValues = definition.getConstructorArgumentValues(); constructorArgumentValues.addGenericArgumentValue(DEFAULT_CACHE_JMS_TOPIC_NAME, "java.lang.String"); BeanDefinitionReaderUtils.registerBeanDefinition(new BeanDefinitionHolder(definition, "CacheDestination"), parserContext.getRegistry()); definition = new GenericBeanDefinition(); // definition.setBeanClass(MongoMessageConsumer.class); definition.setFactoryBeanName("MQService"); definition.setFactoryMethodName("createConsumer"); constructorArgumentValues = definition.getConstructorArgumentValues(); //TODO where to get the DEFAULT_CACHE_JMS_TOPIC_NAME constructorArgumentValues.addGenericArgumentValue(new RuntimeBeanReference("CacheDestination")); propertyValues = definition.getPropertyValues(); propertyValues.addPropertyValue("messageListener", new RuntimeBeanReference("dispatchMessageListener")); BeanDefinitionReaderUtils.registerBeanDefinition(new BeanDefinitionHolder(definition, "cacheConsumer"), parserContext.getRegistry()); }
From source file:org.springframework.hateoas.config.HypermediaSupportBeanDefinitionRegistrar.java
private static String registerSourcedBeanDefinition(BeanDefinitionBuilder builder, AnnotationMetadata metadata, BeanDefinitionRegistry registry, String name) { AbstractBeanDefinition beanDefinition = builder.getBeanDefinition(); beanDefinition.setSource(metadata);// w w w .java 2 s . co m BeanDefinitionHolder holder = new BeanDefinitionHolder(beanDefinition, name); registerBeanDefinition(holder, registry); return name; }