Repository: camel
Updated Branches:
  refs/heads/master 01f08a626 -> 87c9a9da4


CAMEL-7644: Make using Main easier to get the CamelContext before its started, 
which we need for Scala users.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c0db627b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c0db627b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c0db627b

Branch: refs/heads/master
Commit: c0db627b8fc360848259875647397242407fddad
Parents: 01f08a6
Author: Claus Ibsen <davscl...@apache.org>
Authored: Tue Mar 3 10:40:12 2015 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue Mar 3 10:40:12 2015 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/camel/main/Main.java   | 16 ++++++++++++++--
 .../java/org/apache/camel/main/MainSupport.java     |  1 -
 2 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c0db627b/camel-core/src/main/java/org/apache/camel/main/Main.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/main/Main.java 
b/camel-core/src/main/java/org/apache/camel/main/Main.java
index e674c18..a7871cd 100644
--- a/camel-core/src/main/java/org/apache/camel/main/Main.java
+++ b/camel-core/src/main/java/org/apache/camel/main/Main.java
@@ -18,7 +18,6 @@ package org.apache.camel.main;
 
 import java.util.HashMap;
 import java.util.Map;
-
 import javax.xml.bind.JAXBException;
 
 import org.apache.camel.CamelContext;
@@ -99,7 +98,20 @@ public class Main extends MainSupport {
      */
     public <T> Map<String, T> lookupByType(Class<T> type) {
         return registry.findByTypeWithName(type);
-    }    
+    }
+
+    /**
+     * Gets or creates the {@link org.apache.camel.CamelContext} this main 
class is using.
+     */
+    public CamelContext getOrCreateCamelContext() {
+        // force init
+        Map<String, CamelContext> map = getCamelContextMap();
+        if (map.size() >= 1) {
+            return map.values().iterator().next();
+        } else {
+            throw new IllegalStateException("Error creating CamelContext");
+        }
+    }
     
     // Implementation methods
     // 
-------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/c0db627b/camel-core/src/main/java/org/apache/camel/main/MainSupport.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/main/MainSupport.java 
b/camel-core/src/main/java/org/apache/camel/main/MainSupport.java
index 3e0cb95..4fb30fe 100644
--- a/camel-core/src/main/java/org/apache/camel/main/MainSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/main/MainSupport.java
@@ -27,7 +27,6 @@ import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
-
 import javax.xml.bind.JAXBException;
 
 import org.apache.camel.CamelContext;

Reply via email to