Author: davsclaus
Date: Tue Apr 17 13:59:04 2012
New Revision: 1327100
URL: http://svn.apache.org/viewvc?rev=1327100&view=rev
Log:
CAMEL-5168: Added Main class in camel-test-blueprint, to make it easier to run Camel Blueprint
out of container.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
camel/trunk/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/CamelBlueprintHelper.java
camel/trunk/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/Main.java
camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/MyMainAppTest.java
camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/filterTest.xml
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java?rev=1327100&r1=1327099&r2=1327100&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
(original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
Tue Apr 17 13:59:04 2012
@@ -792,13 +792,18 @@ public class DefaultManagementLifecycleS
LOG.trace("Checking whether to register {} from route: {}", service, route);
+ ManagementAgent agent = getManagementStrategy().getManagementAgent();
+ if (agent == null) {
+ // do not register if no agent
+ return false;
+ }
+
// always register if we are starting CamelContext
if (getCamelContext().getStatus().isStarting()) {
return true;
}
// register if always is enabled
- ManagementAgent agent = getManagementStrategy().getManagementAgent();
if (agent.getRegisterAlways()) {
return true;
}
Modified: camel/trunk/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/CamelBlueprintHelper.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/CamelBlueprintHelper.java?rev=1327100&r1=1327099&r2=1327100&view=diff
==============================================================================
--- camel/trunk/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/CamelBlueprintHelper.java
(original)
+++ camel/trunk/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/CamelBlueprintHelper.java
Tue Apr 17 13:59:04 2012
@@ -78,16 +78,22 @@ public final class CamelBlueprintHelper
// ensure pojosr stores bundles in an unique target directory
System.setProperty("org.osgi.framework.storage", "target/bundles/" + System.currentTimeMillis());
+
+ // get the bundles
List<BundleDescriptor> bundles = getBundleDescriptors();
- TinyBundle bundle = createTestBundle(name, descriptors);
- // add ourself as a bundle
- String jarName = name.toLowerCase();
- bundles.add(getBundleDescriptor("target/bundles/" + jarName + ".jar", bundle));
+ if (includeTestBundle) {
+ // add ourselves as a bundle
+ TinyBundle bundle = createTestBundle(name, descriptors);
+ String jarName = name.toLowerCase();
+ bundles.add(getBundleDescriptor("target/bundles/" + jarName + ".jar", bundle));
+ }
+ // setup pojosr to use our bundles
Map<String, List<BundleDescriptor>> config = new HashMap<String, List<BundleDescriptor>>();
config.put(PojoServiceRegistryFactory.BUNDLE_DESCRIPTORS, bundles);
+ // create pojorsr osgi service registry
PojoServiceRegistry reg = new PojoServiceRegistryFactoryImpl().newPojoServiceRegistry(config);
return reg.getBundleContext();
}
Modified: camel/trunk/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/Main.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/Main.java?rev=1327100&r1=1327099&r2=1327100&view=diff
==============================================================================
--- camel/trunk/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/Main.java
(original)
+++ camel/trunk/components/camel-test-blueprint/src/main/java/org/apache/camel/test/blueprint/Main.java
Tue Apr 17 13:59:04 2012
@@ -37,6 +37,7 @@ public class Main extends MainSupport {
private String descriptors = "OSGI-INF/blueprint/*.xml";
private CamelContext camelContext;
private String bundleName = "MyBundle";
+ private boolean includeSelfAsBundle;
public Main() {
@@ -110,7 +111,7 @@ public class Main extends MainSupport {
}
protected BundleContext createBundleContext(String name) throws Exception {
- return CamelBlueprintHelper.createBundleContext(name, descriptors, false);
+ return CamelBlueprintHelper.createBundleContext(name, descriptors, isIncludeSelfAsBundle());
}
@Override
@@ -142,4 +143,12 @@ public class Main extends MainSupport {
public void setBundleName(String bundleName) {
this.bundleName = bundleName;
}
+
+ public boolean isIncludeSelfAsBundle() {
+ return includeSelfAsBundle;
+ }
+
+ public void setIncludeSelfAsBundle(boolean includeSelfAsBundle) {
+ this.includeSelfAsBundle = includeSelfAsBundle;
+ }
}
Modified: camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/MyMainAppTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/MyMainAppTest.java?rev=1327100&r1=1327099&r2=1327100&view=diff
==============================================================================
--- camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/MyMainAppTest.java
(original)
+++ camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/MyMainAppTest.java
Tue Apr 17 13:59:04 2012
@@ -36,6 +36,8 @@ public class MyMainAppTest {
public void run() throws Exception {
Main main = new Main();
main.setBundleName("MyMainBundle");
+ // as we run this test without packing ourselves as bundle, then include ourselves
+ main.setIncludeSelfAsBundle(true);
// we support *.xml to find any blueprint xml files
main.setDescriptors("org/apache/camel/test/blueprint/xpath/*.xml");
main.enableHangupSupport();
Modified: camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/filterTest.xml
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/filterTest.xml?rev=1327100&r1=1327099&r2=1327100&view=diff
==============================================================================
--- camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/filterTest.xml
(original)
+++ camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/filterTest.xml
Tue Apr 17 13:59:04 2012
@@ -21,7 +21,7 @@
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
- <camelContext xmlns="http://camel.apache.org/schema/blueprint">
+ <camelContext id="filterCamel" xmlns="http://camel.apache.org/schema/blueprint">
<route>
<from uri="direct:start"/>
|