private void parseJob(Element stepElement, Element jobElement, AbstractBeanDefinition bd, ParserContext parserContext, boolean stepUnderspecified) { bd.setBeanClass(StepParserStepFactoryBean.class); bd.setAttribute("isNamespaceStep", true); String jobRef = jobElement.getAttribute(REF_ATTR); if (!StringUtils.hasText(jobRef)) { parserContext.getReaderContext().error("You must specify a job", jobElement); return; } MutablePropertyValues propertyValues = bd.getPropertyValues(); propertyValues.addPropertyValue("job", new RuntimeBeanReference(jobRef)); String jobParametersExtractor = jobElement.getAttribute(JOB_PARAMS_EXTRACTOR_ATTR); String jobLauncher = jobElement.getAttribute(JOB_LAUNCHER_ATTR); if (StringUtils.hasText(jobParametersExtractor)) { propertyValues.addPropertyValue("jobParametersExtractor", new RuntimeBeanReference(jobParametersExtractor)); } if (StringUtils.hasText(jobLauncher)) { propertyValues.addPropertyValue("jobLauncher", new RuntimeBeanReference(jobLauncher)); } }
AbstractBeanDefinition beanDef = entry.getValue(); beanDef.setAttribute(AutoProxyUtils.PRESERVE_TARGET_CLASS_ATTRIBUTE, Boolean.TRUE); try {
private void parseFlow(Element stepElement, Element flowElement, AbstractBeanDefinition bd, ParserContext parserContext, boolean stepUnderspecified) { bd.setBeanClass(StepParserStepFactoryBean.class); bd.setAttribute("isNamespaceStep", true); String flowRef = flowElement.getAttribute(PARENT_ATTR); String idAttribute = stepElement.getAttribute(ID_ATTR); BeanDefinition flowDefinition = new GenericBeanDefinition(); flowDefinition.setParentName(flowRef); MutablePropertyValues propertyValues = flowDefinition.getPropertyValues(); if (StringUtils.hasText(idAttribute)) { propertyValues.addPropertyValue("name", idAttribute); } bd.getPropertyValues().addPropertyValue("flow", flowDefinition); }
/** * @param element the top level element containing a flow definition * @param parserContext the {@link ParserContext} */ @Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { CoreNamespaceUtils.autoregisterBeansForNamespace(parserContext, element); String flowName = element.getAttribute(ID_ATTR); builder.getRawBeanDefinition().setAttribute("flowName", flowName); builder.addPropertyValue("name", flowName); builder.addPropertyValue("stateTransitionComparator", new RuntimeBeanReference(DefaultStateTransitionComparator.STATE_TRANSITION_COMPARATOR)); String abstractAttr = element.getAttribute(ABSTRACT_ATTR); if (StringUtils.hasText(abstractAttr)) { builder.setAbstract(abstractAttr.equals("true")); } super.doParse(element, parserContext, builder); }
private Collection<BeanDefinition> parseFlow(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { String idAttribute = element.getAttribute(ID_ATTRIBUTE); BeanDefinitionBuilder stateBuilder = BeanDefinitionBuilder .genericBeanDefinition("org.springframework.batch.core.job.flow.support.state.FlowState"); FlowParser flowParser = new FlowParser(idAttribute, jobFactoryRef); stateBuilder.addConstructorArgValue(flowParser.parse(element, parserContext)); stateBuilder.addConstructorArgValue(idAttribute); builder.getRawBeanDefinition().setAttribute("flowName", idAttribute); builder.addPropertyValue("name", idAttribute); doParse(element, parserContext, builder); builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); return FlowParser.getNextElements(parserContext, null, stateBuilder.getBeanDefinition(), element); }
/** * @param element the top level element containing a flow definition * @param parserContext the {@link ParserContext} */ @Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { builder.getRawBeanDefinition().setAttribute("flowName", flowName); builder.addPropertyValue("name", flowName); builder.addPropertyValue("stateTransitionComparator", new RuntimeBeanReference(DefaultStateTransitionComparator.STATE_TRANSITION_COMPARATOR)); super.doParse(element, parserContext, builder); builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); parserContext.popAndRegisterContainingComponent(); } }
AbstractBeanDefinition beanDef = entry.getValue(); beanDef.setAttribute(AutoProxyUtils.PRESERVE_TARGET_CLASS_ATTRIBUTE, Boolean.TRUE); try {
public void parseBatchlet(Element batchletElement, AbstractBeanDefinition bd, ParserContext parserContext, String stepName) { bd.setBeanClass(StepFactoryBean.class); bd.setAttribute("isNamespaceStep", false); String taskletRef = batchletElement.getAttribute(REF); if (StringUtils.hasText(taskletRef)) { bd.getPropertyValues().addPropertyValue("stepTasklet", new RuntimeBeanReference(taskletRef)); } bd.setRole(BeanDefinition.ROLE_SUPPORT); bd.setSource(parserContext.extractSource(batchletElement)); new PropertyParser(taskletRef, parserContext, BatchArtifactType.STEP_ARTIFACT, stepName).parseProperties(batchletElement); } }
@Override protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { builder.getRawBeanDefinition().setAttribute("flowName", flowName); builder.addPropertyValue("name", flowName); builder.addPropertyValue("flowType", JsrFlow.class);
public void parse(Element element, AbstractBeanDefinition bd, ParserContext parserContext, String stepName) { MutablePropertyValues propertyValues = bd.getPropertyValues(); bd.setBeanClass(StepFactoryBean.class); bd.setAttribute("isNamespaceStep", false);
private void parsePartition(Element stepElement, Element partitionElement, AbstractBeanDefinition bd, ParserContext parserContext, boolean stepUnderspecified, String jobFactoryRef ) { bd.setAttribute("isNamespaceStep", true); String stepRef = partitionElement.getAttribute(STEP_ATTR); String partitionerRef = partitionElement.getAttribute(PARTITIONER_ATTR);
public Collection<BeanDefinition> parse(Element element, ParserContext parserContext, String jobFactoryRef) { BeanDefinitionBuilder factoryBuilder = BeanDefinitionBuilder.genericBeanDefinition(); AbstractBeanDefinition factoryDefinition = factoryBuilder.getRawBeanDefinition(); factoryDefinition.setBeanClass(DecisionStepFactoryBean.class); BeanDefinitionBuilder stateBuilder = BeanDefinitionBuilder.genericBeanDefinition(JsrStepState.class); String idAttribute = element.getAttribute(ID_ATTRIBUTE); parserContext.registerBeanComponent(new BeanComponentDefinition(factoryDefinition, idAttribute)); stateBuilder.addConstructorArgReference(idAttribute); String refAttribute = element.getAttribute(REF_ATTRIBUTE); factoryDefinition.getPropertyValues().add("decider", new RuntimeBeanReference(refAttribute)); factoryDefinition.getPropertyValues().add("name", idAttribute); if(StringUtils.hasText(jobFactoryRef)) { factoryDefinition.setAttribute("jobParserJobFactoryBeanRef", jobFactoryRef); } new PropertyParser(refAttribute, parserContext, BatchArtifactType.STEP_ARTIFACT, idAttribute).parseProperties(element); return FlowParser.getNextElements(parserContext, stateBuilder.getBeanDefinition(), element); } }
bd.setAttribute("isNamespaceStep", true);
beanDefinition.getBeanDefinition().setAttribute(GroovyBeanDefinitionWrapper.class.getName(), beanDefinition); getRegistry().registerBeanDefinition(beanName, beanDefinition.getBeanDefinition()); return beanDefinition;
bd.setAttribute("isNamespaceStep", true); builder.addPropertyValue("tasklet", value); bd.setAttribute("jobParserJobFactoryBeanRef", jobFactoryRef);
beanDefinition.getBeanDefinition().setAttribute(GroovyBeanDefinitionWrapper.class.getName(), beanDefinition); getRegistry().registerBeanDefinition(beanName, beanDefinition.getBeanDefinition()); return beanDefinition;
@Override protected String resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext) throws BeanDefinitionStoreException { String id = super.resolveId(element, definition, parserContext); BeanDefinition containingBeanDefinition = parserContext.getContainingBeanDefinition(); if (containingBeanDefinition != null) { String nestedChainIdPrefix = (String) containingBeanDefinition.getAttribute(SI_CHAIN_NESTED_ID_ATTRIBUTE); if (StringUtils.hasText(nestedChainIdPrefix)) { id = nestedChainIdPrefix + "$child." + id; } } definition.setAttribute(SI_CHAIN_NESTED_ID_ATTRIBUTE, id); return id; }
private void setBaseProperties(AbstractBeanDefinition definition) { definition.setAbstract(true); definition.setAttribute("foo", "bar"); definition.setAutowireCandidate(false); definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_BY_TYPE); // definition.getConstructorArgumentValues().addGenericArgumentValue("foo"); definition.setDependencyCheck(AbstractBeanDefinition.DEPENDENCY_CHECK_OBJECTS); definition.setDependsOn(new String[] { "foo", "bar" }); definition.setDestroyMethodName("destroy"); definition.setEnforceDestroyMethod(false); definition.setEnforceInitMethod(true); definition.setFactoryBeanName("factoryBean"); definition.setFactoryMethodName("factoryMethod"); definition.setInitMethodName("init"); definition.setLazyInit(true); definition.getMethodOverrides().addOverride(new LookupOverride("foo", "bar")); definition.getMethodOverrides().addOverride(new ReplaceOverride("foo", "bar")); definition.getPropertyValues().add("foo", "bar"); definition.setResourceDescription("desc"); definition.setRole(BeanDefinition.ROLE_APPLICATION); definition.setScope(BeanDefinition.SCOPE_PROTOTYPE); definition.setSource("foo"); }
IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "discard-channel"); AbstractBeanDefinition interceptorBeanDefinition = builder.getBeanDefinition(); interceptorBeanDefinition.setAttribute( IdempotentReceiverAutoProxyCreatorInitializer.IDEMPOTENT_ENDPOINTS_MAPPING, endpoints);
public void registerApplicationInstanceBean(BeanDefinitionRegistry registry) { initializeCloud(registry); BeanDefinitionBuilder definitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(ApplicationInstanceInfoWrapper.class); definitionBuilder.addConstructorArgValue(cloud); definitionBuilder.getRawBeanDefinition().setAttribute( "factoryBeanObjectType", ApplicationInstanceInfo.class); registry.registerBeanDefinition("spring.cloud.appplicationInstanceInfo", definitionBuilder.getBeanDefinition()); }