You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/02/26 15:08:03 UTC
svn commit: r1074849 - in /camel/trunk/components/camel-spring/src:
main/java/org/apache/camel/spring/ main/java/org/apache/camel/spring/handler/
test/resources/org/apache/camel/spring/
test/resources/org/apache/camel/spring/config/scan/ test/resources...
Author: davsclaus
Date: Sat Feb 26 14:08:03 2011
New Revision: 1074849
URL: http://svn.apache.org/viewvc?rev=1074849&view=rev
Log:
CAMEL-3724: Removed <beanPostProcessor> from Spring XML as it had no use for end user.
Modified:
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/scan/explicitlyDefinedRouteExclusion.xml
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/example/pojoSender.xml
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/injectedBean.xml
Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java?rev=1074849&r1=1074848&r2=1074849&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java Sat Feb 26 14:08:03 2011
@@ -115,7 +115,6 @@ public class CamelContextFactoryBean ext
@XmlElement(name = "jmxAgent", type = CamelJMXAgentDefinition.class, required = false)
private CamelJMXAgentDefinition camelJMXAgent;
@XmlElements({
- @XmlElement(name = "beanPostProcessor", type = CamelBeanPostProcessor.class, required = false),
@XmlElement(name = "template", type = CamelProducerTemplateFactoryBean.class, required = false),
@XmlElement(name = "consumerTemplate", type = CamelConsumerTemplateFactoryBean.class, required = false),
@XmlElement(name = "proxy", type = CamelProxyFactoryDefinition.class, required = false),
Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java?rev=1074849&r1=1074848&r2=1074849&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java Sat Feb 26 14:08:03 2011
@@ -148,17 +148,6 @@ public class CamelNamespaceHandler exten
parserMap.put(elementName, parser);
}
- protected void createBeanPostProcessor(ParserContext parserContext, String contextId, Element childElement, BeanDefinitionBuilder parentBuilder) {
- String beanPostProcessorId = contextId + ":beanPostProcessor";
- childElement.setAttribute("id", beanPostProcessorId);
- BeanDefinition definition = beanPostProcessorParser.parse(childElement, parserContext);
- // only register to camel context id as a String. Then we can look it up later
- // otherwise we get a circular reference in spring and it will not allow custom bean post processing
- // see more at CAMEL-1663
- definition.getPropertyValues().addPropertyValue("camelId", contextId);
- parentBuilder.addPropertyReference("beanPostProcessor", beanPostProcessorId);
- }
-
protected void registerParser(String name, org.springframework.beans.factory.xml.BeanDefinitionParser parser) {
parserElementNames.add(name);
registerBeanDefinitionParser(name, parser);
@@ -290,7 +279,6 @@ public class CamelNamespaceHandler exten
addDependsOn(factoryBean, builder);
}
- boolean createdBeanPostProcessor = false;
NodeList list = element.getChildNodes();
int size = list.getLength();
for (int i = 0; i < size; i++) {
@@ -298,10 +286,7 @@ public class CamelNamespaceHandler exten
if (child instanceof Element) {
Element childElement = (Element) child;
String localName = child.getLocalName();
- if (localName.equals("beanPostProcessor")) {
- createBeanPostProcessor(parserContext, contextId, childElement, builder);
- createdBeanPostProcessor = true;
- } else if (localName.equals("endpoint")) {
+ if (localName.equals("endpoint")) {
registerEndpoint(childElement, parserContext, contextId);
} else if (localName.equals("routeBuilder")) {
addDependsOnToRouteBuilder(childElement, parserContext, contextId);
@@ -332,12 +317,10 @@ public class CamelNamespaceHandler exten
// lets inject the namespaces into any namespace aware POJOs
injectNamespaces(element, binder);
- if (!createdBeanPostProcessor) {
- // no bean processor element so lets create it by our self
- Element childElement = element.getOwnerDocument().createElement("beanPostProcessor");
- element.appendChild(childElement);
- createBeanPostProcessor(parserContext, contextId, childElement, builder);
- }
+
+ // inject bean post processor so we can support @Produce etc.
+ // no bean processor element so lets create it by our self
+ injectBeanPostProcessor(element, parserContext, contextId, builder);
}
}
@@ -406,6 +389,20 @@ public class CamelNamespaceHandler exten
}
}
+ protected void injectBeanPostProcessor(Element element, ParserContext parserContext, String contextId, BeanDefinitionBuilder builder) {
+ Element childElement = element.getOwnerDocument().createElement("beanPostProcessor");
+ element.appendChild(childElement);
+
+ String beanPostProcessorId = contextId + ":beanPostProcessor";
+ childElement.setAttribute("id", beanPostProcessorId);
+ BeanDefinition definition = beanPostProcessorParser.parse(childElement, parserContext);
+ // only register to camel context id as a String. Then we can look it up later
+ // otherwise we get a circular reference in spring and it will not allow custom bean post processing
+ // see more at CAMEL-1663
+ definition.getPropertyValues().addPropertyValue("camelId", contextId);
+ builder.addPropertyReference("beanPostProcessor", beanPostProcessorId);
+ }
+
/**
* Used for auto registering endpoints from the <tt>from</tt> or <tt>to</tt> DSL if they have an id attribute set
*/
Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/scan/explicitlyDefinedRouteExclusion.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/scan/explicitlyDefinedRouteExclusion.xml?rev=1074849&r1=1074848&r2=1074849&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/scan/explicitlyDefinedRouteExclusion.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/scan/explicitlyDefinedRouteExclusion.xml Sat Feb 26 14:08:03 2011
@@ -26,7 +26,6 @@
http://www.springframework.org/schema/context/spring-context.xsd">
<camelContext xmlns="http://camel.apache.org/schema/spring">
- <beanPostProcessor />
<endpoint id="start" uri="direct:start"/>
<endpoint id="result" uri="mock:end"/>
</camelContext>
@@ -34,7 +33,6 @@
<bean id="explicitlyDefinedRoute" class="org.apache.camel.spring.config.scan.route.MyRouteBuilder" autowire="byType" />
<bean id="explicitlyDefinedButExcludedRoute" class="org.apache.camel.spring.config.unscanned.MyExplicitlyDefinedButExcludedRouteBuilder" />
- <context:component-scan
- base-package="org.apache.camel.spring.config.scan.component" />
+ <context:component-scan base-package="org.apache.camel.spring.config.scan.component" />
</beans>
Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/example/pojoSender.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/example/pojoSender.xml?rev=1074849&r1=1074848&r2=1074849&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/example/pojoSender.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/example/pojoSender.xml Sat Feb 26 14:08:03 2011
@@ -23,9 +23,7 @@
">
<!-- START SNIPPET: example -->
- <camelContext xmlns="http://camel.apache.org/schema/spring">
- <beanPostProcessor/>
- </camelContext>
+ <camelContext xmlns="http://camel.apache.org/schema/spring"/>
<!-- END SNIPPET: example -->
<bean id="mySender" class="org.apache.camel.spring.example.MySender"/>
Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/injectedBean.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/injectedBean.xml?rev=1074849&r1=1074848&r2=1074849&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/injectedBean.xml (original)
+++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/injectedBean.xml Sat Feb 26 14:08:03 2011
@@ -23,7 +23,6 @@
">
<camelContext xmlns="http://camel.apache.org/schema/spring">
- <beanPostProcessor/>
<endpoint id="namedEndpoint1" uri="direct:namedEndpoint1"/>
<endpoint id="injectByFieldName" uri="direct:injectByFieldName"/>
<endpoint id="injectByPropertyName" uri="direct:injectByPropertyName"/>