You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by wt...@apache.org on 2009/03/26 03:42:13 UTC
svn commit: r758505 [2/2] - in /camel/trunk:
camel-core/src/main/java/org/apache/camel/impl/
camel-core/src/main/java/org/apache/camel/spi/ components/camel-cxf/
components/camel-cxf/src/main/java/org/apache/camel/component/cxf/
components/camel-cxf/sr...
Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java (original)
+++ camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/DefaultHttpBinding.java Thu Mar 26 02:42:05 2009
@@ -25,6 +25,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.component.http.helper.GZIPHelper;
import org.apache.camel.spi.HeaderFilterStrategy;
@@ -56,7 +57,7 @@
if (exchange.isFailed()) {
Message fault = exchange.getFault(false);
if (fault != null) {
- doWriteFaultResponse(fault, response);
+ doWriteFaultResponse(fault, response, exchange);
} else {
doWriteExceptionResponse(exchange.getException(), response);
}
@@ -65,7 +66,7 @@
copyProtocolHeaders(exchange.getIn(), exchange.getOut());
Message out = exchange.getOut();
if (out != null) {
- doWriteResponse(out, response);
+ doWriteResponse(out, response, exchange);
}
}
}
@@ -88,11 +89,11 @@
pw.flush();
}
- public void doWriteFaultResponse(Message message, HttpServletResponse response) throws IOException {
- doWriteResponse(message, response);
+ public void doWriteFaultResponse(Message message, HttpServletResponse response, Exchange exchange) throws IOException {
+ doWriteResponse(message, response, exchange);
}
- public void doWriteResponse(Message message, HttpServletResponse response) throws IOException {
+ public void doWriteResponse(Message message, HttpServletResponse response, Exchange exchange) throws IOException {
// set the status code in the response. Default is 200.
if (message.getHeader(HttpConstants.HTTP_RESPONSE_CODE) != null) {
int code = message.getHeader(HttpConstants.HTTP_RESPONSE_CODE, Integer.class);
@@ -108,7 +109,7 @@
for (String key : message.getHeaders().keySet()) {
String value = message.getHeader(key, String.class);
if (headerFilterStrategy != null
- && !headerFilterStrategy.applyFilterToCamelHeaders(key, value)) {
+ && !headerFilterStrategy.applyFilterToCamelHeaders(key, value, exchange)) {
response.setHeader(key, value);
}
}
@@ -186,4 +187,5 @@
public void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
this.headerFilterStrategy = headerFilterStrategy;
}
+
}
Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpBinding.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpBinding.java (original)
+++ camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpBinding.java Thu Mar 26 02:42:05 2009
@@ -20,6 +20,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.spi.HeaderFilterStrategy;
@@ -79,19 +80,21 @@
* Strategy method that writes the response to the http response stream for a fault message
*
* @param message the fault message
- * @param response the http response
+ * @param response the http response
+ * @param exchange the exchange to provide context for header filtering
* @throws java.io.IOException can be thrown from http response
*/
- void doWriteFaultResponse(Message message, HttpServletResponse response) throws IOException;
+ void doWriteFaultResponse(Message message, HttpServletResponse response, Exchange exchange) throws IOException;
/**
* Strategy method that writes the response to the http response stream for an OUT message
*
* @param message the OUT message
- * @param response the http response
+ * @param response the http response
+ * @param exchange the exchange to provide context for header filtering
* @throws java.io.IOException can be thrown from http response
*/
- void doWriteResponse(Message message, HttpServletResponse response) throws IOException;
+ void doWriteResponse(Message message, HttpServletResponse response, Exchange exchange) throws IOException;
boolean isUseReaderForPayload();
Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpPollingConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpPollingConsumer.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpPollingConsumer.java (original)
+++ camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpPollingConsumer.java Thu Mar 26 02:42:05 2009
@@ -78,7 +78,7 @@
for (Header header : headers) {
String name = header.getName();
String value = header.getValue();
- if (strategy != null && !strategy.applyFilterToExternalHeaders(name, value)) {
+ if (strategy != null && !strategy.applyFilterToExternalHeaders(name, value, exchange)) {
message.setHeader(name, value);
}
}
Modified: camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java (original)
+++ camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java Thu Mar 26 02:42:05 2009
@@ -58,7 +58,7 @@
// propagate headers as HTTP headers
for (String headerName : in.getHeaders().keySet()) {
String headerValue = in.getHeader(headerName, String.class);
- if (strategy != null && !strategy.applyFilterToCamelHeaders(headerName, headerValue)) {
+ if (strategy != null && !strategy.applyFilterToCamelHeaders(headerName, headerValue, exchange)) {
method.addRequestHeader(headerName, headerValue);
}
}
@@ -85,7 +85,7 @@
for (Header header : headers) {
String name = header.getName();
String value = header.getValue();
- if (strategy != null && !strategy.applyFilterToExternalHeaders(name, value)) {
+ if (strategy != null && !strategy.applyFilterToExternalHeaders(name, value, exchange)) {
answer.setHeader(name, value);
}
}
Modified: camel/trunk/components/camel-jhc/src/main/java/org/apache/camel/component/jhc/JhcProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jhc/src/main/java/org/apache/camel/component/jhc/JhcProducer.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-jhc/src/main/java/org/apache/camel/component/jhc/JhcProducer.java (original)
+++ camel/trunk/components/camel-jhc/src/main/java/org/apache/camel/component/jhc/JhcProducer.java Thu Mar 26 02:42:05 2009
@@ -157,7 +157,7 @@
HeaderFilterStrategy strategy = ((JhcEndpoint)getEndpoint()).getHeaderFilterStrategy();
for (String headerName : exchange.getIn().getHeaders().keySet()) {
String headerValue = exchange.getIn().getHeader(headerName, String.class);
- if (strategy != null && !strategy.applyFilterToCamelHeaders(headerName, headerValue)) {
+ if (strategy != null && !strategy.applyFilterToCamelHeaders(headerName, headerValue, exchange)) {
req.addHeader(headerName, headerValue);
}
}
@@ -251,7 +251,7 @@
HeaderFilterStrategy strategy = getEndpoint().getHeaderFilterStrategy();
for (Iterator it = httpResponse.headerIterator(); it.hasNext();) {
Header h = (Header) it.next();
- if (strategy != null && !strategy.applyFilterToExternalHeaders(h.getName(), h.getValue())) {
+ if (strategy != null && !strategy.applyFilterToExternalHeaders(h.getName(), h.getValue(), e)) {
e.getOut().setHeader(h.getName(), h.getValue());
}
}
Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java (original)
+++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java Thu Mar 26 02:42:05 2009
@@ -115,7 +115,7 @@
}
}
- public Map<String, Object> extractHeadersFromJms(Message jmsMessage) {
+ public Map<String, Object> extractHeadersFromJms(Message jmsMessage, Exchange exchange) {
Map<String, Object> map = new HashMap<String, Object>();
if (jmsMessage != null) {
// lets populate the standard JMS message headers
@@ -147,7 +147,8 @@
String name = names.nextElement().toString();
try {
Object value = jmsMessage.getObjectProperty(name);
- if (headerFilterStrategy != null && headerFilterStrategy.applyFilterToExternalHeaders(name, value)) {
+ if (headerFilterStrategy != null &&
+ headerFilterStrategy.applyFilterToExternalHeaders(name, value, exchange)) {
continue;
}
@@ -267,7 +268,7 @@
// JMSMessageID, JMSTimestamp, JMSRedelivered
LOG.debug("Ignoring JMS header: " + headerName + " with value: " + headerValue);
}
- } else if (shouldOutputHeader(in, headerName, headerValue)) {
+ } else if (shouldOutputHeader(in, headerName, headerValue, exchange)) {
// only primitive headers and strings is allowed as properties
// see message properties: http://java.sun.com/j2ee/1.4/docs/api/javax/jms/Message.html
Object value = getValidJMSHeaderValue(headerName, headerValue);
@@ -436,10 +437,10 @@
* <b>Note</b>: Currently only supports sending java identifiers as keys
*/
protected boolean shouldOutputHeader(org.apache.camel.Message camelMessage, String headerName,
- Object headerValue) {
+ Object headerValue, Exchange exchange) {
return headerFilterStrategy == null
- || !headerFilterStrategy.applyFilterToCamelHeaders(headerName, headerValue);
+ || !headerFilterStrategy.applyFilterToCamelHeaders(headerName, headerValue, exchange);
}
}
Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java (original)
+++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java Thu Mar 26 02:42:05 2009
@@ -155,7 +155,7 @@
@Override
protected void populateInitialHeaders(Map<String, Object> map) {
if (jmsMessage != null && map != null) {
- map.putAll(getBinding().extractHeadersFromJms(jmsMessage));
+ map.putAll(getBinding().extractHeadersFromJms(jmsMessage, getExchange()));
}
}
Modified: camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java (original)
+++ camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java Thu Mar 26 02:42:05 2009
@@ -124,7 +124,7 @@
Object headerValue = entry.getValue();
if (headerValue != null) {
if (headerFilterStrategy != null
- && !headerFilterStrategy.applyFilterToCamelHeaders(headerName, headerValue)) {
+ && !headerFilterStrategy.applyFilterToCamelHeaders(headerName, headerValue, exchange)) {
if (isRecipientHeader(headerName)) {
// skip any recipients as they are handled specially
@@ -232,7 +232,7 @@
return true;
}
- protected Map<String, Object> extractHeadersFromMail(Message mailMessage) throws MessagingException {
+ protected Map<String, Object> extractHeadersFromMail(Message mailMessage, Exchange exchange) throws MessagingException {
Map<String, Object> answer = new HashMap<String, Object>();
Enumeration names = mailMessage.getAllHeaders();
@@ -240,7 +240,7 @@
Header header = (Header)names.nextElement();
String[] value = mailMessage.getHeader(header.getName());
if (headerFilterStrategy != null
- && !headerFilterStrategy.applyFilterToExternalHeaders(header.getName(), value)) {
+ && !headerFilterStrategy.applyFilterToExternalHeaders(header.getName(), value, exchange)) {
// toLowerCase() for doing case insensitive search
if (value.length == 1) {
CollectionHelper.appendValue(answer, header.getName().toLowerCase(), value[0]);
Modified: camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java (original)
+++ camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java Thu Mar 26 02:42:05 2009
@@ -103,7 +103,7 @@
protected void populateInitialHeaders(Map<String, Object> map) {
if (mailMessage != null) {
try {
- map.putAll(getExchange().getBinding().extractHeadersFromMail(mailMessage));
+ map.putAll(getExchange().getBinding().extractHeadersFromMail(mailMessage, getExchange()));
} catch (MessagingException e) {
throw new RuntimeCamelException("Error accessing headers due to: " + e.getMessage(), e);
}
Modified: camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java (original)
+++ camel/trunk/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/DefaultRestletBinding.java Thu Mar 26 02:42:05 2009
@@ -62,7 +62,7 @@
// extract headers from restlet
for (Map.Entry<String, Object> entry : request.getAttributes().entrySet()) {
if (!headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(),
- entry.getValue())) {
+ entry.getValue(), exchange)) {
inMessage.setHeader(entry.getKey(), entry.getValue());
if (LOG.isDebugEnabled()) {
@@ -95,7 +95,7 @@
}
} else {
if (!headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(),
- entry.getValue())) {
+ entry.getValue(), exchange)) {
inMessage.setHeader(entry.getKey(), entry.getValue());
if (LOG.isDebugEnabled()) {
@@ -138,7 +138,7 @@
}
for (Map.Entry<String, Object> entry : exchange.getIn().getHeaders().entrySet()) {
- if (!headerFilterStrategy.applyFilterToCamelHeaders(entry.getKey(), entry.getValue())) {
+ if (!headerFilterStrategy.applyFilterToCamelHeaders(entry.getKey(), entry.getValue(), exchange)) {
if (entry.getKey().startsWith("org.restlet.")) {
// put the org.restlet headers in attributes
request.getAttributes().put(entry.getKey(), entry.getValue());
@@ -202,7 +202,7 @@
}
for (Map.Entry<String, Object> entry : out.getHeaders().entrySet()) {
- if (!headerFilterStrategy.applyFilterToCamelHeaders(entry.getKey(), entry.getValue())) {
+ if (!headerFilterStrategy.applyFilterToCamelHeaders(entry.getKey(), entry.getValue(), exchange)) {
response.getAttributes().put(entry.getKey(), entry.getValue());
if (LOG.isDebugEnabled()) {
LOG.debug("Populate Restlet response from exchange header: "
@@ -233,7 +233,7 @@
public void populateExchangeFromRestletResponse(Exchange exchange, Response response) throws IOException {
for (Map.Entry<String, Object> entry : response.getAttributes().entrySet()) {
- if (!headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(), entry.getValue())) {
+ if (!headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(), entry.getValue(), exchange)) {
exchange.getOut().setHeader(entry.getKey(), entry.getValue());
if (LOG.isDebugEnabled()) {
LOG.debug("Populate exchange from Restlet response header: "
Modified: camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java (original)
+++ camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java Thu Mar 26 02:42:05 2009
@@ -55,7 +55,7 @@
for (Map.Entry<String, Object> entry : entries) {
String name = entry.getKey();
Object value = entry.getValue();
- if (!headerFilterStrategy.applyFilterToCamelHeaders(name, value)) {
+ if (!headerFilterStrategy.applyFilterToCamelHeaders(name, value, exchange)) {
message.setProperty(name, value);
}
}
@@ -73,13 +73,13 @@
return message.getBody();
}
- public Map<String, Object> extractHeadersFromXmpp(Message xmppMessage) {
+ public Map<String, Object> extractHeadersFromXmpp(Message xmppMessage, Exchange exchange) {
Map<String, Object> answer = new HashMap<String, Object>();
for (String name : xmppMessage.getPropertyNames()) {
Object value = xmppMessage.getProperty(name);
- if (!headerFilterStrategy.applyFilterToExternalHeaders(name, value)) {
+ if (!headerFilterStrategy.applyFilterToExternalHeaders(name, value, exchange)) {
answer.put(name, value);
}
}
Modified: camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java?rev=758505&r1=758504&r2=758505&view=diff
==============================================================================
--- camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java (original)
+++ camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java Thu Mar 26 02:42:05 2009
@@ -79,7 +79,7 @@
@Override
protected void populateInitialHeaders(Map<String, Object> map) {
if (xmppMessage != null) {
- map.putAll(getExchange().getBinding().extractHeadersFromXmpp(xmppMessage));
+ map.putAll(getExchange().getBinding().extractHeadersFromXmpp(xmppMessage, getExchange()));
}
}
}