blob: e0d69927e2ed7d1eb13285ac1a8ee74b63daf927 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.apache.camel.component.xslt;
import javax.xml.transform.ErrorListener;
import javax.xml.transform.Source;
import javax.xml.transform.Templates;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.URIResolver;
import org.apache.camel.CamelContext;
import org.apache.camel.TestSupport;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.builder.xml.XsltBuilder;
import org.apache.camel.converter.jaxp.XmlConverter;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.impl.ProcessorEndpoint;
import org.apache.camel.util.jndi.JndiContext;
/**
* Unit test for testing reference parameters.
*/
public class XsltReferenceParameterTest extends TestSupport {
private static final String TEST_URI_1 =
"xslt:org/apache/camel/component/xslt/transform.xsl?converter=#testConverter&transformerFactory=#testTransformerFactory";
private static final String TEST_URI_2 =
"xslt:org/apache/camel/component/xslt/transform.xsl?converter=testConverter&transformerFactory=testTransformerFactory";
private TestConverter testConverter;
private TransformerFactory testTransformerFactory;
private XsltBuilder builder1;
private XsltBuilder builder2;
public void setUp() throws Exception {
JndiRegistry registry = new JndiRegistry(new JndiContext());
RouteBuilder builder = createRouteBuilder();
CamelContext context = new DefaultCamelContext(registry);
testConverter = new TestConverter();
testTransformerFactory = TransformerFactory.newInstance();
registry.bind("testConverter", testConverter);
registry.bind("testTransformerFactory", testTransformerFactory);
ProcessorEndpoint pep1 = (ProcessorEndpoint)context.getEndpoint(TEST_URI_1);
ProcessorEndpoint pep2 = (ProcessorEndpoint)context.getEndpoint(TEST_URI_2);
builder1 = (XsltBuilder)pep1.getProcessor();
builder2 = (XsltBuilder)pep2.getProcessor();
context.addRoutes(builder);
context.start();
}
public void testConverterReference() {
assertSame(testConverter, builder1.getConverter());
assertSame(testConverter, builder2.getConverter());
}
public void testTransformerFactoryReference() {
assertSame(testTransformerFactory, builder1.getConverter().getTransformerFactory());
assertSame(testTransformerFactory, builder2.getConverter().getTransformerFactory());
}
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
from("direct:a").to(TEST_URI_1);
from("direct:b").to(TEST_URI_2);
}
};
}
private static class TestConverter extends XmlConverter {
}
}