You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/11/14 11:57:56 UTC

svn commit: r594833 - in /activemq/camel/trunk: camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java

Author: jstrachan
Date: Wed Nov 14 02:57:55 2007
New Revision: 594833

URL: http://svn.apache.org/viewvc?rev=594833&view=rev
Log:
another patch for CAMEL-213 to ensure that only valid JMS headers are sent to the JMS provider

Modified:
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
    activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java?rev=594833&r1=594832&r2=594833&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java Wed Nov 14 02:57:55 2007
@@ -480,4 +480,26 @@
             throw new RuntimeCamelException(e);
         }
     }
+
+    /**
+     * Returns true if the given name is a valid java identifier
+     */
+    public static boolean isJavaIdentifier(String name) {
+        if (name == null) {
+            return false;
+        }
+        int size = name.length();
+        if (size < 1) {
+            return false;
+        }
+        if (Character.isJavaIdentifierStart(name.charAt(0))) {
+            for (int i = 1; i < size; i++) {
+                if (! Character.isJavaIdentifierPart(name.charAt(i))) {
+                    return false;
+                }
+            }
+            return true;
+        }
+        return false;
+    }
 }

Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java?rev=594833&r1=594832&r2=594833&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java Wed Nov 14 02:57:55 2007
@@ -16,10 +16,12 @@
  */
 package org.apache.camel.component.jms;
 
-import org.apache.camel.Exchange;
-import org.apache.camel.util.ExchangeHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import java.io.Serializable;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
 
 import javax.jms.BytesMessage;
 import javax.jms.Destination;
@@ -30,12 +32,12 @@
 import javax.jms.Session;
 import javax.jms.StreamMessage;
 import javax.jms.TextMessage;
-import java.io.Serializable;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.HashSet;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.util.ObjectHelper;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * A Strategy used to convert between a Camel {@JmsExchange} and {@JmsMessage}
@@ -171,7 +173,7 @@
      * Strategy to allow filtering of headers which are put on the JMS message
      */
     protected boolean shouldOutputHeader(org.apache.camel.Message camelMessage, String headerName, Object headerValue) {
-        return headerValue != null && !getIgnoreJmsHeaders().contains(headerName);
+        return headerValue != null && !getIgnoreJmsHeaders().contains(headerName) && ObjectHelper.isJavaIdentifier(headerName);
     }
 
     /**