List of usage examples for org.springframework.beans.factory.xml ParserContext getRegistry
public final BeanDefinitionRegistry getRegistry()
From source file:org.bigtester.ate.xmlschema.ElementStepBeanDefinitionParser.java
/** * {@inheritDoc}//from www . j a v a 2 s .c o m */ @Override protected AbstractBeanDefinition parseInternal(@Nullable Element element, @Nullable ParserContext parserContext) { // Here we parse the Spring elements such as < property> if (parserContext == null || element == null) throw GlobalUtils.createNotInitializedException("element and parserContext"); // Here we parse the Spring elements such as < property> // BeanDefinitionHolder holder = parserContext.getDelegate() // .parseBeanDefinitionElement(element); BeanDefinition bDef = super.parseInternal(element, parserContext); bDef.setBeanClassName(ElementTestStep.class.getName()); // String pageObject = element // .getAttribute(XsdElementConstants.ATTR_BASETESTSTEP_PAGEOBJECT); // if (StringUtils.hasText(pageObject)) { // bDef.getConstructorArgumentValues().addGenericArgumentValue( // new RuntimeBeanReference(pageObject)); // } // String myWE = element // .getAttribute(XsdElementConstants.ATTR_ELEMENTSTEP_MYWEBELEMENT); // if (StringUtils.hasText(myWE)) { // bDef.getConstructorArgumentValues().addGenericArgumentValue( // new RuntimeBeanReference(myWE)); // } // String ead = element // .getAttribute(XsdElementConstants.ATTR_ELEMENTSTEP_ELEMENTACTIONDEF); // if (StringUtils.hasText(ead)) { // bDef.getConstructorArgumentValues().addGenericArgumentValue( // new RuntimeBeanReference(ead)); // } // // // boolean target = Boolean.parseBoolean(element // .getAttribute(XsdElementConstants.ATTR_TESTSTEP_TARGETSTEP)); // bDef.getPropertyValues().addPropertyValue( // XsdElementConstants.ATTR_TESTSTEP_TARGETSTEP, target); // // String stepName = element // .getAttribute(XsdElementConstants.ATTR_TESTSTEP_STEPNAME); // bDef.getPropertyValues().addPropertyValue( // XsdElementConstants.ATTR_TESTSTEP_STEPNAME, stepName); // // String stepDesc = element // .getAttribute(XsdElementConstants.ATTR_TESTSTEP_STEPDESCRIPTION); // bDef.getPropertyValues().addPropertyValue( // XsdElementConstants.ATTR_TESTSTEP_STEPDESCRIPTION, stepDesc); parserContext.getRegistry().registerBeanDefinition(element.getAttribute("id"), bDef); return (AbstractBeanDefinition) bDef; // this will never be null since the schema explicitly requires that a // value be supplied // String myWE = // element.getAttribute(XsdElementConstants.ATTR_ELEMENTSTEP_MYWEBELEMENT); // BeanDefinitionBuilder factory = // BeanDefinitionBuilder.rootBeanDefinition(ElementTestStep.class); // if (StringUtils.hasText(myWE)) // factory.addConstructorArgReference(myWE); // // boolean target = // Boolean.parseBoolean(element.getAttribute(XsdElementConstants.ATTR_TESTSTEP_TARGETSTEP)); // factory.addPropertyValue(XsdElementConstants.ATTR_TESTSTEP_TARGETSTEP, // target); // // String stepName = // element.getAttribute(XsdElementConstants.ATTR_TESTSTEP_STEPNAME); // if (StringUtils.hasText(stepName)) // factory.addPropertyValue(XsdElementConstants.ATTR_TESTSTEP_STEPNAME, // stepName); // // String stepDesc = // element.getAttribute(XsdElementConstants.ATTR_TESTSTEP_STEPDESCRIPTION); // if (StringUtils.hasText(stepDesc)) // factory.addPropertyValue(XsdElementConstants.ATTR_TESTSTEP_STEPDESCRIPTION, // stepDesc); // // factory.getBeanDefinition().setBeanClassName(ElementTestStep.class.getName()); // parserContext.getRegistry().registerBeanDefinition(element.getAttribute("id"), // factory.getBeanDefinition()); // return factory.getBeanDefinition(); }
From source file:org.smf4j.spring.RegistryNodeTemplateDefinitionParser.java
protected String parseCustom(ParserContext context, Element element, BeanDefinition containingBean) { String name = getName(context, element); String ref = element.getAttribute(REF_ATTR); String customBeanId = null;/*from w w w .j av a 2 s . co m*/ if (StringUtils.hasLength(ref)) { customBeanId = ref; } else { // Grab the single child element, that should define or point // to the custom Accumulator or Calcuation bean definition. NodeList childList = element.getChildNodes(); Element child = null; for (int i = 0; i < childList.getLength(); i++) { Node childNode = childList.item(i); if (!(childNode instanceof Element)) { continue; } if (child != null) { context.getReaderContext() .error("'custom' elements without a 'ref' attribute must " + "have exactly one 'bean', 'ref', or 'idref' child" + " element.", context.extractSource(element)); } child = (Element) childNode; } if (child == null) { context.getReaderContext() .error("'custom' elements must specify a 'ref' attribute or a " + "single 'bean', 'ref', or 'idref' child element.", context.extractSource(element)); } // Parse the contents of the custom bean Object o = context.getDelegate().parsePropertySubElement(child, containingBean); if (o instanceof BeanDefinitionHolder) { BeanDefinitionHolder bdh = (BeanDefinitionHolder) o; customBeanId = bdh.getBeanName(); if (!StringUtils.hasLength(customBeanId)) { // They didn't give their bean an id, so we'll need to // generate one for it now. customBeanId = context.getReaderContext().generateBeanName(bdh.getBeanDefinition()); } // Register this bean context.getRegistry().registerBeanDefinition(customBeanId, bdh.getBeanDefinition()); } else if (o instanceof RuntimeBeanReference) { RuntimeBeanReference rbr = (RuntimeBeanReference) o; customBeanId = rbr.getBeanName(); } else if (o instanceof RuntimeBeanNameReference) { RuntimeBeanNameReference rbnr = (RuntimeBeanNameReference) o; customBeanId = rbnr.getBeanName(); } } // Create proxy that associates the given name with this child BeanDefinitionBuilder accProxyBdb = getBdb(RegistryNodeChildProxy.class); accProxyBdb.addPropertyValue(NAME_ATTR, name); accProxyBdb.addPropertyValue(CHILD_ATTR, customBeanId); accProxyBdb.getRawBeanDefinition().setSource(element); return context.getReaderContext().registerWithGeneratedName(accProxyBdb.getBeanDefinition()); }
From source file:nats.client.spring.config.NatsBeanDefinitionParser.java
@Override public BeanDefinition parse(Element element, ParserContext parserContext) { final BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(NatsFactoryBean.class); // Parse list of hosts final List<String> uris = new ManagedList<>(); final List<Element> hosts = DomUtils.getChildElementsByTagName(element, ELEMENT_URL); for (Element host : hosts) { uris.add(host.getTextContent()); }/*from ww w. j a v a 2 s . co m*/ builder.addPropertyValue("hostUris", uris); // Parse list of subscriptions final List<BeanDefinition> subscriptions = new ManagedList<>(); final List<Element> subscriptionElements = DomUtils.getChildElementsByTagName(element, ELEMENT_SUBSCRIPTION); for (Element subscriptionElement : subscriptionElements) { final BeanDefinitionBuilder subscriptionBuilder = BeanDefinitionBuilder .genericBeanDefinition(SubscriptionConfig.class); subscriptionBuilder.addConstructorArgValue(subscriptionElement.getAttribute(ATTRIBUTE_SUBJECT)); subscriptionBuilder.addConstructorArgReference(subscriptionElement.getAttribute(ATTRIBUTE_REF)); subscriptionBuilder.addConstructorArgValue(subscriptionElement.getAttribute(ATTRIBUTE_METHOD)); subscriptionBuilder.addConstructorArgValue(subscriptionElement.getAttribute(ATTRIBUTE_QUEUE_GROUP)); subscriptions.add(subscriptionBuilder.getBeanDefinition()); } builder.addPropertyValue("subscriptions", subscriptions); // Parse attributes builder.addPropertyValue("autoReconnect", element.getAttribute(ATTRIBUTE_AUTO_RECONNECT)); builder.addPropertyValue("reconnectWaitTime", element.getAttribute(ATTRIBUTE_RECONNECT_WAIT_TIME)); final String eventLoopGroupRef = element.getAttribute(ATTRIBUTE_EVENT_LOOP_GROUP_REF); if (StringUtils.hasText(eventLoopGroupRef)) { builder.addPropertyReference("eventLoopGroup", eventLoopGroupRef); } final String callbackExecutorRef = element.getAttribute(ATTRIBUTE_CALLBACK_EXECUTOR_REF); if (StringUtils.hasText(callbackExecutorRef)) { builder.addPropertyReference("callbackExecutor", callbackExecutorRef); } final String connectionStateListenerRef = element.getAttribute(ATTRIBUTE_CONNECTION_STATE_LISTENER_REF); if (StringUtils.hasText(connectionStateListenerRef)) { builder.addPropertyReference("connectionStateListener", connectionStateListenerRef); } // Register bean final String id = element.getAttribute(ATTRIBUTE_ID); final AbstractBeanDefinition beanDefinition = builder.getBeanDefinition(); parserContext.getRegistry().registerBeanDefinition(id, beanDefinition); return beanDefinition; }
From source file:org.bigtester.ate.xmlschema.BaseTestStepBeanDefinitionParser.java
/** * {@inheritDoc}// w w w. ja v a 2 s . co m */ @Override protected AbstractBeanDefinition parseInternal(@Nullable Element element, @Nullable ParserContext parserContext) { // Here we parse the Spring elements such as < property> if (parserContext == null || element == null) throw GlobalUtils.createNotInitializedException("element and parserContext"); BeanDefinitionHolder holder = parserContext.getDelegate().parseBeanDefinitionElement(element); BeanDefinition bDef = holder.getBeanDefinition(); bDef.setBeanClassName(BaseTestStep.class.getName()); String pageObject = element.getAttribute(XsdElementConstants.ATTR_BASETESTSTEP_PAGEOBJECT); if (StringUtils.hasText(pageObject)) { bDef.getConstructorArgumentValues().addGenericArgumentValue(new RuntimeBeanReference(pageObject)); } String myWebElement = element.getAttribute(XsdElementConstants.ATTR_BASETESTSTEP_MYWEBELEMENT); if (StringUtils.hasText(myWebElement)) { bDef.getConstructorArgumentValues().addGenericArgumentValue(new RuntimeBeanReference(myWebElement)); } String ead = element.getAttribute(XsdElementConstants.ATTR_ELEMENTSTEP_ELEMENTACTIONDEF); if (StringUtils.hasText(ead)) { bDef.getConstructorArgumentValues().addGenericArgumentValue(new RuntimeBeanReference(ead)); } boolean target = Boolean.parseBoolean(element.getAttribute(XsdElementConstants.ATTR_TESTSTEP_TARGETSTEP)); bDef.getPropertyValues().addPropertyValue(XsdElementConstants.ATTR_TESTSTEP_TARGETSTEP, target); boolean optional; if (target) { optional = false; } else { optional = Boolean.parseBoolean(element.getAttribute(XsdElementConstants.ATTR_TESTSTEP_OPTIONALSTEP)); String optionalStepUntilInclusive = element .getAttribute(XsdElementConstants.ATTR_TESTSTEP_CORRELATEDOPTIONALSTEPSUTILINCLUSIVE); bDef.getPropertyValues().addPropertyValue( XsdElementConstants.ATTR_TESTSTEP_CORRELATEDOPTIONALSTEPSUTILINCLUSIVE, optionalStepUntilInclusive); } bDef.getPropertyValues().addPropertyValue(XsdElementConstants.ATTR_TESTSTEP_OPTIONALSTEP, optional); String stepName = element.getAttribute(XsdElementConstants.ATTR_TESTSTEP_STEPNAME); bDef.getPropertyValues().addPropertyValue(XsdElementConstants.ATTR_TESTSTEP_STEPNAME, stepName); String stepDesc = element.getAttribute(XsdElementConstants.ATTR_TESTSTEP_STEPDESCRIPTION); bDef.getPropertyValues().addPropertyValue(XsdElementConstants.ATTR_TESTSTEP_STEPDESCRIPTION, stepDesc); bDef.getPropertyValues().addPropertyValue("repeatStepLogger", new RuntimeBeanReference(GlobalConstants.BEAN_ID_REPEATSTEPEXECUTIONLOGGER)); String testcaseParentName = element.getParentNode().getAttributes().getNamedItem("id").getNodeValue(); bDef.getConstructorArgumentValues().addGenericArgumentValue(new RuntimeBeanReference(testcaseParentName)); // String text = element.getAttribute("text"); // bd.getPropertyValues().addPropertyValue("text", text); parserContext.getRegistry().registerBeanDefinition(element.getAttribute("id"), bDef); return (AbstractBeanDefinition) bDef; }
From source file:org.apache.smscserver.config.spring.ListenerBeanDefinitionParser.java
/** * {@inheritDoc}//from w ww . j a v a2 s.c om */ @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 = this.parseSsl(element); if (ssl != null) { factoryBuilder.addPropertyValue("sslConfiguration", ssl); } 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, SmscServerNamespaceHandler.SMSCSERVER_NS, "blacklist"); if (blacklistElm != null) { this.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, SmscServerNamespaceHandler.SMSCSERVER_NS, "remote-ip-filter"); if (remoteIpFilterElement != null) { if (blacklistElm != null) { throw new SmscServerConfigurationException( "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); this.registerBeanDefinition(factoryHolder, parserContext.getRegistry()); // set the factory on the listener bean builder.getRawBeanDefinition().setFactoryBeanName(listenerFactoryName); builder.getRawBeanDefinition().setFactoryMethodName("createListener"); }
From source file:org.apache.ftpserver.config.spring.UserManagerBeanDefinitionParser.java
@Override protected void doParse(final Element element, final ParserContext parserContext, final BeanDefinitionBuilder builder) { Class<?> factoryClass;/* w ww. j a v a 2s. c om*/ if (element.getLocalName().equals("file-user-manager")) { factoryClass = PropertiesUserManagerFactory.class; } else { factoryClass = DbUserManagerFactory.class; } BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(factoryClass); // common for both user managers if (StringUtils.hasText(element.getAttribute("encrypt-passwords"))) { String encryptionStrategy = element.getAttribute("encrypt-passwords"); if (encryptionStrategy.equals("true") || encryptionStrategy.equals("md5")) { factoryBuilder.addPropertyValue("passwordEncryptor", new Md5PasswordEncryptor()); } else if (encryptionStrategy.equals("salted")) { factoryBuilder.addPropertyValue("passwordEncryptor", new SaltedPasswordEncryptor()); } else { factoryBuilder.addPropertyValue("passwordEncryptor", new ClearTextPasswordEncryptor()); } } if (factoryClass == PropertiesUserManagerFactory.class) { if (StringUtils.hasText(element.getAttribute("file"))) { factoryBuilder.addPropertyValue("file", element.getAttribute("file")); } if (StringUtils.hasText(element.getAttribute("url"))) { factoryBuilder.addPropertyValue("url", element.getAttribute("url")); } } else { Element dsElm = SpringUtil.getChildElement(element, FtpServerNamespaceHandler.FTPSERVER_NS, "data-source"); // schema ensure we get the right type of element Element springElm = SpringUtil.getChildElement(dsElm, null, null); Object o; if ("bean".equals(springElm.getLocalName())) { o = parserContext.getDelegate().parseBeanDefinitionElement(springElm, builder.getBeanDefinition()); } else { // ref o = parserContext.getDelegate().parsePropertySubElement(springElm, builder.getBeanDefinition()); } factoryBuilder.addPropertyValue("dataSource", o); factoryBuilder.addPropertyValue("sqlUserInsert", getSql(element, "insert-user")); factoryBuilder.addPropertyValue("sqlUserUpdate", getSql(element, "update-user")); factoryBuilder.addPropertyValue("sqlUserDelete", getSql(element, "delete-user")); factoryBuilder.addPropertyValue("sqlUserSelect", getSql(element, "select-user")); factoryBuilder.addPropertyValue("sqlUserSelectAll", getSql(element, "select-all-users")); factoryBuilder.addPropertyValue("sqlUserAdmin", getSql(element, "is-admin")); factoryBuilder.addPropertyValue("sqlUserAuthenticate", getSql(element, "authenticate")); } BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition(); String factoryId = parserContext.getReaderContext().generateBeanName(factoryDefinition); BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryId); registerBeanDefinition(factoryHolder, parserContext.getRegistry()); // set the factory on the listener bean builder.getRawBeanDefinition().setFactoryBeanName(factoryId); builder.getRawBeanDefinition().setFactoryMethodName("createUserManager"); }
From source file:org.apache.smscserver.config.spring.UserManagerBeanDefinitionParser.java
@Override protected void doParse(final Element element, final ParserContext parserContext, final BeanDefinitionBuilder builder) { Class<?> factoryClass;//from w w w. ja v a 2 s . co m if (element.getLocalName().equals("file-user-manager")) { factoryClass = PropertiesUserManagerFactory.class; } else { factoryClass = DbUserManagerFactory.class; } BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(factoryClass); // common for both user managers if (StringUtils.hasText(element.getAttribute("encrypt-passwords"))) { String encryptionStrategy = element.getAttribute("encrypt-passwords"); if (encryptionStrategy.equals("true") || encryptionStrategy.equals("md5")) { factoryBuilder.addPropertyValue("passwordEncryptor", new Md5PasswordEncryptor()); } else if (encryptionStrategy.equals("salted")) { factoryBuilder.addPropertyValue("passwordEncryptor", new SaltedPasswordEncryptor()); } else { factoryBuilder.addPropertyValue("passwordEncryptor", new ClearTextPasswordEncryptor()); } } if (factoryClass == PropertiesUserManagerFactory.class) { if (StringUtils.hasText(element.getAttribute("file"))) { factoryBuilder.addPropertyValue("file", element.getAttribute("file")); } if (StringUtils.hasText(element.getAttribute("url"))) { factoryBuilder.addPropertyValue("url", element.getAttribute("url")); } } else { Element dsElm = SpringUtil.getChildElement(element, SmscServerNamespaceHandler.SMSCSERVER_NS, "data-source"); // schema ensure we get the right type of element Element springElm = SpringUtil.getChildElement(dsElm, null, null); Object o; if ("bean".equals(springElm.getLocalName())) { o = parserContext.getDelegate().parseBeanDefinitionElement(springElm, builder.getBeanDefinition()); } else { // ref o = parserContext.getDelegate().parsePropertySubElement(springElm, builder.getBeanDefinition()); } factoryBuilder.addPropertyValue("dataSource", o); factoryBuilder.addPropertyValue("sqlUserInsert", this.getSql(element, "insert-user")); factoryBuilder.addPropertyValue("sqlUserUpdate", this.getSql(element, "update-user")); factoryBuilder.addPropertyValue("sqlUserDelete", this.getSql(element, "delete-user")); factoryBuilder.addPropertyValue("sqlUserSelect", this.getSql(element, "select-user")); factoryBuilder.addPropertyValue("sqlUserSelectAll", this.getSql(element, "select-all-users")); factoryBuilder.addPropertyValue("sqlUserAdmin", this.getSql(element, "is-admin")); factoryBuilder.addPropertyValue("sqlUserAuthenticate", this.getSql(element, "authenticate")); } BeanDefinition factoryDefinition = factoryBuilder.getBeanDefinition(); String factoryId = parserContext.getReaderContext().generateBeanName(factoryDefinition); BeanDefinitionHolder factoryHolder = new BeanDefinitionHolder(factoryDefinition, factoryId); this.registerBeanDefinition(factoryHolder, parserContext.getRegistry()); // set the factory on the listener bean builder.getRawBeanDefinition().setFactoryBeanName(factoryId); builder.getRawBeanDefinition().setFactoryMethodName("createUserManager"); }
From source file:fr.pilato.spring.elasticsearch.xml.ClientBeanDefinitionParser.java
public BeanDefinition parse(Element element, ParserContext parserContext) { // When node is not null, we should build a client. // When node is null, we want to build a transport client. String id = XMLParserUtil.getElementStringValue(element, "id"); String name = XMLParserUtil.getElementStringValue(element, "name"); String node = XMLParserUtil.getElementStringValue(element, "node"); String esNodes = XMLParserUtil.getElementStringValue(element, "esNodes"); String settingsFile = XMLParserUtil.getElementStringValue(element, "settingsFile"); String properties = XMLParserUtil.getElementStringValue(element, "properties"); boolean forceMapping = XMLParserUtil.getElementBooleanValue(element, "forceMapping"); boolean forceTemplate = XMLParserUtil.getElementBooleanValue(element, "forceTemplate"); boolean mergeMapping = XMLParserUtil.getElementBooleanValue(element, "mergeMapping"); boolean mergeSettings = XMLParserUtil.getElementBooleanValue(element, "mergeSettings"); boolean autoscan = XMLParserUtil.getElementBooleanValue(element, "autoscan", true); String classpathRoot = XMLParserUtil.getElementStringValue(element, "classpathRoot"); String mappings = XMLParserUtil.getElementStringValue(element, "mappings"); String aliases = XMLParserUtil.getElementStringValue(element, "aliases"); String templates = XMLParserUtil.getElementStringValue(element, "templates"); String taskExecutor = XMLParserUtil.getElementStringValue(element, "taskExecutor"); String async = XMLParserUtil.getElementStringValue(element, "async"); // Checking bean definition boolean isClientNode = (node != null && node.length() > 0); boolean isEsNodesEmpty = (esNodes == null || esNodes.length() == 0); if (isClientNode && !isEsNodesEmpty) { throw new RuntimeException("Incorrect settings. You should not set esNodes when using a client node."); }/*from ww w .ja va2 s . c o m*/ if (!isClientNode && isEsNodesEmpty) { throw new RuntimeException( "Incorrect settings. You must set esNodes when creating a transport client."); } BeanDefinition client; GenericBeanDefinition bdef = new GenericBeanDefinition(); if (isClientNode) { bdef.setBeanClass(ElasticsearchClientFactoryBean.class); BeanDefinitionBuilder clientBuilder = startClientBuilder(ElasticsearchClientFactoryBean.class, settingsFile, properties, forceMapping, forceTemplate, mergeMapping, mergeSettings, autoscan, classpathRoot, mappings, aliases, templates, async, taskExecutor); client = ClientBeanDefinitionParser.buildClientDef(clientBuilder, node); } else { bdef.setBeanClass(ElasticsearchTransportClientFactoryBean.class); BeanDefinitionBuilder clientBuilder = startClientBuilder(ElasticsearchTransportClientFactoryBean.class, settingsFile, properties, forceMapping, forceTemplate, mergeMapping, mergeSettings, autoscan, classpathRoot, mappings, aliases, templates, async, taskExecutor); client = ClientBeanDefinitionParser.buildTransportClientDef(clientBuilder, esNodes); } // Register NodeBeanDefinition if (id != null && id.length() > 0) { parserContext.getRegistry().registerBeanDefinition(id, client); } else { parserContext.getRegistry().registerBeanDefinition(name, client); } return bdef; }
From source file:org.apache.ftpserver.config.spring.ListenerBeanDefinitionParser.java
/** * {@inheritDoc}/*from ww w. j a v a 2 s . c o m*/ */ @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:org.jboss.seam.spring.namespace.CdiBeanImportBeanDefinitionParser.java
@Override public AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinitionBuilder cdiBeanFactoryBuilder = BeanDefinitionBuilder .rootBeanDefinition(FACTORY_BEAN_CLASS_NAME); String beanManagerReference = element.getAttribute(BEAN_MANAGER_REFERENCE); if (StringUtils.hasText(beanManagerReference)) { cdiBeanFactoryBuilder.addPropertyReference("beanManager", beanManagerReference); } else {/*w w w . j av a2 s .c o m*/ cdiBeanFactoryBuilder.addPropertyReference("beanManager", DEFAULT_BEAN_MANAGER_ID); } String name = element.getAttribute(NAME_ATTRIBUTE); String type = element.getAttribute("type"); if (!StringUtils.hasText(name) && !StringUtils.hasText(type)) { parserContext.getReaderContext() .error("A CDI bean reference must specify at least a name or the bean type", element); } ArrayList<Qualifier> qualifiers = new ArrayList<Qualifier>(); NodeList children = element.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node childNode = children.item(i); if (childNode.getNodeType() == Node.ELEMENT_NODE && "qualifier".equals(childNode.getLocalName())) { Element qualifierElement = (Element) childNode; Qualifier qualifier = new Qualifier(); Map<String, Object> attributes = new HashMap<String, Object>(); qualifier.setClassName(qualifierElement.getAttribute("type")); if (qualifierElement.hasChildNodes()) { NodeList attributeNodes = qualifierElement.getChildNodes(); for (int j = 0; j < attributeNodes.getLength(); j++) { Node attributeNode = attributeNodes.item(j); if (attributeNode.getNodeType() == Node.ELEMENT_NODE && "attribute".equals(attributeNode.getLocalName())) { Element attributeElement = (Element) attributeNode; String attributeName = attributeElement.getAttribute("name"); String attributeValue = attributeElement.getAttribute("value"); if (!StringUtils.hasText(attributeName) || !StringUtils.hasText(attributeValue)) { parserContext.getReaderContext().error( "Qualifier attributes must have both a name and a value", attributeElement); } attributes.put(attributeName, attributeValue); } } } qualifier.setAttributes(attributes); qualifiers.add(qualifier); } } if (StringUtils.hasText(name) && !qualifiers.isEmpty()) { parserContext.getReaderContext() .error("A bean reference must either specify a name or qualifiers but not both", element); } BeanDefinitionBuilder lookupBuilder = BeanDefinitionBuilder .rootBeanDefinition(TYPE_SAFE_BEAN_LOOKUP_CLASS_NAME); lookupBuilder.addConstructorArgValue(type); lookupBuilder.addPropertyValue("qualifiers", qualifiers); AbstractBeanDefinition lookupBeanDefinition = lookupBuilder.getBeanDefinition(); String lookupBeanName = parserContext.getReaderContext().generateBeanName(lookupBeanDefinition); BeanDefinitionReaderUtils.registerBeanDefinition( new BeanDefinitionHolder(lookupBeanDefinition, lookupBeanName), parserContext.getRegistry()); cdiBeanFactoryBuilder.addPropertyReference("cdiBeanLookup", lookupBeanName); return cdiBeanFactoryBuilder.getBeanDefinition(); }