List of usage examples for org.springframework.beans.factory.parsing BeanComponentDefinition BeanComponentDefinition
public BeanComponentDefinition(BeanDefinition beanDefinition, String beanName)
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
/** * @param element/*from ww w.j a v a2s .c om*/ * @param parserContext */ protected void preparePlaceholderConfigurer(Element element, ParserContext parserContext) { Element placeholderElement = selectSingleChildElement(element, "property-placeholder", true); if (placeholderElement != null) { String id = element.getAttribute("id"); String name = getName(element); String prefix = placeholderElement.getAttribute("prefix"); String suffix = placeholderElement.getAttribute("suffix"); BeanDefinitionBuilder placeholderConfigurer = BeanDefinitionBuilder .genericBeanDefinition(ConfigurationPlaceholderConfigurer.class); placeholderConfigurer.addConstructorArgReference(id); if (!StringUtils.hasText(prefix)) { prefix = "$" + name + "{"; } if (!StringUtils.hasText(suffix)) { suffix = "}"; } BeanDefinitionBuilder placeholderParser = BeanDefinitionBuilder .genericBeanDefinition(DefaultPlaceholderParser.class); placeholderParser.addConstructorArgValue(prefix); placeholderParser.addConstructorArgValue(suffix); placeholderConfigurer.addPropertyValue("placeholderParser", placeholderParser.getBeanDefinition()); parserContext.registerBeanComponent(new BeanComponentDefinition( placeholderConfigurer.getBeanDefinition(), id + "-placeholderConfigurer")); } }
From source file:org.springjutsu.validation.namespace.ValidationConfigurationDefinitionParser.java
private String registerInfrastructureBean(ParserContext context, BeanDefinitionBuilder componentBuilder) { BeanDefinition definition = componentBuilder.getBeanDefinition(); String entityName = context.getReaderContext().registerWithGeneratedName(definition); context.registerComponent(new BeanComponentDefinition(definition, entityName)); return entityName; }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
/** * @param element/*from w ww . j ava 2 s.co m*/ * @param parserContext */ protected void prepareLoader(Element element, ParserContext parserContext, Engine engine) { String loaderReference = getLoaderReference(element); BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(engine.getLoaderClassName()); switch (engine) { case XMLBEANS: prepareXmlBeans(element, parserContext, builder); break; case DOM: prepareDOM(element, parserContext, builder); break; case JAXB: prepareJAXB(element, parserContext, builder); break; case JSON: prepareJson(element, builder); break; case PROPS: // No extra handling for properties break; default: // No special requirements break; } AbstractBeanDefinition beanDefinition = builder.getBeanDefinition(); parserContext.registerBeanComponent(new BeanComponentDefinition(beanDefinition, loaderReference)); }
From source file:org.jdal.beans.DefaultsBeanDefinitionParser.java
/** * Register default TablePanel Actions//from w ww . j a v a2 s . c om * @param element current element * @param parserContext parserContext * @return a new ComponentDefinition with default table action list. */ private ComponentDefinition registerDefaultTableActions(Element element, ParserContext parserContext) { ManagedList<Object> actions = new ManagedList<Object>(7); actions.add(createBeanDefinition(AddAction.class, parserContext)); actions.add(createBeanDefinition(SelectAllAction.class, parserContext)); actions.add(createBeanDefinition(DeselectAllAction.class, parserContext)); actions.add(createBeanDefinition(RemoveAllAction.class, parserContext)); actions.add(createBeanDefinition(HideShowFilterAction.class, parserContext)); actions.add(createBeanDefinition(ApplyFilterAction.class, parserContext)); actions.add(createBeanDefinition(ClearFilterAction.class, parserContext)); BeanDefinitionBuilder bdb = BeanDefinitionBuilder.genericBeanDefinition(ListFactoryBean.class); bdb.getRawBeanDefinition().setSource(parserContext.extractSource(element)); bdb.addPropertyValue("sourceList", actions); bdb.setScope(BeanDefinition.SCOPE_PROTOTYPE); BeanComponentDefinition bcd = new BeanComponentDefinition(bdb.getBeanDefinition(), DEFAULT_TABLE_ACTIONS); registerBeanComponentDefinition(element, parserContext, bcd); return bcd; }
From source file:org.synyx.hades.dao.config.DaoConfigDefinitionParser.java
/** * Registers a possibly available custom DAO implementation on the DAO bean. * Tries to find an already registered bean to reference or tries to detect * a custom implementation itself.//from w w w .ja va 2 s .c om * * @param context * @param parserContext * @param source * @return the bean name of the custom implementation or {@code null} if * none available */ private String registerCustomImplementation(final DaoContext context, final ParserContext parserContext, final Object source) { String beanName = context.getImplementationBeanName(); // Already a bean configured? if (parserContext.getRegistry().containsBeanDefinition(beanName)) { return beanName; } // Autodetect implementation if (context.autodetectCustomImplementation()) { AbstractBeanDefinition beanDefinition = detectCustomImplementation(context, parserContext); if (null == beanDefinition) { return null; } LOG.debug("Registering custom DAO implementation: {} {}", context.getImplementationBeanName(), beanDefinition.getBeanClassName()); beanDefinition.setSource(source); parserContext.registerBeanComponent(new BeanComponentDefinition(beanDefinition, beanName)); } else { beanName = context.getCustomImplementationRef(); } return beanName; }
From source file:org.jdal.beans.DefaultsBeanDefinitionParser.java
/** * @param element// w ww .j a v a2s. c o m * @param parserContext * @return */ private ComponentDefinition registerDefaultGuiFactory(Element element, ParserContext parserContext) { BeanDefinitionBuilder bdb = BeanDefinitionBuilder.genericBeanDefinition(ApplicationContextGuiFactory.class); BeanComponentDefinition bcd = new BeanComponentDefinition(bdb.getBeanDefinition(), DEFAULT_GUI_FACTORY); registerBeanComponentDefinition(element, parserContext, bcd); return bcd; }
From source file:org.jdal.beans.DefaultsBeanDefinitionParser.java
/** * @param element/*ww w . j a va2s . c o m*/ * @param parserContext * @return */ @SuppressWarnings("unused") private ComponentDefinition registerControlInitializer(Element element, ParserContext parserContext) { BeanDefinitionBuilder bdb = BeanDefinitionBuilder.genericBeanDefinition(AnnotationControlInitializer.class); bdb.addPropertyReference(PERSISTENT_SERVICE, PERSISTENT_SERVICE); BeanComponentDefinition bcd = new BeanComponentDefinition(bdb.getBeanDefinition(), CONTROL_INITIALIZER); registerBeanComponentDefinition(element, parserContext, bcd); return bcd; }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
/** * @param element/*from ww w .j ava 2s. co m*/ * @return */ protected void prepareNamespaces(Element element, ParserContext parserContext) { String id = element.getAttribute("id"); this.namespacesId = id + "-Namespaces"; List<Element> namespaceElements = selectChildElements(element, "namespace"); ManagedArray array = new ManagedArray(String.class.getName(), namespaceElements.size() * 2); for (Element namespaceElement : namespaceElements) { array.add(namespaceElement.getAttribute("prefix")); array.add(namespaceElement.getAttribute("uri")); } BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(DefaultNamespaceContext.class); builder.addConstructorArgValue(array); parserContext .registerBeanComponent(new BeanComponentDefinition(builder.getBeanDefinition(), this.namespacesId)); }
From source file:org.brekka.stillingar.spring.config.ConfigurationServiceBeanDefinitionParser.java
protected void prepareReloadMechanism(Element element, ParserContext parserContext) { String id = element.getAttribute("id"); String reloadIntervalStr = element.getAttribute("reload-interval"); if (StringUtils.hasLength(reloadIntervalStr)) { int reloadInterval = 0; try {//from w w w.ja v a 2 s .c om reloadInterval = Integer.valueOf(reloadIntervalStr); } catch (NumberFormatException e) { throw new IllegalArgumentException("The attribute reload-interval is invalid", e); } if (reloadInterval >= MINIMUM_RELOAD_INTERVAL) { // Update task BeanDefinitionBuilder updateTask = BeanDefinitionBuilder .genericBeanDefinition(ConfigurationSnapshotRefresher.class); updateTask.addConstructorArgReference(id); // Scheduled executor BeanDefinitionBuilder scheduledExecutorTask = BeanDefinitionBuilder .genericBeanDefinition(ScheduledExecutorTask.class); scheduledExecutorTask.addConstructorArgValue(updateTask.getBeanDefinition()); if (watchableAvailable) { /* * The WatchedResourceMonitor is blocking with a timeout of reloadInterval. Must set a period, choose * an interval of 1s. */ scheduledExecutorTask.addPropertyValue("period", 1000); scheduledExecutorTask.addPropertyValue("delay", 1000); } else { scheduledExecutorTask.addPropertyValue("period", reloadInterval); scheduledExecutorTask.addPropertyValue("delay", reloadInterval); } ManagedList<Object> taskList = new ManagedList<Object>(); taskList.add(scheduledExecutorTask.getBeanDefinition()); // Scheduler factory bean BeanDefinitionBuilder scheduledExecutorFactoryBean = BeanDefinitionBuilder .genericBeanDefinition(ScheduledExecutorFactoryBean.class); scheduledExecutorFactoryBean.addPropertyValue("scheduledExecutorTasks", taskList); scheduledExecutorFactoryBean.addPropertyValue("threadNamePrefix", id + "-reloader"); scheduledExecutorFactoryBean.addPropertyValue("daemon", Boolean.TRUE); parserContext.registerBeanComponent(new BeanComponentDefinition( scheduledExecutorFactoryBean.getBeanDefinition(), id + "-Scheduler")); } } }
From source file:com.cloudseal.spring.client.namespace.CloudSealBeanDefinitionParserInstance.java
private BeanDefinition registerBean(BeanDefinition bean, String beanID) { LOGGER.debug("Registering a {} class bean as {}...", bean.getBeanClassName(), beanID); parserContext.registerBeanComponent(new BeanComponentDefinition(bean, beanID)); return bean;/*from www.ja va 2s.c om*/ }