You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by bd...@apache.org on 2010/09/08 02:18:51 UTC

svn commit: r993564 - in /tuscany/sca-java-2.x/trunk/modules: binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/ binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/ binding-jms/src/main/java/org/ap...

Author: bdaniel
Date: Wed Sep  8 00:18:50 2010
New Revision: 993564

URL: http://svn.apache.org/viewvc?rev=993564&view=rev
Log:
TUSCANY-3673 Update JMS binding model to separate out type/priority/deliveryMode/timeToLive attributes originating from the uri, operation prop headers, and headers. Also use that information in the runtime to correctly determine the value that is used when more than one is specified.

Modified:
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBinding.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java
    tuscany/sca-java-2.x/trunk/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessorTestCase.java

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java?rev=993564&r1=993563&r2=993564&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java Wed Sep  8 00:18:50 2010
@@ -28,7 +28,6 @@ import javax.jms.Destination;
 import javax.jms.JMSException;
 import javax.naming.NamingException;
 
-import org.apache.tuscany.sca.assembly.WireFormat;
 import org.apache.tuscany.sca.binding.jms.JMSBinding;
 import org.apache.tuscany.sca.binding.jms.JMSBindingConstants;
 import org.apache.tuscany.sca.binding.jms.JMSBindingException;
@@ -53,22 +52,15 @@ public class HeaderReferenceInterceptor 
 
     private Invoker next;
     private RuntimeEndpointReference runtimeWire;
-    private JMSResourceFactory jmsResourceFactory;
     private JMSBinding jmsBinding;
     private JMSMessageProcessor requestMessageProcessor;
-    private JMSMessageProcessor responseMessageProcessor;
-    private String correlationScheme;
-    private WireFormat requestWireFormat;
-    private WireFormat responseWireFormat;
+
 
     public HeaderReferenceInterceptor(ExtensionPointRegistry extensions, JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeEndpointReference runtimeWire) {
         super();
         this.jmsBinding = jmsBinding;
-        this.runtimeWire = runtimeWire;
-        this.jmsResourceFactory = jmsResourceFactory;
-        this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(extensions, jmsBinding);
-        this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(extensions, jmsBinding);
-        this.correlationScheme = jmsBinding.getCorrelationScheme();
+        this.runtimeWire = runtimeWire;      
+        this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(extensions, jmsBinding);       
         
     }
 
@@ -92,25 +84,31 @@ public class HeaderReferenceInterceptor 
             // @nativeOperation here on the reference side.
             requestMessageProcessor.setOperationName(operationName, jmsMsg);
     
-            if (jmsBinding.getOperationJMSDeliveryMode(operationName) != null) {
-                if (jmsBinding.getOperationJMSDeliveryMode(operationName)) {
-                    jmsMsg.setJMSDeliveryMode(DeliveryMode.PERSISTENT);
-                } else {
-                    jmsMsg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT);
-                }
-            }
-    
-            if (jmsBinding.getOperationJMSCorrelationId(operationName) != null) {
-                jmsMsg.setJMSCorrelationID(jmsBinding.getOperationJMSCorrelationId(operationName));
-            }
-    
-            if (jmsBinding.getOperationJMSPriority(operationName) != null) {
-                jmsMsg.setJMSPriority(jmsBinding.getOperationJMSPriority(operationName));
-            }
-    
-            if (jmsBinding.getOperationJMSType(operationName) != null) {
-                jmsMsg.setJMSType(jmsBinding.getOperationJMSType(operationName));
+          
+            
+            if (jmsBinding.getEffectiveJMSDeliveryMode(operationName) != null) {
+            	if (jmsBinding.getEffectiveJMSDeliveryMode(operationName)) {
+            		jmsMsg.setJMSDeliveryMode(DeliveryMode.PERSISTENT);
+            	} else {
+            		jmsMsg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT);
+            	}
+            } 
+    
+            if (jmsBinding.getEffectiveJMSPriority(operationName) != null) {
+            	jmsMsg.setJMSPriority(jmsBinding.getEffectiveJMSPriority(operationName));
+            } 
+    
+            if ( jmsBinding.getEffectiveJMSType(operationName) != null ) {         
+            	jmsMsg.setJMSType(jmsBinding.getEffectiveJMSType(operationName));
+            } 
+            
+            if ( jmsBinding.getEffectiveJMSTimeToLive(operationName) != null ) {
+            	jmsMsg.setJMSExpiration(jmsBinding.getEffectiveJMSTimeToLive(operationName));
             }
+            
+        	if (jmsBinding.getOperationJMSCorrelationId(operationName) != null) {
+        		jmsMsg.setJMSCorrelationID(jmsBinding.getOperationJMSCorrelationId(operationName));
+        	}
     
             if (tuscanyMsg.getFrom().getCallbackEndpoint() != null) {
     
@@ -137,11 +135,11 @@ public class HeaderReferenceInterceptor 
                 }
             }
             
-            if (jmsBinding.getOperationJMSTimeToLive(operationName) != null) {
-                context.setTimeToLive(jmsBinding.getOperationJMSTimeToLive(operationName) * 2);        
+            if (jmsBinding.getEffectiveJMSTimeToLive(operationName) != null) {
+                context.setTimeToLive(jmsBinding.getEffectiveJMSTimeToLive(operationName) * 2);        
             } else {   
             	context.setTimeToLive(JMSBindingConstants.DEFAULT_TIME_TO_LIVE);        
-            }             
+            }
             
             return tuscanyMsg;
         } catch (JMSException e) {

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java?rev=993564&r1=993563&r2=993564&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java Wed Sep  8 00:18:50 2010
@@ -18,6 +18,7 @@
  */
 package org.apache.tuscany.sca.binding.jms.transport;
 
+import javax.jms.DeliveryMode;
 import javax.jms.JMSException;
 import javax.jms.MessageConsumer;
 import javax.jms.MessageProducer;
@@ -41,15 +42,13 @@ import org.apache.tuscany.sca.runtime.Ru
  */
 public class TransportReferenceInterceptor implements Interceptor {
       
-    private Invoker next;
-    private RuntimeEndpointReference runtimeWire;
+    private Invoker next;    
     private JMSResourceFactory jmsResourceFactory;
     private JMSBinding jmsBinding;
 
     public TransportReferenceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeEndpointReference runtimeWire) {
         super();
-        this.jmsBinding = jmsBinding;
-        this.runtimeWire = runtimeWire;
+        this.jmsBinding = jmsBinding;        
         this.jmsResourceFactory = jmsResourceFactory;
     }
     
@@ -78,20 +77,20 @@ public class TransportReferenceIntercept
     
             // Set JMS header attributes in producer, not message.
             String opName = msg.getOperation().getName();
-            if (jmsBinding.getOperationJMSTimeToLive(msg.getOperation().getName()) != null) {
-                producer.setTimeToLive(jmsBinding.getOperationJMSTimeToLive(msg.getOperation().getName()));
-            }
-            Integer priority = jmsBinding.getOperationJMSPriority( opName );
+            if (jmsBinding.getEffectiveJMSTimeToLive(opName) != null) {
+                producer.setTimeToLive(jmsBinding.getEffectiveJMSTimeToLive(msg.getOperation().getName()).longValue());
+            } 
+            
+            Integer priority = jmsBinding.getEffectiveJMSPriority(opName);
             if (priority != null) {
-               producer.setPriority(priority.intValue());
+            	producer.setPriority(priority.intValue());
             }  
-            Boolean deliveryModePersistent = jmsBinding.getOperationJMSDeliveryMode(opName);
+            
+            Boolean deliveryModePersistent = jmsBinding.getEffectiveJMSDeliveryMode(opName);
             if (deliveryModePersistent != null) {
-                if (deliveryModePersistent.booleanValue())
-                    producer.setDeliveryMode(javax.jms.DeliveryMode.PERSISTENT);
-                else
-                    producer.setDeliveryMode(javax.jms.DeliveryMode.NON_PERSISTENT);
-            }
+            	producer.setDeliveryMode( deliveryModePersistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);               
+            } 
+                       
             
             try {
                 producer.send((javax.jms.Message)msg.getBody());

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java?rev=993564&r1=993563&r2=993564&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java Wed Sep  8 00:18:50 2010
@@ -54,11 +54,9 @@ import org.apache.tuscany.sca.runtime.Ru
 public class TransportServiceInterceptor implements Interceptor {
     private static final Logger logger = Logger.getLogger(TransportServiceInterceptor.class.getName());
       
-    private Invoker next;
-    private RuntimeEndpoint endpoint;
+    private Invoker next;    
     private JMSResourceFactory jmsResourceFactory;
-    private JMSBinding jmsBinding;
-    private JMSMessageProcessor requestMessageProcessor;
+    private JMSBinding jmsBinding;   
     private JMSMessageProcessor responseMessageProcessor;
     private RuntimeComponentService service;
     private String correlationScheme;
@@ -67,10 +65,8 @@ public class TransportServiceInterceptor
 
     public TransportServiceInterceptor(ExtensionPointRegistry registry, JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeEndpoint endpoint) {
         super();
-        this.jmsBinding = jmsBinding;
-        this.endpoint = endpoint;
-        this.jmsResourceFactory = jmsResourceFactory;
-        this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(registry, jmsBinding);
+        this.jmsBinding = jmsBinding;      
+        this.jmsResourceFactory = jmsResourceFactory;     
         this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(registry, jmsBinding);
         this.service = (RuntimeComponentService)endpoint.getService();
         this.correlationScheme = jmsBinding.getCorrelationScheme();
@@ -100,9 +96,7 @@ public class TransportServiceInterceptor
     }    
     
     public Message invokeRequest(Message msg) { 
-//        try {
-            JMSBindingContext context = msg.getBindingContext();
-            javax.jms.Message requestJMSMsg = context.getJmsMsg();
+//        try {                  
 
             EndpointReference from = assemblyFactory.createEndpointReference();
             Endpoint fromEndpoint = assemblyFactory.createEndpoint();
@@ -153,21 +147,22 @@ public class TransportServiceInterceptor
                 return msg;
             }
 
-            if (msg.getOperation() != null) {
+            if ((msg.getOperation() != null)) {
                 String operationName = msg.getOperation().getName();
-                if (jmsBinding.getOperationJMSPriority(operationName) != null) {
-                    responseJMSMsg.setJMSPriority(jmsBinding.getOperationJMSPriority(operationName));
+                if (jmsBinding.getEffectiveJMSPriority(operationName) != null) {
+                    responseJMSMsg.setJMSPriority(jmsBinding.getEffectiveJMSPriority(operationName));
                 }
         
-                if (jmsBinding.getOperationJMSType(operationName) != null) {
-                    responseJMSMsg.setJMSType(jmsBinding.getOperationJMSType(operationName));
+                if ( jmsBinding.getEffectiveJMSType(operationName) != null) {
+                    responseJMSMsg.setJMSType(jmsBinding.getEffectiveJMSType(operationName));
                 }
-                if (jmsBinding.getOperationJMSDeliveryMode(operationName) != null) {
-                    if (jmsBinding.getOperationJMSDeliveryMode(operationName)) {
-                        responseJMSMsg.setJMSDeliveryMode(DeliveryMode.PERSISTENT);
-                    } else {
-                        responseJMSMsg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT);
-                    }
+                
+                if ((jmsBinding.getEffectiveJMSDeliveryMode(operationName) != null)) {
+                    responseJMSMsg.setJMSDeliveryMode(jmsBinding.getEffectiveJMSDeliveryMode(operationName) ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);                   
+                } 
+                
+                if ((jmsBinding.getEffectiveJMSTimeToLive(operationName) != null)) {
+                	responseJMSMsg.setJMSExpiration(jmsBinding.getEffectiveJMSTimeToLive(operationName).longValue());
                 }
             }
     
@@ -185,6 +180,8 @@ public class TransportServiceInterceptor
             producer.setDeliveryMode(deliveryMode);
             int deliveryPriority = requestJMSMsg.getJMSPriority();
             producer.setPriority(deliveryPriority);
+            long timeToLive = requestJMSMsg.getJMSExpiration();
+            producer.setTimeToLive(timeToLive);
     
             producer.send((javax.jms.Message)msg.getBody());
     

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBinding.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBinding.java?rev=993564&r1=993563&r2=993564&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBinding.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBinding.java Wed Sep  8 00:18:50 2010
@@ -122,11 +122,7 @@ public class JMSBinding implements Bindi
 
     private boolean containsHeaders = false;
     private String replyTo;
-    private String jmsType;
     private String jmsCorrelationId;
-    private Boolean deliveryModePersistent;
-    private Long timeToLive;
-    private Integer jmsPriority;
 
     private Map<String, Object> properties = new HashMap<String, Object>();
     private Map<String, Map<String, Object>> operationProperties = new HashMap<String, Map<String,Object>>();
@@ -151,6 +147,20 @@ public class JMSBinding implements Bindi
     private OperationSelector operationSelector;
     private ExtensionType extensionType;
     private String jmsURI;
+	
+	private String uriType;
+	private Boolean uriDeliveryMode;
+	private Integer uriJMSPriority;
+	private Long uriJMSTimeToLive;
+
+	private String headerType;
+	private Boolean headerDeliveryMode;
+	private Integer headerPriority;
+	private Long headerTimeToLive;
+
+	private final Integer defaultPriority = Integer.valueOf(4);
+	private final Boolean defaultDeliveryMode = true;
+	private final Long defaultJMSTimeToLive =Long.valueOf(0);
     
     public JMSBinding() {
         super();
@@ -468,47 +478,81 @@ public class JMSBinding implements Bindi
         this.replyTo = replyTo;
     }
 
-    public String getJMSType() {
-        return jmsType;
+    // getEffective...() will return values based on the following priority
+    // 1. The value specified in the URI attribute
+    // 2. The value specified in the operationProperties/headers
+    // 3. The value specified in the headers element
+    // 4. The default value from the headers element
+    public String getEffectiveJMSType(String opName) {
+    	if ( getJMSURIType() != null ) return getJMSURIType();
+    	else if ( getOperationJMSType(opName) != null ) return getOperationJMSType(opName);
+    	else if ( getJMSHeaderType() != null ) return getJMSHeaderType();
+    	else return null;
     }
-    public void setJMSType(String jmsType) {
-        setHeaders( true );
-        this.jmsType = jmsType;
-    }
-
-    public String getJMSCorrelationId() {
-        return jmsCorrelationId;
+    
+    public Boolean getEffectiveJMSDeliveryMode(String opName) {
+    	if ( getURIJMSDeliveryMode() != null ) return getURIJMSDeliveryMode();
+    	else if ( getOperationJMSDeliveryMode(opName) != null) return getOperationJMSDeliveryMode(opName);
+    	else if ( getHeaderJMSDeliveryMode() != null) return getHeaderJMSDeliveryMode();
+    	else return getDefaultDeliveryMode();
     }
     
-    public void setJMSCorrelationId(String jmsCorrelationId) {
-        setHeaders( true );
-        this.jmsCorrelationId = jmsCorrelationId;
+    public Long getEffectiveJMSTimeToLive(String opName) {
+    	if ( getURIJMSTimeToLive() != null ) return getURIJMSTimeToLive();
+    	else if ( getOperationJMSTimeToLive(opName) != null) return getOperationJMSTimeToLive(opName);
+    	else if ( getHeaderJMSTimeToLive() != null) return getHeaderJMSTimeToLive();
+    	else return getDefaultJMSTimeToLive();
     }
 
-    public Boolean isdeliveryModePersistent() {
-        return deliveryModePersistent;
-    }
-    public void setJMSDeliveryMode(boolean persistent) {
-        setHeaders( true );
-        this.deliveryModePersistent = Boolean.valueOf(persistent);
+    public Integer getEffectiveJMSPriority(String operationName) {
+    	if ( getURIJMSPriority() != null ) return getURIJMSPriority();
+    	else if ( getOperationJMSPriority(operationName)!= null) return getOperationJMSPriority(operationName);
+    	else if ( getJMSHeaderPriority() != null ) return getJMSHeaderPriority();
+    	else return getDefaultJMSPriority();
     }
 
-    public Integer getJMSPriority() {
-        return jmsPriority;
-    }
 
-    public void setJMSPriority(int jmsPriority) {
-        setHeaders( true );
-        this.jmsPriority = Integer.valueOf(jmsPriority);
-    }
+    private Long getHeaderJMSTimeToLive() {
+		return this.headerTimeToLive;
+	}
 
-    public Long getJMSTimeToLive() {
-        return timeToLive;
-    }
+	private Long getDefaultJMSTimeToLive() {
+		return this.defaultJMSTimeToLive;
+	}
 
-    public void setJMSTimeToLive(long timeToLive) {
+	private Boolean getDefaultDeliveryMode() {
+		return this.defaultDeliveryMode;
+	}
+
+	private Boolean getHeaderJMSDeliveryMode() {
+		return headerDeliveryMode;
+	}
+
+	private Boolean getURIJMSDeliveryMode() {
+		return this.uriDeliveryMode;
+	}
+    
+    public String getJMSURIType() {
+    	return uriType;
+    }
+    public void setJMSURIType(String type) {
+    	this.uriType = type;
+    }
+    public String getJMSHeaderType() {
+    	return headerType;
+    }
+    
+    public void setJMSHeaderType(String type) {
+    	this.headerType = type;
+    } 
+  
+    public String getJMSCorrelationId() {
+        return jmsCorrelationId;
+    }
+    
+    public void setJMSCorrelationId(String jmsCorrelationId) {
         setHeaders( true );
-        this.timeToLive = Long.valueOf(timeToLive);
+        this.jmsCorrelationId = jmsCorrelationId;
     }
 
     public Set<String> getPropertyNames() {
@@ -621,7 +665,7 @@ public class JMSBinding implements Bindi
             if (operationJMSTypes.containsKey(opName)) {
                 return operationJMSTypes.get(opName);
             } else {
-                return jmsType;
+                return null;
             }
         }
     }
@@ -653,13 +697,13 @@ public class JMSBinding implements Bindi
             if (operationPropertiesBinding.getOperationJMSDeliveryMode(opName) != null) {
                 return operationPropertiesBinding.getOperationJMSDeliveryMode(opName);
             } else {
-                return deliveryModePersistent;
+                return null;
             }
         } else {
             if (operationJMSDeliveryModes.containsKey(opName)) {
                 return operationJMSDeliveryModes.get(opName);
             } else {
-                return deliveryModePersistent;
+                return null;
             }
         }
     }
@@ -672,13 +716,13 @@ public class JMSBinding implements Bindi
             if (operationPropertiesBinding.getOperationJMSTimeToLive(opName) != null) {
                 return operationPropertiesBinding.getOperationJMSTimeToLive(opName);
             } else {
-                return timeToLive;
+                return null;
             }
         } else {
             if (operationJMSTimeToLives.containsKey(opName)) {
                 return operationJMSTimeToLives.get(opName);
             } else {
-                return timeToLive;
+                return null;
             }
         }
     }
@@ -691,13 +735,13 @@ public class JMSBinding implements Bindi
             if (operationPropertiesBinding.getOperationJMSPriority(opName) != null) {
                 return operationPropertiesBinding.getOperationJMSPriority(opName);
             } else {
-                return jmsPriority;
+                return null;
             }
         } else {
             if (operationJMSPriorities.containsKey(opName)) {
                 return operationJMSPriorities.get(opName);
             } else {
-                return jmsPriority;
+                return null;
             }
         }
     }
@@ -979,4 +1023,50 @@ public class JMSBinding implements Bindi
     public void setJMSURI(String jmsURI) {
         this.jmsURI = jmsURI;
     }
+
+    
+	public void setURIJMSDeliveryMode(boolean equals) {
+		this.uriDeliveryMode = Boolean.valueOf(equals);		
+	}
+
+	public Integer getURIJMSPriority() {
+		return this.uriJMSPriority;
+	}
+	
+	public void setURIJMSPriority(int parseInt) {
+		this.uriJMSPriority = Integer.valueOf(parseInt);		
+	}
+
+	public Long getURIJMSTimeToLive() {
+		return this.uriJMSTimeToLive;
+	}
+	public void setURIJMSTimeToLive(long parseLong) {
+		this.uriJMSTimeToLive = Long.valueOf(parseLong);
+	}
+
+	public Boolean isHeaderDeliveryModePersistent() {
+		return this.headerDeliveryMode;
+	}
+	public void setJMSHeaderDeliveryMode(boolean b) {
+		this.headerDeliveryMode = Boolean.valueOf(b);		
+	}
+
+	public Long getJMSHeaderTimeToLive() {
+		return this.headerTimeToLive;
+	}
+	public void setJMSHeaderTimeToLive(long parseLong) {
+		this.headerTimeToLive = Long.valueOf(parseLong);		
+	}
+
+	public Integer getJMSHeaderPriority() {
+		return this.headerPriority;
+	}
+	public void setJMSHeaderPriority(int p) {
+		this.headerPriority = Integer.valueOf(p);		
+	}
+	
+	public Integer getDefaultJMSPriority() {
+		return this.defaultPriority;
+	}
+	
 }

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java?rev=993564&r1=993563&r2=993564&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessor.java Wed Sep  8 00:18:50 2010
@@ -368,13 +368,11 @@ public class JMSBindingProcessor extends
         	    if (s.startsWith("connectionFactoryName=")) {
         	        jmsBinding.setConnectionFactoryName(s.substring(22));
                     } else if (s.startsWith("deliveryMode=")) {
-                        jmsBinding.setJMSDeliveryMode("persistent".equals(s.substring(13)));
+                        jmsBinding.setURIJMSDeliveryMode("persistent".equals(s.substring(13)));
                     } else if (s.startsWith("priority=")) {
-                        jmsBinding.setJMSPriority(Integer.parseInt(s.substring(9)));
+                        jmsBinding.setURIJMSPriority(Integer.parseInt(s.substring(9)));
                     } else if (s.startsWith("timeToLive=")) {
-                        jmsBinding.setJMSTimeToLive(Long.parseLong(s.substring(11)));
-                    } else if (s.startsWith("type=")) {
-                        jmsBinding.setJMSType((s.substring(5)));
+                        jmsBinding.setURIJMSTimeToLive(Long.parseLong(s.substring(11)));
                     } else if (s.startsWith("selector='")) {
                         String selector = s.substring(10);
                         if (selector.startsWith("\"") || selector.startsWith("'")) {
@@ -384,11 +382,14 @@ public class JMSBindingProcessor extends
                             selector = selector.substring(0, selector.length() - 1);
                         }
                         jmsBinding.setJMSSelector(selector);
-        	    } else {
-        	        error(monitor, "UnknownTokenInURI", jmsBinding, s, uri);
-                 	return;
-        	     }
-        	}
+                    } else if (s.startsWith("type")) {
+                    	String type = s.substring(5);
+                    	jmsBinding.setJMSURIType(type);                    	
+                    } else {
+                    	error(monitor, "UnknownTokenInURI", jmsBinding, s, uri);
+                    	return;
+                    }
+        		}
         	int j=uri.indexOf(':', 4);
         	jmsBinding.setDestinationName(uri.substring(j+1, i));
         	jmsBinding.setDestinationType(uri.substring(4, j));
@@ -673,15 +674,15 @@ public class JMSBindingProcessor extends
     private void parseHeaders(XMLStreamReader reader, JMSBinding jmsBinding, Monitor monitor) throws XMLStreamException {
         String jmsType = reader.getAttributeValue(null, "type");
         if (jmsType != null && jmsType.length() > 0) {
-            jmsBinding.setJMSType(jmsType);
+            jmsBinding.setJMSHeaderType(jmsType);
         }
 
         String jmsDeliveryMode = reader.getAttributeValue(null, "deliveryMode");
         if (jmsDeliveryMode != null && jmsDeliveryMode.length() > 0) {
             if ("persistent".equalsIgnoreCase(jmsDeliveryMode)) {
-                jmsBinding.setJMSDeliveryMode(true);
+                jmsBinding.setJMSHeaderDeliveryMode(true);
             } else if ("nonpersistent".equalsIgnoreCase(jmsDeliveryMode)) {
-                jmsBinding.setJMSDeliveryMode(false);
+                jmsBinding.setJMSHeaderDeliveryMode(false);
             } else {
                 error(monitor, "InvalidJMSDeliveryMode", jmsBinding, jmsDeliveryMode);
             }
@@ -689,7 +690,7 @@ public class JMSBindingProcessor extends
 
         String jmsTimeToLive = reader.getAttributeValue(null, "timeToLive");
         if (jmsTimeToLive != null && jmsTimeToLive.length() > 0) {
-            jmsBinding.setJMSTimeToLive(Long.parseLong(jmsTimeToLive));
+            jmsBinding.setJMSHeaderTimeToLive(Long.parseLong(jmsTimeToLive));
         }
 
         String jmsPriority = reader.getAttributeValue(null, "priority");
@@ -697,7 +698,7 @@ public class JMSBindingProcessor extends
             try {
                 int p = Integer.parseInt(jmsPriority);
                 if (p >= 0 && p <= 9) {
-                    jmsBinding.setJMSPriority(p);
+                    jmsBinding.setJMSHeaderPriority(p);
                 } else {
                     warning(monitor, "InvalidJMSPriority", jmsBinding, jmsPriority);
                 }
@@ -1151,12 +1152,12 @@ public class JMSBindingProcessor extends
 
         writer.writeStartElement(Constants.SCA11_NS, JMSBindingConstants.HEADERS);
 
-        String jmsType = jmsBinding.getJMSType();
+        String jmsType = jmsBinding.getJMSHeaderType();
         if (jmsType != null && jmsType.length() > 0) {
             writer.writeAttribute("type", jmsType);
         }
 
-        Boolean jmsDeliveryMode = jmsBinding.isdeliveryModePersistent();
+        Boolean jmsDeliveryMode = jmsBinding.isHeaderDeliveryModePersistent();
         if (jmsDeliveryMode != null) {
             if ( jmsDeliveryMode.booleanValue() )
                writer.writeAttribute("deliveryMode", "persistent");
@@ -1164,12 +1165,12 @@ public class JMSBindingProcessor extends
                writer.writeAttribute("deliveryMode", "nonpersistent");
         }
 
-        Long jmsTimeToLive = jmsBinding.getJMSTimeToLive();
+        Long jmsTimeToLive = jmsBinding.getJMSHeaderTimeToLive();
         if (jmsTimeToLive != null) {
             writer.writeAttribute("timeToLive", jmsTimeToLive.toString());
         }
 
-        Integer jmsPriority = jmsBinding.getJMSPriority();
+        Integer jmsPriority = jmsBinding.getJMSHeaderPriority();
         if (jmsPriority != null) {
             writer.writeAttribute("priority", jmsPriority.toString());
         }

Modified: tuscany/sca-java-2.x/trunk/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessorTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessorTestCase.java?rev=993564&r1=993563&r2=993564&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessorTestCase.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/JMSBindingProcessorTestCase.java Wed Sep  8 00:18:50 2010
@@ -426,10 +426,10 @@ public class JMSBindingProcessorTestCase
         JMSBinding binding = (JMSBinding)   composite.getComponents().get(0).getServices().get(0).getBindings().get(0);
         
         assertNotNull(binding);
-        assertEquals("myType", binding.getJMSType());
-        assertTrue(binding.isdeliveryModePersistent());
-        assertEquals(54321, binding.getJMSTimeToLive().longValue());
-        assertEquals(5, binding.getJMSPriority().intValue());
+        assertEquals("myType", binding.getJMSHeaderType());
+        assertTrue(binding.isHeaderDeliveryModePersistent());
+        assertEquals(54321, binding.getJMSHeaderTimeToLive().longValue());
+        assertEquals(5, binding.getJMSHeaderPriority().intValue());
     }
 
     public void testProperties1() throws Exception {