Author: davsclaus
Date: Thu May 24 16:20:41 2012
New Revision: 1342316

URL: http://svn.apache.org/viewvc?rev=1342316&view=rev
Log:
Blueprint namespace should lookup default blueprint camelcontext if not explict 
configured in the namespace.

Modified:
    camel/branches/camel-2.9.x/   (props changed)
    
camel/branches/camel-2.9.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java
    
camel/branches/camel-2.9.x/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFactoryBean.java
    
camel/branches/camel-2.9.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprint8Test.java

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
  Merged /camel/trunk:r1342313

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.9.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java?rev=1342316&r1=1342315&r2=1342316&view=diff
==============================================================================
--- 
camel/branches/camel-2.9.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java
 (original)
+++ 
camel/branches/camel-2.9.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java
 Thu May 24 16:20:41 2012
@@ -526,9 +526,17 @@ public class CamelNamespaceHandler imple
             this.blueprintContainer = blueprintContainer;
         }
 
+        @Override
+        public CamelContext getCamelContext() {
+            if (blueprintContainer != null) {
+                CamelContext answer = (CamelContext) 
blueprintContainer.getComponentInstance(camelContextName);
+                return answer;
+            }
+            return null;
+        }
+
         public Object beforeInit(Object bean, String beanName, BeanCreator 
beanCreator, BeanMetadata beanMetadata) {
-            injectFields(bean, beanName);
-            injectMethods(bean, beanName);
+            // prefer to inject later in afterInit
             return bean;
         }
 
@@ -618,6 +626,8 @@ public class CamelNamespaceHandler imple
 
         public Object afterInit(Object bean, String beanName, BeanCreator 
beanCreator, BeanMetadata beanMetadata) {
             // we cannot inject CamelContextAware beans as the CamelContext 
may not be ready
+            injectFields(bean, beanName);
+            injectMethods(bean, beanName);
             return bean;
         }
 

Modified: 
camel/branches/camel-2.9.x/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFactoryBean.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFactoryBean.java?rev=1342316&r1=1342315&r2=1342316&view=diff
==============================================================================
--- 
camel/branches/camel-2.9.x/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFactoryBean.java
 (original)
+++ 
camel/branches/camel-2.9.x/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelFactoryBean.java
 Thu May 24 16:20:41 2012
@@ -23,6 +23,7 @@ import javax.xml.bind.annotation.XmlTran
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
+import org.apache.camel.NoSuchBeanException;
 import org.apache.camel.model.IdentifiedType;
 
 @XmlAccessorType(XmlAccessType.FIELD)
@@ -52,8 +53,13 @@ public abstract class AbstractCamelFacto
     }
 
     public CamelContext getCamelContext() {
+        // when getting CamelContext then we assume it must exists
+
         if (camelContext == null && camelContextId != null) {
             camelContext = getCamelContextWithId(camelContextId);
+            if (camelContext == null) {
+                throw new IllegalStateException("Cannot find CamelContext with 
id: " + camelContextId);
+            }
         }
         if (camelContext == null) {
             camelContext = discoverDefaultCamelContext();

Modified: 
camel/branches/camel-2.9.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprint8Test.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprint8Test.java?rev=1342316&r1=1342315&r2=1342316&view=diff
==============================================================================
--- 
camel/branches/camel-2.9.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprint8Test.java
 (original)
+++ 
camel/branches/camel-2.9.x/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprint8Test.java
 Thu May 24 16:20:41 2012
@@ -19,7 +19,6 @@ package org.apache.camel.itest.osgi.blue
 import java.lang.reflect.Method;
 
 import org.apache.camel.util.jsse.SSLContextParameters;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
@@ -39,7 +38,6 @@ import static org.ops4j.pax.swissbox.tin
 public class CamelBlueprint8Test extends OSGiBlueprintTestSupport {
 
     @Test
-    @Ignore("Fix me")
     public void testEndpointInjection() throws Exception {
         getInstalledBundle("CamelBlueprintTestBundle10").start();
         BlueprintContainer ctn = getOsgiService(BlueprintContainer.class, 
"(osgi.blueprint.container.symbolicname=CamelBlueprintTestBundle10)", 10000);
@@ -91,12 +89,12 @@ public class CamelBlueprint8Test extends
         Option[] options = combine(
                 getDefaultCamelKarafOptions(),
 
-//                bundle(newBundle()
-//                        .add("OSGI-INF/blueprint/test.xml", 
OSGiBlueprintTestSupport.class.getResource("blueprint-10.xml"))
-//                        .add(TestProducer.class)
-//                        .set(Constants.BUNDLE_SYMBOLICNAME, 
"CamelBlueprintTestBundle10")
-//                        .set(Constants.DYNAMICIMPORT_PACKAGE, "*")
-//                        .build()).noStart(),
+                bundle(newBundle()
+                        .add("OSGI-INF/blueprint/test.xml", 
OSGiBlueprintTestSupport.class.getResource("blueprint-10.xml"))
+                        .add(TestProducer.class)
+                        .set(Constants.BUNDLE_SYMBOLICNAME, 
"CamelBlueprintTestBundle10")
+                        .set(Constants.DYNAMICIMPORT_PACKAGE, "*")
+                        .build()).noStart(),
 
 
                 bundle(newBundle()


Reply via email to