List of usage examples for org.springframework.beans.factory.config RuntimeBeanReference RuntimeBeanReference
public RuntimeBeanReference(Class<?> beanType)
From source file:com.clican.pluto.dataprocess.spring.parser.DplExecProcessorParser.java
@SuppressWarnings("unchecked") public void customiseBeanDefinition(BeanDefinition beanDef, Element element, ParserContext parserContext) { this.setBeanDefinitionStringProperty("resultName", beanDef, element); String dplStatement = element.getAttribute("dplStatement"); if (StringUtils.isEmpty(dplStatement)) { dplStatement = "dplStatement"; }//from w w w . j a va 2 s .c o m String clazz = element.getAttribute("clazz"); if (StringUtils.isNotEmpty(clazz)) { try { Class c = Class.forName(clazz); beanDef.getPropertyValues().addPropertyValue("clazz", c); } catch (Exception e) { throw new RuntimeException(e); } } String singleRow = element.getAttribute("singleRow"); if (StringUtils.isNotEmpty(singleRow)) { beanDef.getPropertyValues().addPropertyValue("singleRow", Boolean.parseBoolean(singleRow)); } String traces = element.getAttribute("traces"); if (StringUtils.isNotEmpty(traces)) { List<String> traceList = new ArrayList<String>(); for (String trace : traces.split(",")) { traceList.add(trace.trim()); } beanDef.getPropertyValues().addPropertyValue("traces", traceList); } beanDef.getPropertyValues().addPropertyValue("dplStatement", new RuntimeBeanReference(dplStatement)); beanDef.getPropertyValues().addPropertyValue("dpl", element.getTextContent().trim()); }
From source file:com.tacitknowledge.flip.spring.config.InterceptHandlerParser.java
@Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { XmlBeanFactory factory = new XmlBeanFactory( new ClassPathResource("com/tacitknowledge/flip/spring/context.xml")); BeanDefinitionBuilder beanBuilder = BeanDefinitionBuilder.rootBeanDefinition(FlipSpringAspect.class); String defaultUrlValue = element.getAttribute("default-url"); MutablePropertyValues propertyValues = new MutablePropertyValues(); propertyValues.addPropertyValue("defaultValue", defaultUrlValue); propertyValues.addPropertyValue(FlipSpringAspect.FEATURE_SERVICE_BEAN_NAME, new RuntimeBeanReference(FlipSpringAspect.FEATURE_SERVICE_BEAN_NAME)); beanBuilder.getRawBeanDefinition().setPropertyValues(propertyValues); for (String name : factory.getBeanDefinitionNames()) { parserContext.getRegistry().registerBeanDefinition(name, factory.getBeanDefinition(name)); }//from w ww .ja v a 2s . com parserContext.getRegistry().registerBeanDefinition(FlipSpringAspect.ASPECT_BEAN_NAME, beanBuilder.getBeanDefinition()); return null; }
From source file:org.springmodules.cache.config.AnnotationsParser.java
/** * Registers a <code>{@link AnnotationCachingAttributeSource}</code> and * adds it as a property of the caching interceptor. * //from ww w. j ava 2 s .co m * @param propertyValues * the set of properties of the caching interceptor * @param registry * the registry of bean definitions * * @see AbstractMetadataAttributesParser#configureCachingInterceptor(MutablePropertyValues, * BeanDefinitionRegistry) */ @Override protected void configureCachingInterceptor(MutablePropertyValues propertyValues, BeanDefinitionRegistry registry) { String beanName = AnnotationCachingAttributeSource.class.getName(); registry.registerBeanDefinition(beanName, new RootBeanDefinition(AnnotationCachingAttributeSource.class)); propertyValues.addPropertyValue("cachingAttributeSource", new RuntimeBeanReference(beanName)); }
From source file:com.bt.aloha.spring.BeanFactoryPostProcessorBase.java
protected void injectBeanIfDefined(ConfigurableListableBeanFactory beanFactory, String targetBeanName, String propertyName, Class<?> beanClassToInject) { String[] beanNamesForInjection = beanFactory.getBeanNamesForType(beanClassToInject); if (beanNamesForInjection != null && beanNamesForInjection.length > 0) { log.debug(String.format("Injecting bean %s into property %s of bean %s", beanClassToInject.getName(), propertyName, targetBeanName)); if (beanNamesForInjection.length > 1) log.debug(String.format("Multiple beans of type %s found, injecting only the first one into %s", beanClassToInject.getName(), targetBeanName)); PropertyValue propertyValue = new PropertyValue(propertyName, new RuntimeBeanReference(beanNamesForInjection[0])); BeanDefinition beanDefinition = beanFactory.getBeanDefinition(targetBeanName); beanDefinition.getPropertyValues().addPropertyValue(propertyValue); } else/*from www . j ava 2 s. c o m*/ log.info(String.format("Property %s not set for bean %s", propertyName, targetBeanName)); }
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 }//from www . j ava 2s .c om 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.springinpractice.ch14.kite.config.xml.GuardListAdviceParser.java
@Override protected void doParse(Element elem, BeanDefinitionBuilder builder) { builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); // If an advice is explicitly defined, then we're using the DefaultCircuitBreakerSource. RootBeanDefinition srcDef = new RootBeanDefinition(DefaultGuardListSource.class); srcDef.setSource(elem);/*w w w . j a v a 2s. c om*/ srcDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); srcDef.getPropertyValues().add("guards", new RuntimeBeanReference(elem.getAttribute("guards"))); builder.addPropertyValue("source", srcDef); }
From source file:org.zkybase.kite.config.xml.CircuitBreakerAdviceParser.java
@Override protected void doParse(Element elem, BeanDefinitionBuilder builder) { builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); // If an advice is explicitly defined, then we're using the // DefaultCircuitBreakerSource. RootBeanDefinition srcDef = new RootBeanDefinition(DefaultCircuitBreakerSource.class); srcDef.setSource(elem);/* w w w . ja v a 2s . c o m*/ srcDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); srcDef.getPropertyValues().add("breaker", new RuntimeBeanReference(elem.getAttribute("breaker"))); builder.addPropertyValue("circuitBreakerSource", srcDef); }
From source file:org.ff4j.spring.namespace.FF4JPlaceHolderBeanDefinitionParser.java
/** {@inheritDoc} */ public final BeanDefinition parse(Element element, ParserContext parserContext) { logger.debug("Initialization from <ff4j:" + TAG_PLACEHOLDER + "> TAG"); BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(); builder.getRawBeanDefinition().setBeanClass(FF4jPropertiesPlaceHolderConfigurer.class); builder.getRawBeanDefinition().setSource(parserContext.extractSource(element)); // Reference to FF4J bean RuntimeBeanReference refFF4j = new RuntimeBeanReference("ff4j"); builder.getBeanDefinition().getPropertyValues().addPropertyValue("id", BEANID_PLACEHOLDER_CONF); builder.getBeanDefinition().getPropertyValues().addPropertyValue("ff4j", refFF4j); builder.getBeanDefinition().getPropertyValues().addPropertyValue("order", 2); AbstractBeanDefinition def = builder.getBeanDefinition(); if (def != null && !parserContext.isNested()) { BeanDefinitionHolder holder = new BeanDefinitionHolder(def, BEANID_PLACEHOLDER, new String[0]); BeanDefinitionReaderUtils.registerBeanDefinition(holder, parserContext.getRegistry()); }/*from w ww . ja v a 2s . c om*/ return def; }
From source file:org.zkybase.kite.config.xml.ThrottleAdviceParser.java
@Override protected void doParse(Element elem, BeanDefinitionBuilder builder) { builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); // If an advice is explicitly defined, then we're using the // DefaultThrottleSource. RootBeanDefinition srcDef = new RootBeanDefinition(DefaultThrottleSource.class); srcDef.setSource(elem);//w w w . jav a2 s . c om srcDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); srcDef.getPropertyValues().add("throttle", new RuntimeBeanReference(elem.getAttribute("throttle"))); builder.addPropertyValue("throttleSource", srcDef); }
From source file:org.opencredo.esper.config.xml.EsperListenerParser.java
/** * Parses out a set of configured esper statement listeners. * /* w w w. j a v a2s .c om*/ * @param element * the esper listeners element * @param parserContext * the parser's current context * @return a list of configured esper statement listeners */ @SuppressWarnings("unchecked") public ManagedSet parseListeners(Element element, ParserContext parserContext) { ManagedSet listeners = new ManagedSet(); NodeList childNodes = element.getChildNodes(); for (int i = 0; i < childNodes.getLength(); i++) { Node child = childNodes.item(i); if (child.getNodeType() == Node.ELEMENT_NODE) { Element childElement = (Element) child; String localName = child.getLocalName(); if ("bean".equals(localName)) { BeanDefinitionHolder holder = parserContext.getDelegate() .parseBeanDefinitionElement(childElement); parserContext.registerBeanComponent(new BeanComponentDefinition(holder)); listeners.add(new RuntimeBeanReference(holder.getBeanName())); } else if ("ref".equals(localName)) { String ref = childElement.getAttribute("bean"); listeners.add(new RuntimeBeanReference(ref)); } } } return listeners; }