Author: ruwan
Date: Thu Feb 25 19:42:36 2010
New Revision: 916422
URL: http://svn.apache.org/viewvc?rev=916422&view=rev
Log:
Applying the patch for SYNAPSE-614, committing for Supun
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/PropertyMediator.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/MessageHelper.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/xpath/SynapseXPathVariableContext.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/PropertyMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/PropertyMediator.java?rev=916422&r1=916421&r2=916422&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/PropertyMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/PropertyMediator.java
Thu Feb 25 19:42:36 2010
@@ -137,7 +137,7 @@
org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS);
if (headers != null && headers instanceof Map) {
- Map headersMap = (HashMap) headers;
+ Map headersMap = (Map) headers;
headersMap.put(name, resultValue);
}
if (headers == null) {
@@ -181,7 +181,7 @@
Object headers = axis2MessageCtx.getProperty(
org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS);
if (headers != null && headers instanceof Map) {
- Map headersMap = (HashMap) headers;
+ Map headersMap = (Map) headers;
headersMap.remove(name);
} else {
synLog.traceOrDebug("No transport headers found for the
message");
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/MessageHelper.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/MessageHelper.java?rev=916422&r1=916421&r2=916422&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/MessageHelper.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/MessageHelper.java
Thu Feb 25 19:42:36 2010
@@ -142,14 +142,23 @@
public static Map
getClonedTransportHeaders(org.apache.axis2.context.MessageContext msgCtx) {
- Map headers = (Map) msgCtx.getProperty(
- org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS);
- Map<String, Object> clonedHeaders = new HashMap<String, Object>();
+ Map headers = (Map) msgCtx.
+
getProperty(org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS);
+ Map<String, String> clonedHeaders;
+ if (headers instanceof TreeMap) {
+ clonedHeaders = new TreeMap<String, String>(new
Comparator<String>() {
+ public int compare(String s1, String s2) {
+ return s1.compareToIgnoreCase(s2);
+ }
+ });
+ } else {
+ clonedHeaders = new HashMap<String, String>();
+ }
- if (headers != null && headers.isEmpty()) {
+ if (headers != null && !headers.isEmpty()) {
for (Object o : headers.keySet()) {
String headerName = (String) o;
- clonedHeaders.put(headerName, headers.get(headerName));
+ clonedHeaders.put(headerName, (String)
headers.get(headerName));
}
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/xpath/SynapseXPathVariableContext.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/xpath/SynapseXPathVariableContext.java?rev=916422&r1=916421&r2=916422&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/xpath/SynapseXPathVariableContext.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/xpath/SynapseXPathVariableContext.java
Thu Feb 25 19:42:36 2010
@@ -177,7 +177,7 @@
for (String param : params) {
String temp[] = param.split("=");
if (temp != null && temp.length >= 1) {
- if (temp[0].equals(localName)) {
+ if
(temp[0].equalsIgnoreCase(localName)) {
try {
return temp.length > 1 ?
URIEncoderDecoder.decode(temp[1]) : "";
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java?rev=916422&r1=916421&r2=916422&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientWorker.java
Thu Feb 25 19:42:36 2010
@@ -42,8 +42,10 @@
import javax.xml.stream.XMLStreamException;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
+import java.util.TreeMap;
/**
* Performs processing of the HTTP response received for our outgoing request.
An instance of this
@@ -118,7 +120,14 @@
// set any transport headers received
Header[] headers = response.getAllHeaders();
if (headers != null && headers.length > 0) {
- Map headerMap = new HashMap();
+
+ Map<String, String> headerMap
+ = new TreeMap<String, String>(new Comparator<String>()
{
+ public int compare(String o1, String o2) {
+ return o1.compareToIgnoreCase(o2);
+ }
+ });
+
for (int i=0; i<headers.length; i++) {
Header header = headers[i];
if ("Location".equals(header.getName())
Modified:
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java?rev=916422&r1=916421&r2=916422&view=diff
==============================================================================
---
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
(original)
+++
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
Thu Feb 25 19:42:36 2010
@@ -161,7 +161,13 @@
msgContext.setProperty(
Constants.Configuration.TRANSPORT_IN_URL,
request.getRequestLine().getUri());
- Map<String, String> headers = new HashMap<String, String>();
+ // http transport header names are case insensitive
+ Map<String, String> headers = new TreeMap<String, String>(new
Comparator<String>() {
+ public int compare(String o1, String o2) {
+ return o1.compareToIgnoreCase(o2);
+ }
+ });
+
for (Header header : request.getAllHeaders()) {
headers.put(header.getName(), header.getValue());
}