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"/>


Reply via email to