Author: antelder
Date: Tue Jul 15 02:17:05 2008
New Revision: 676844

URL: http://svn.apache.org/viewvc?rev=676844&view=rev
Log:
Comment out support for physical destination names as it doesn't work properly 
yet, add support for the scaConversationId header

Modified:
    
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
    
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java
    
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java
    
tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java

Modified: 
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java?rev=676844&r1=676843&r2=676844&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
 (original)
+++ 
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
 Tue Jul 15 02:17:05 2008
@@ -260,7 +260,7 @@
         requestMsg.setJMSDeliveryMode(jmsBinding.getDeliveryMode());
         requestMsg.setJMSPriority(jmsBinding.getPriority());
 
-        setCallbackHeaders(tuscanyMsg, requestMsg);
+        setHeaders(tuscanyMsg, requestMsg);
 
         requestMessageProcessor.setOperationName(operationName, requestMsg);
         requestMsg.setJMSReplyTo(replyToDest);
@@ -294,7 +294,7 @@
         return requestDestination;
     }
 
-    protected void 
setCallbackHeaders(org.apache.tuscany.sca.invocation.Message tuscanyMsg, 
Message jmsMsg) throws JMSException {
+    protected void setHeaders(org.apache.tuscany.sca.invocation.Message 
tuscanyMsg, Message jmsMsg) throws JMSException {
         if (hasCallback()) {
 
             ReferenceParameters parameters = 
tuscanyMsg.getFrom().getReferenceParameters();
@@ -307,6 +307,11 @@
             if (callbackDestName != null) {
                 
jmsMsg.setStringProperty(JMSBindingConstants.CALLBACK_Q_PROPERTY, 
callbackDestName);
             }
+            
+            Object conversationID = parameters.getConversationID();
+            if (conversationID != null) {
+                
jmsMsg.setStringProperty(JMSBindingConstants.CONVERSATION_ID_PROPERTY, 
conversationID.toString());
+            }
 
         }
     }

Modified: 
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java?rev=676844&r1=676843&r2=676844&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java
 (original)
+++ 
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java
 Tue Jul 15 02:17:05 2008
@@ -126,21 +126,18 @@
         tuscanyMsg.setBody(requestPayload);
         tuscanyMsg.setOperation(operation);
 
-        setCallbackProperties(requestJMSMsg, tuscanyMsg, operation);
+        setHeaderProperties(requestJMSMsg, tuscanyMsg, operation);
 
         return service.getRuntimeWire(jmsBinding).invoke(operation, 
tuscanyMsg);
     }
 
-    protected void setCallbackProperties(Message requestJMSMsg, MessageImpl 
tuscanyMsg, Operation operation) throws JMSException {
+    protected void setHeaderProperties(Message requestJMSMsg, MessageImpl 
tuscanyMsg, Operation operation) throws JMSException {
         if (service.getInterfaceContract().getCallbackInterface() != null) {
 
             EndpointReference from = new EndpointReferenceImpl(null);
             tuscanyMsg.setFrom(from);
 
-            from.setCallbackEndpoint(new EndpointReferenceImpl("/")); // TODO:
-            // whats
-            // this
-            // for?
+            from.setCallbackEndpoint(new EndpointReferenceImpl("/")); // TODO: 
whats this for?
 
             ReferenceParameters parameters = from.getReferenceParameters();
 
@@ -164,6 +161,11 @@
             if (callbackID != null) {
                 parameters.setCallbackID(callbackID);
             }
+
+            String conversationID = 
requestJMSMsg.getStringProperty(JMSBindingConstants.CONVERSATION_ID_PROPERTY);
+            if (conversationID != null) {
+                parameters.setConversationID(conversationID);
+            }
         }
     }
 

Modified: 
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java?rev=676844&r1=676843&r2=676844&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java
 (original)
+++ 
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java
 Tue Jul 15 02:17:05 2008
@@ -29,6 +29,7 @@
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 
+import org.apache.tuscany.sca.binding.jms.impl.JMSBindingConstants;
 import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException;
 
 /**
@@ -144,8 +145,44 @@
         }
     }
 
-    public Destination lookupDestination(String jndiName) throws 
NamingException {
-        return (Destination)jndiLookUp(jndiName);
+    public Destination lookupDestination(String destName) throws 
NamingException {
+        if (JMSBindingConstants.DEFAULT_DESTINATION_NAME.equals(destName)) {
+            return null;
+        }
+        
+        Destination dest = (Destination)jndiLookUp(destName);
+        if (dest == null) {
+            dest = lookupPhysical(destName);
+        }
+        return dest;
+    }
+
+    protected Destination lookupPhysical(String jndiName) {
+
+        // TODO: the SCA JMS spec says a destination name may be a non-jndi 
plain destination name 
+        
+//        Session session = null;
+//        try {
+//
+//            Destination dest;
+//            session = createSession();
+//            dest = session.createQueue(jndiName);
+//            return dest;
+//
+//        } catch (JMSException e) {
+//            throw new JMSBindingException(e);
+//        } catch (NamingException e) {
+//            throw new JMSBindingException(e);
+//        } finally {
+//            if (session != null) {
+//                try {
+//                    session.close();
+//                } catch (JMSException e) {
+//                    throw new JMSBindingException(e);
+//                }
+//            }
+//        }
+        return null;
     }
 
     /**

Modified: 
tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java?rev=676844&r1=676843&r2=676844&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java
 (original)
+++ 
tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java
 Tue Jul 15 02:17:05 2008
@@ -67,5 +67,6 @@
     
     String CALLBACK_ID_PROPERTY = "CallbackID";
     String CALLBACK_Q_PROPERTY = "scaCallbackQueue ";
+    String CONVERSATION_ID_PROPERTY = "scaConversationId";
 
 }


Reply via email to