List of usage examples for org.springframework.util.xml DomUtils getChildElementsByTagName
public static List<Element> getChildElementsByTagName(Element ele, String childEleName)
From source file:org.smf4j.spring.FileEnablerBeanDefinitionParser.java
@Override protected void doParse(Element element, ParserContext context, BeanDefinitionBuilder builder) { List<String> paths = new ArrayList<String>(); String path = element.getAttribute(PATH_ATTR); if (StringUtils.hasLength(path)) { paths.add(path);// w w w . j av a 2s.co m } List<Element> pathElements = DomUtils.getChildElementsByTagName(element, PATH_TAG); for (Element pathElement : pathElements) { path = pathElement.getAttribute(VALUE_ATTR); if (StringUtils.hasLength(path)) { paths.add(path); } } builder.addPropertyValue(PATHS_ATTR, paths); builder.setLazyInit(false); }
From source file:com.consol.citrus.selenium.xml.ExtractActionParser.java
/** * @param element/*from www .j a v a 2 s. c o m*/ * @param parserContext * @return */ @Override public BeanDefinition parse(Element element, ParserContext parserContext) { actionClass = ExtractAction.class; BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(actionClass); this.doParse(element, builder); String pageName = element.getAttribute("pageName"); BeanDefinitionParserUtils.setPropertyValue(builder, pageName, "pageName"); Map<By, ExtractDefinition.Element> elements = new LinkedHashMap<>(); List<Element> webElements = DomUtils.getChildElementsByTagName(element, "element"); for (Element webElement : webElements) { By by = getByFromElement(webElement); ExtractDefinition.Element el = new ExtractDefinition.Element(); el.setVariable(webElement.getAttribute("variable")); el.setAttribute(webElement.getAttribute("attribute")); elements.put(by, el); } builder.addPropertyValue("elements", elements); Map<String, String> pageActions = new LinkedHashMap<>(); List<Element> pageElements = DomUtils.getChildElementsByTagName(element, "page"); for (Element pageElement : pageElements) { String pageAction = pageElement.getAttribute("get"); String value = pageElement.getAttribute("variable"); pageActions.put(pageAction, value); } builder.addPropertyValue("pageActions", pageActions); return builder.getBeanDefinition(); }
From source file:com.consol.citrus.selenium.xml.ValidateActionParser.java
/** * @param element//from w w w. j a v a 2s . com * @param parserContext * @return */ @Override public BeanDefinition parse(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ValidateAction.class); this.doParse(element, builder); String pageName = element.getAttribute("pageName"); BeanDefinitionParserUtils.setPropertyValue(builder, pageName, "pageName"); Map<By, String> validations = new LinkedHashMap<>(); List<Element> validationElements = DomUtils.getChildElementsByTagName(element, "element"); for (Element validateElement : validationElements) { String value = validateElement.getAttribute("value"); By by = getBy(validateElement.getAttribute("by"), validateElement.getAttribute("select")); validations.put(by, value); } builder.addPropertyValue("validations", validations); Map<String, String> pageValidations = new LinkedHashMap<>(); List<Element> pageValidationElements = DomUtils.getChildElementsByTagName(element, "page"); for (Element validateElement : pageValidationElements) { String pageAction = validateElement.getAttribute("get"); String value = validateElement.getAttribute("value"); pageValidations.put(pageAction, value); } builder.addPropertyValue("pageValidations", pageValidations); return builder.getBeanDefinition(); }
From source file:org.springmodules.cache.config.BeanReferenceParserImpl.java
/** * @see BeanReferenceParser#parse(Element,ParserContext,boolean) *//* w w w. j ava2 s.c o m*/ public Object parse(Element element, ParserContext parserContext, boolean registerInnerBean) { String refId = element.getAttribute("refId"); if (StringUtils.hasText(refId)) { return new RuntimeBeanReference(refId); } Element beanElement = null; List beanElements = DomUtils.getChildElementsByTagName(element, "bean"); if (!CollectionUtils.isEmpty(beanElements)) { beanElement = (Element) beanElements.get(0); } if (beanElement == null) { throw new IllegalStateException("The XML element " + StringUtils.quote(element.getNodeName()) + " should either have a " + "reference to an already registered bean definition or contain a " + "bean definition"); } BeanDefinitionHolder holder = parserContext.getDelegate().parseBeanDefinitionElement(beanElement); String beanName = holder.getBeanName(); if (registerInnerBean && StringUtils.hasText(beanName)) { BeanDefinitionRegistry registry = parserContext.getRegistry(); BeanDefinition beanDefinition = holder.getBeanDefinition(); registry.registerBeanDefinition(beanName, beanDefinition); return new RuntimeBeanReference(beanName); } return holder; }
From source file:org.opencredo.esper.integration.config.xml.EsperWireTapChannelsParser.java
@SuppressWarnings("unchecked") @Override/*from w w w . j a v a2 s . c o m*/ protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { String defaultWireTapRef = element.getAttribute("default-wire-tap"); List<Element> channelElements = (List<Element>) DomUtils.getChildElementsByTagName(element, "channel"); ManagedMap channelPatternMappings = new ManagedMap(); for (Element channelElement : channelElements) { Pattern pattern = Pattern.compile(channelElement.getAttribute("pattern")); String wireTapRef = channelElement.getAttribute("wire-tap"); if (!StringUtils.hasText(wireTapRef) && !StringUtils.hasText(defaultWireTapRef)) { parserContext.getReaderContext().error( "At least one of 'default-wire-tap' or 'wire-tap' must be provided.", channelElement); } if (StringUtils.hasText(wireTapRef)) { channelPatternMappings.put(pattern, new RuntimeBeanReference(wireTapRef)); } else { channelPatternMappings.put(pattern, new RuntimeBeanReference(defaultWireTapRef)); } } builder.addConstructorArgValue(channelPatternMappings); }
From source file:biz.c24.io.spring.config.C24HttpMessageConverterBeanDefinitionParser.java
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext context) { Object source = context.extractSource(element); String modelRef = element.getAttribute("model-ref"); modelRef = StringUtils.hasText(modelRef) ? modelRef : C24ModelBeanDefinitionParser.DEFAULT_BEAN_NAME; Set<BeanDefinition> formats = new ManagedSet<BeanDefinition>(); for (Element formatElement : DomUtils.getChildElementsByTagName(element, "format")) { formats.add(formatParser.parse(formatElement, context)); }/*from w w w. java 2 s. co m*/ // Create C24HttpMessageConverter bean BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(C24HttpMessageConverter.class); builder.addConstructorArgReference(modelRef); builder.addConstructorArgValue(formats); return getSourcedBeanDefinition(builder, source); }
From source file:pl.chilldev.web.spring.config.LinkBeanDefinitionParser.java
/** * {@inheritDoc}/*from ww w . jav a2 s . co m*/ * @since 0.0.2 */ @Override public BeanDefinition parse(Element element, ParserContext parserContext) { String href = element.getAttribute(LinkBeanDefinitionParser.ATTRIBUTE_HREF); Set<String> rels = new HashSet<String>(); for (Element child : DomUtils.getChildElementsByTagName(element, LinkBeanDefinitionParser.ELEMENT_REL)) { rels.add(DomUtils.getTextValue(child)); } GenericBeanDefinition link = new GenericBeanDefinition(); link.setBeanClass(Link.class); int i = 0; ConstructorArgumentValues arguments = link.getConstructorArgumentValues(); arguments.addIndexedArgumentValue(i++, href); arguments.addIndexedArgumentValue(i++, rels); arguments.addIndexedArgumentValue(i++, pl.chilldev.web.spring.util.DomUtils.getRealAttributeValue(element, LinkBeanDefinitionParser.ATTRIBUTE_TYPE)); arguments.addIndexedArgumentValue(i++, pl.chilldev.web.spring.util.DomUtils.getRealAttributeValue(element, LinkBeanDefinitionParser.ATTRIBUTE_MEDIA)); this.logger.info("Adding \"{}\" link.", href); this.links.add(link); return null; }
From source file:com.ryantenney.metrics.spring.config.RegisterMetricBeanDefinitionParser.java
@Override public BeanDefinition parse(Element element, ParserContext parserContext) { final CompositeComponentDefinition compDefinition = new CompositeComponentDefinition(element.getTagName(), parserContext.extractSource(element)); parserContext.pushContainingComponent(compDefinition); final String metricRegistryBeanName = element.getAttribute("metric-registry"); if (!StringUtils.hasText(metricRegistryBeanName)) { throw new RuntimeException(); // TODO }//w w w .ja va 2 s . c o m final RuntimeBeanReference metricRegistryBeanRef = new RuntimeBeanReference(metricRegistryBeanName); final List<Element> metricElements = DomUtils.getChildElementsByTagName(element, new String[] { "bean", "ref" }); for (Element metricElement : metricElements) { // Get the name attribute and remove it (to prevent Spring from looking for a BeanDefinitionDecorator) final String name = metricElement.getAttributeNS(METRICS_NAMESPACE, "name"); if (name != null) { metricElement.removeAttributeNS(METRICS_NAMESPACE, "name"); } final Object metric = parserContext.getDelegate().parsePropertySubElement(metricElement, null); final RootBeanDefinition metricRegistererDef = new RootBeanDefinition(MetricRegisterer.class); metricRegistererDef.setSource(parserContext.extractSource(metricElement)); metricRegistererDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); final ConstructorArgumentValues args = metricRegistererDef.getConstructorArgumentValues(); args.addIndexedArgumentValue(0, metricRegistryBeanRef); args.addIndexedArgumentValue(1, name); args.addIndexedArgumentValue(2, metric); final String beanName = parserContext.getReaderContext().registerWithGeneratedName(metricRegistererDef); parserContext.registerComponent(new BeanComponentDefinition(metricRegistererDef, beanName)); } parserContext.popAndRegisterContainingComponent(); return null; }
From source file:com.developmentsprint.spring.breaker.config.BreakerAdviceParser.java
@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { builder.addPropertyReference(CB_MANAGER_NAME, BreakerNamespaceHandler.extractCircuitManager(element)); List<Element> cbAttributes = DomUtils.getChildElementsByTagName(element, CB_ELEMENT_NAME); if (cbAttributes.size() > 0) { // Using attributes source. RootBeanDefinition attributeSourceDefinition = parseAttributeSource(cbAttributes, parserContext); builder.addPropertyValue("circuitBreakerAttributeSource", attributeSourceDefinition); } else {//from www.jav a 2 s . c o m // Assume annotations source. builder.addPropertyValue("circuitBreakerAttributeSource", new RootBeanDefinition( "com.developmentsprint.spring.breaker.annotations.AnnotationCircuitBreakerAttributeSource")); } }
From source file:pl.chilldev.web.spring.config.TitleBeanDefinitionParser.java
/** * {@inheritDoc}//www . ja va 2 s . com * @since 0.0.1 */ @Override public BeanDefinition parse(Element element, ParserContext parserContext) { if (element.hasAttribute(TitleBeanDefinitionParser.ATTRIBUTE_SEPARATOR)) { String separator = element.getAttribute(TitleBeanDefinitionParser.ATTRIBUTE_SEPARATOR); this.logger.info("Setting title separator to \"{}\".", separator); this.properties.addPropertyValue(TitleBeanDefinitionParser.PROPERTY_TITLESEPARATOR, separator); } String part; for (Element child : DomUtils.getChildElementsByTagName(element, TitleBeanDefinitionParser.ELEMENT_PART)) { part = DomUtils.getTextValue(child); this.logger.info("Adding \"{}\" as title part.", part); this.parts.add(part); } return null; }