Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2002-2010 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.springframework.integration.xml.config;
 
 import java.util.List;
 import java.util.Map;
 
 

Author(s):
Jonas Partner
Mark Fisher
Oleg Zhurakousky
 
 
 	protected String getTransformerClassName() {
 		return "org.springframework.integration.xml.transformer.XsltPayloadTransformer";
 	}
 
 	protected void parseTransformer(Element elementParserContext parserContextBeanDefinitionBuilder builder) {
 		String xslResource = element.getAttribute("xsl-resource");
 		String xslTemplates = element.getAttribute("xsl-templates");
 		String resultTransformer = element.getAttribute("result-transformer");
 		String resultFactory = element.getAttribute("result-factory");
 		String resultType = element.getAttribute("result-type");
 		IntegrationNamespaceUtils.setValueIfAttributeDefined(builderelement"xslt-param-headers");
 		Assert.isTrue(StringUtils.hasText(xslResource) ^ StringUtils.hasText(xslTemplates),
 				"Exactly one of 'xsl-resource' or 'xsl-templates' is required.");
 		if (StringUtils.hasText(xslResource)) {
 			builder.addConstructorArgValue(xslResource);
 		}
 		else if (StringUtils.hasText(xslTemplates)) {
 			builder.addConstructorArgReference(xslTemplates);
 		}
 		XmlNamespaceUtils.configureResultFactory(builderresultTyperesultFactory);
         boolean resultFactorySpecified = StringUtils.hasText(resultFactory) || StringUtils.hasText(resultType);
         if(resultFactorySpecified){
             builder.addPropertyValue("alwaysUseResultFactory"true);
         }
 		if (StringUtils.hasText(resultTransformer)) {
 			builder.addConstructorArgReference(resultTransformer);
 		}
 		List<ElementxslParameterElements = DomUtils.getChildElementsByTagName(element"xslt-param");
 		if (!CollectionUtils.isEmpty(xslParameterElements)) {
 			Map<StringObjectxslParameterMappings = new ManagedMap<StringObject>();
 			for (Element xslParameterElement : xslParameterElements) {
 				String name = xslParameterElement.getAttribute("name");
 				String expression = xslParameterElement.getAttribute("expression");
 				String value = xslParameterElement.getAttribute("value");
 				Assert.isTrue(StringUtils.hasText(expression) ^ StringUtils.hasText(value),
 							"Exactly one of 'expression' or 'value' is required.");
 				RootBeanDefinition expressionDef = null;
 				if (StringUtils.hasText(value)) {
 					expressionDef = new RootBeanDefinition("org.springframework.expression.common.LiteralExpression");
 				}
 				else if (StringUtils.hasText(expression)) {
 					expressionDef = new RootBeanDefinition("org.springframework.integration.config.ExpressionFactoryBean");
 				}
 				if (expressionDef != null) {
 					xslParameterMappings.put(nameexpressionDef);
 				}
 			}
 			builder.addPropertyValue("xslParameterMappings"xslParameterMappings);
 		}
 
        IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builderelement"source-factory");
 
 	}
 
New to GrepCode? Check out our FAQ X