Author: davsclaus
Date: Fri Aug 6 07:39:49 2010
New Revision: 982899
URL: http://svn.apache.org/viewvc?rev=982899&view=rev
Log:
CAMEL-2752: Fixed CS.
Modified:
camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Modified:
camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java?rev=982899&r1=982898&r2=982899&view=diff
==============================================================================
---
camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
(original)
+++
camel/trunk/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
Fri Aug 6 07:39:49 2010
@@ -126,7 +126,6 @@ public abstract class AbstractCamelConte
if (ObjectHelper.isEmpty(getId())) {
throw new IllegalArgumentException("Id must be set");
}
-
if (getProperties() != null) {
getContext().setProperties(getProperties().asMap());
}
@@ -162,7 +161,11 @@ public abstract class AbstractCamelConte
LOG.info("Using custom Debugger: " + debugger);
getContext().setDebugger(debugger);
}
- lookupUuidGenerator();
+ UuidGenerator uuidGenerator = getBeanForType(UuidGenerator.class);
+ if (uuidGenerator != null) {
+ LOG.info("Using custom UuidGenerator: " + uuidGenerator);
+ getContext().setUuidGenerator(uuidGenerator);
+ }
// set the custom registry if defined
initCustomRegistry(getContext());
@@ -183,37 +186,31 @@ public abstract class AbstractCamelConte
LOG.info("Using custom Tracer: " + tracer);
getContext().addInterceptStrategy(tracer);
}
-
HandleFault handleFault = getBeanForType(HandleFault.class);
if (handleFault != null) {
LOG.info("Using custom HandleFault: " + handleFault);
getContext().addInterceptStrategy(handleFault);
}
-
Delayer delayer = getBeanForType(Delayer.class);
if (delayer != null) {
LOG.info("Using custom Delayer: " + delayer);
getContext().addInterceptStrategy(delayer);
}
-
InflightRepository inflightRepository =
getBeanForType(InflightRepository.class);
if (delayer != null) {
LOG.info("Using custom InflightRepository: " + inflightRepository);
getContext().setInflightRepository(inflightRepository);
}
-
ManagementStrategy managementStrategy =
getBeanForType(ManagementStrategy.class);
if (managementStrategy != null) {
LOG.info("Using custom ManagementStrategy: " + managementStrategy);
getContext().setManagementStrategy(managementStrategy);
}
-
EventFactory eventFactory = getBeanForType(EventFactory.class);
if (eventFactory != null) {
LOG.info("Using custom EventFactory: " + eventFactory);
getContext().getManagementStrategy().setEventFactory(eventFactory);
}
-
// set the event notifier strategies if defined
Map<String, EventNotifier> eventNotifiers =
getContext().getRegistry().lookupByType(EventNotifier.class);
if (eventNotifiers != null && !eventNotifiers.isEmpty()) {
@@ -226,13 +223,11 @@ public abstract class AbstractCamelConte
}
}
}
-
ShutdownStrategy shutdownStrategy =
getBeanForType(ShutdownStrategy.class);
if (shutdownStrategy != null) {
LOG.info("Using custom ShutdownStrategy: " + shutdownStrategy);
getContext().setShutdownStrategy(shutdownStrategy);
}
-
// add global interceptors
Map<String, InterceptStrategy> interceptStrategies =
getContext().getRegistry().lookupByType(InterceptStrategy.class);
if (interceptStrategies != null && !interceptStrategies.isEmpty()) {
@@ -245,7 +240,6 @@ public abstract class AbstractCamelConte
}
}
}
-
// set the lifecycle strategy if defined
Map<String, LifecycleStrategy> lifecycleStrategies =
getContext().getRegistry().lookupByType(LifecycleStrategy.class);
if (lifecycleStrategies != null && !lifecycleStrategies.isEmpty()) {
@@ -265,6 +259,7 @@ public abstract class AbstractCamelConte
// Set the application context and camelContext for the
beanPostProcessor
initBeanPostProcessor(getContext());
+ // init camel context
initCamelContext(getContext());
// must init route refs before we prepare the routes below
@@ -273,6 +268,24 @@ public abstract class AbstractCamelConte
// do special preparation for some concepts such as interceptors and
policies
// this is needed as JAXB does not build exactly the same model
definition as Spring DSL would do
// using route builders. So we have here a little custom code to fix
the JAXB gaps
+ prepareRoutes();
+
+ // and add the routes
+ getContext().addRouteDefinitions(getRoutes());
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Found JAXB created routes: " + getRoutes());
+ }
+ findRouteBuilders();
+ installRoutes();
+ }
+
+ /**
+ * Do special preparation for some concepts such as interceptors and
policies
+ * this is needed as JAXB does not build exactly the same model definition
as Spring DSL would do
+ * using route builders. So we have here a little custom code to fix the
JAXB gaps
+ */
+ private void prepareRoutes() {
for (RouteDefinition route : getRoutes()) {
// at first init the parent
@@ -306,29 +319,6 @@ public abstract class AbstractCamelConte
// mark as custom prepared
route.customPrepared();
}
-
- if (getDataFormats() != null) {
- getContext().setDataFormats(getDataFormats().asMap());
- }
-
- // lets force any lazy creation
- getContext().addRouteDefinitions(getRoutes());
-
- if (LOG.isDebugEnabled()) {
- LOG.debug("Found JAXB created routes: " + getRoutes());
- }
- findRouteBuilders();
- installRoutes();
- }
-
- // TODO: workaround for source check failure in the afterPropertiesSet()
method:
- // Executable statement count is 101 (max allowed is 100)
- private void lookupUuidGenerator() {
- UuidGenerator uuidGenerator = getBeanForType(UuidGenerator.class);
- if (uuidGenerator != null) {
- LOG.info("Using custom UuidGenerator: " + uuidGenerator);
- getContext().setUuidGenerator(uuidGenerator);
- }
}
protected abstract void initCustomRegistry(T context);
@@ -679,6 +669,9 @@ public abstract class AbstractCamelConte
if (getShutdownRunningTask() != null) {
ctx.setShutdownRunningTask(getShutdownRunningTask());
}
+ if (getDataFormats() != null) {
+ ctx.setDataFormats(getDataFormats().asMap());
+ }
}
private void initThreadPoolProfiles(T context) {