You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/07/18 17:22:24 UTC

svn commit: r677937 - in /servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean: BeanEndpoint.java support/BeanSupport.java

Author: gnodet
Date: Fri Jul 18 08:22:23 2008
New Revision: 677937

URL: http://svn.apache.org/viewvc?rev=677937&view=rev
Log:
SM-1469: Decouple smx-bean support base classes from smx-bean BeanEndpoint class to facilitate deployment of bean classes to container classpath if desired

Modified:
    servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java
    servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean/support/BeanSupport.java

Modified: servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java?rev=677937&r1=677936&r2=677937&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java (original)
+++ servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java Fri Jul 18 08:22:23 2008
@@ -92,19 +92,24 @@
     private ThreadLocal<Request> currentRequest = new ThreadLocal<Request>();
     private ComponentContext context;
     private DeliveryChannel channel;
-
+    private ServiceEndpoint serviceEndpoint;
+    
     public BeanEndpoint() {
     }
 
     public BeanEndpoint(BeanComponent component, ServiceEndpoint serviceEndpoint) {
         super(component, serviceEndpoint);
         this.applicationContext = component.getApplicationContext();
+        this.serviceEndpoint = serviceEndpoint;
     }
 
     public void start() throws Exception {
         super.start();
         context = new EndpointComponentContext(this);
         channel = context.getDeliveryChannel();
+        if (serviceEndpoint == null) {
+        	serviceEndpoint = context.getEndpoint(getService(), getEndpoint());
+        }
         Object pojo = getBean();
         if (pojo != null) {
             injectBean(pojo);
@@ -346,6 +351,8 @@
                         ReflectionUtils.setField(f, target, ctx);
                     } else if (DeliveryChannel.class.isAssignableFrom(f.getType())) {
                         ReflectionUtils.setField(f, target, ch);
+                    } else if (ServiceEndpoint.class.isAssignableFrom(f.getType())) {
+                        ReflectionUtils.setField(f, target, BeanEndpoint.this.serviceEndpoint);
                     }
                 }
             }

Modified: servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean/support/BeanSupport.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean/support/BeanSupport.java?rev=677937&r1=677936&r2=677937&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean/support/BeanSupport.java (original)
+++ servicemix/components/engines/servicemix-bean/trunk/src/main/java/org/apache/servicemix/bean/support/BeanSupport.java Fri Jul 18 08:22:23 2008
@@ -29,13 +29,13 @@
 import javax.jbi.messaging.MessagingException;
 import javax.jbi.messaging.NormalizedMessage;
 import javax.jbi.messaging.RobustInOnly;
+import javax.jbi.servicedesc.ServiceEndpoint;
 import javax.management.ObjectName;
 import javax.xml.namespace.QName;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.servicemix.JbiConstants;
-import org.apache.servicemix.bean.BeanEndpoint;
 import org.apache.servicemix.components.util.CopyTransformer;
 import org.apache.servicemix.components.util.MessageHelper;
 import org.apache.servicemix.components.util.MessageTransformer;
@@ -58,7 +58,7 @@
     private DeliveryChannel channel;
     
     @Resource
-    private BeanEndpoint beanEndpoint;
+    private ServiceEndpoint serviceEndpoint;
     
     private ObjectName extensionMBeanName;
     private MessageExchangeFactory exchangeFactory;
@@ -112,12 +112,12 @@
         this.context = context;
     }
 
-    public BeanEndpoint getBeanEndpoint() {
-        return beanEndpoint;
+    public ServiceEndpoint getServiceEndpoint() {
+        return serviceEndpoint;
     }
     
-    public void setBeanEndpoint(BeanEndpoint beanEndpoint) {
-        this.beanEndpoint = beanEndpoint;
+    public void setServiceEndpoint(ServiceEndpoint serviceEndpoint) {
+        this.serviceEndpoint = serviceEndpoint;
     }
     
     /**
@@ -409,16 +409,16 @@
     
     protected QName getService() {
         QName service = null;
-        if (beanEndpoint != null) {
-            service = beanEndpoint.getService();
+        if (serviceEndpoint != null) {
+            service = serviceEndpoint.getServiceName();
         }
         return service;
     }
 
     protected String getEndpoint() {
         String endpoint = null;
-        if (beanEndpoint != null) {
-            endpoint = beanEndpoint.getEndpoint();
+        if (serviceEndpoint != null) {
+            endpoint = serviceEndpoint.getEndpointName();
         }
         return endpoint;
     }