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 2009/01/09 17:43:49 UTC
svn commit: r733079 - in /activemq/camel/trunk:
camel-core/src/main/java/org/apache/camel/
camel-core/src/main/java/org/apache/camel/component/bean/
camel-core/src/main/java/org/apache/camel/component/file/
camel-core/src/main/java/org/apache/camel/com...
Author: jstrachan
Date: Fri Jan 9 08:43:48 2009
New Revision: 733079
URL: http://svn.apache.org/viewvc?rev=733079&view=rev
Log:
add a fromEndpoint property to Exchange so that we can see where an exchange comes from if it is part of a route - for example in the Tracer - for CAMEL-1243. Also added a constructor for Exchange taking the Endpoint and switched the custom Exchange classes to prefer to use it
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileExchangeTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java
activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpExchange.java
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java
activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailExchange.java
activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
activemq/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationExchange.java
activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapter.java
activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppExchange.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Exchange.java Fri Jan 9 08:43:48 2009
@@ -207,6 +207,21 @@
*/
void copyFrom(Exchange source);
+
+ /**
+ * Returns the endpoint which originated this message exchange if a consumer on an endpoint created the message exchange
+ * otherwise this property will be null
+ */
+ Endpoint getFromEndpoint();
+
+ /**
+ * Sets the endpoint which originated this message exchange. This method
+ * should typically only be called by {@link org.apache.camel.Endpoint} implementations
+ *
+ * @param fromEndpoint the endpoint which is originating this message exchange
+ */
+ void setFromEndpoint(Endpoint fromEndpoint);
+
/**
* Returns the unit of work that this exchange belongs to; which may map to
* zero, one or more physical transactions
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java Fri Jan 9 08:43:48 2009
@@ -50,7 +50,7 @@
if (methodInfo != null) {
pattern = methodInfo.getPattern();
}
- Exchange exchange = new DefaultExchange(endpoint.getCamelContext(), pattern);
+ Exchange exchange = new DefaultExchange(endpoint, pattern);
exchange.getIn().setBody(invocation);
producer.process(exchange);
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java Fri Jan 9 08:43:48 2009
@@ -135,7 +135,7 @@
* @return the created exchange
*/
public FileExchange createExchange(File file) {
- return new FileExchange(getCamelContext(), getExchangePattern(), file);
+ return new FileExchange(this, getExchangePattern(), file);
}
@Override
@@ -145,7 +145,7 @@
@Override
public Exchange createExchange(ExchangePattern pattern) {
- return new FileExchange(getCamelContext(), pattern, file);
+ return new FileExchange(this, pattern, file);
}
/**
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java Fri Jan 9 08:43:48 2009
@@ -33,8 +33,8 @@
public class FileExchange extends DefaultExchange {
private File file;
- public FileExchange(CamelContext camelContext, ExchangePattern pattern, File file) {
- super(camelContext, pattern);
+ public FileExchange(FileEndpoint endpoint, ExchangePattern pattern, File file) {
+ super(endpoint, pattern);
setFile(file);
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java Fri Jan 9 08:43:48 2009
@@ -93,19 +93,11 @@
}
public Exchange createExchange(Notification notification) {
- Exchange exchange = new DefaultExchange(getCamelContext(), getExchangePattern());
+ Exchange exchange = createExchange();
exchange.setIn(new JMXMessage(notification));
return exchange;
}
- public Exchange createExchange() {
- return createExchange(getExchangePattern());
- }
-
- public Exchange createExchange(ExchangePattern pattern) {
- return new DefaultExchange(getCamelContext(), pattern);
- }
-
public String getAttributeName() {
return attributeName;
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java Fri Jan 9 08:43:48 2009
@@ -169,7 +169,7 @@
}
public Exchange createExchange(ExchangePattern pattern) {
- return new DefaultExchange(getCamelContext(), pattern);
+ return new DefaultExchange(this, pattern);
}
public ExchangePattern getExchangePattern() {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java Fri Jan 9 08:43:48 2009
@@ -25,6 +25,7 @@
import org.apache.camel.ExchangeProperty;
import org.apache.camel.Message;
import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.Endpoint;
import org.apache.camel.spi.UnitOfWork;
import org.apache.camel.util.UuidGenerator;
import static org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException;
@@ -46,6 +47,7 @@
private String exchangeId;
private UnitOfWork unitOfWork;
private ExchangePattern pattern;
+ private Endpoint fromEndpoint;
public DefaultExchange(CamelContext context) {
this(context, ExchangePattern.InOnly);
@@ -61,6 +63,16 @@
this.unitOfWork = parent.getUnitOfWork();
}
+ public DefaultExchange(Endpoint fromEndpoint) {
+ this(fromEndpoint, ExchangePattern.InOnly);
+ }
+
+ public DefaultExchange(Endpoint fromEndpoint, ExchangePattern pattern) {
+ this.context = fromEndpoint.getCamelContext();
+ this.fromEndpoint = fromEndpoint;
+ this.pattern = pattern;
+ }
+
@Override
public String toString() {
return "Exchange[" + in + "]";
@@ -92,6 +104,7 @@
unitOfWork = exchange.getUnitOfWork();
pattern = exchange.getPattern();
+ setFromEndpoint(exchange.getFromEndpoint());
}
private static void safeCopy(Message message, Exchange exchange, Message that) {
@@ -237,6 +250,14 @@
this.pattern = pattern;
}
+ public Endpoint getFromEndpoint() {
+ return fromEndpoint;
+ }
+
+ public void setFromEndpoint(Endpoint fromEndpoint) {
+ this.fromEndpoint = fromEndpoint;
+ }
+
public void throwException() throws Exception {
if (exception == null) {
return;
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileExchangeTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileExchangeTest.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileExchangeTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileExchangeTest.java Fri Jan 9 08:43:48 2009
@@ -30,10 +30,11 @@
*/
public class FileExchangeTest extends ContextTestSupport {
protected File file;
+ protected FileEndpoint endpoint;
protected ExchangePattern pattern = ExchangePattern.InOnly;
public void testCopy() {
- FileExchange fileExchange = new FileExchange(context, pattern, file);
+ FileExchange fileExchange = new FileExchange(endpoint, pattern, file);
Exchange exchange = fileExchange.copy();
FileExchange copy = assertIsInstanceOf(FileExchange.class, exchange);
assertEquals("File", file, copy.getFile());
@@ -42,7 +43,7 @@
}
public void testCopyAfterBodyChanged() throws Exception {
- FileExchange original = new FileExchange(context, pattern, file);
+ FileExchange original = new FileExchange(endpoint, pattern, file);
Object expectedBody = 1234;
original.getIn().setBody(expectedBody);
Exchange exchange = original.copy();
@@ -62,7 +63,7 @@
};
Pipeline pipeline = new Pipeline(Collections.singletonList(myProcessor));
- FileExchange exchange = new FileExchange(context, pattern, file);
+ FileExchange exchange = new FileExchange(endpoint, pattern, file);
pipeline.process(exchange.copy());
}
@@ -70,5 +71,6 @@
protected void setUp() throws Exception {
super.setUp();
file = new File(FileExchangeTest.class.getResource("FileExchangeTest.class").getFile());
+ endpoint = getMandatoryEndpoint(file.toURL().toString(), FileEndpoint.class);
}
}
\ No newline at end of file
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java Fri Jan 9 08:43:48 2009
@@ -27,6 +27,7 @@
import org.apache.camel.LanguageTestSupport;
import org.apache.camel.component.file.FileComponent;
import org.apache.camel.component.file.FileExchange;
+import org.apache.camel.component.file.FileEndpoint;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.language.simple.FileLanguage;
@@ -105,11 +106,13 @@
public Exchange createExchange() {
// create the file
- template.sendBodyAndHeader("file://target/filelanguage", "Hello World", FileComponent.HEADER_FILE_NAME, "hello.txt");
+ String uri = "file://target/filelanguage";
+ template.sendBodyAndHeader(uri, "Hello World", FileComponent.HEADER_FILE_NAME, "hello.txt");
// get the file handle
file = new File("target/filelanguage/hello.txt");
- Exchange answer = new FileExchange(context, ExchangePattern.InOut, file);
+ FileEndpoint endpoint = getMandatoryEndpoint(uri, FileEndpoint.class);
+ Exchange answer = new FileExchange(endpoint, ExchangePattern.InOut, file);
Calendar cal = GregorianCalendar.getInstance();
cal.set(1974, Calendar.APRIL, 20);
Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java Fri Jan 9 08:43:48 2009
@@ -78,15 +78,15 @@
}
public Exchange createExchange() {
- return new CxfExchange(getCamelContext(), getExchangePattern());
+ return new CxfExchange(this, getExchangePattern());
}
public Exchange createExchange(ExchangePattern pattern) {
- return new CxfExchange(getCamelContext(), pattern);
+ return new CxfExchange(this, pattern);
}
public CxfExchange createExchange(Message inMessage) {
- return new CxfExchange(getCamelContext(), getExchangePattern(), inMessage);
+ return new CxfExchange(this, getExchangePattern(), inMessage);
}
/* Override the defaultEndpoint exchange create method */
Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java Fri Jan 9 08:43:48 2009
@@ -52,8 +52,8 @@
}
}
- public CxfExchange(CamelContext context, ExchangePattern pattern) {
- super(context, pattern);
+ public CxfExchange(CxfEndpoint endpoint, ExchangePattern pattern) {
+ super(endpoint, pattern);
}
public CxfExchange(CxfExchange exchange) {
@@ -61,8 +61,8 @@
this.exchange = exchange.getExchange();
}
- public CxfExchange(CamelContext context, ExchangePattern pattern, Message inMessage) {
- this(context, pattern);
+ public CxfExchange(CxfEndpoint endpoint, ExchangePattern pattern, Message inMessage) {
+ this(endpoint, pattern);
this.exchange = inMessage.getExchange();
setIn(new CxfMessage(inMessage));
Modified: activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java Fri Jan 9 08:43:48 2009
@@ -78,11 +78,11 @@
}
public RemoteFileExchange createExchange() {
- return new RemoteFileExchange(getCamelContext(), getExchangePattern(), null);
+ return new RemoteFileExchange(this, getExchangePattern(), null);
}
public RemoteFileExchange createExchange(RemoteFile remote) {
- return new RemoteFileExchange(getCamelContext(), getExchangePattern(), remote);
+ return new RemoteFileExchange(this, getExchangePattern(), remote);
}
public RemoteFileProducer createProducer() throws Exception {
Modified: activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java (original)
+++ activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java Fri Jan 9 08:43:48 2009
@@ -24,8 +24,8 @@
public class RemoteFileExchange extends DefaultExchange {
private RemoteFile remoteFile;
- public RemoteFileExchange(CamelContext context, ExchangePattern pattern, RemoteFile remoteFile) {
- super(context, pattern);
+ public RemoteFileExchange(RemoteFileEndpoint endpoint, ExchangePattern pattern, RemoteFile remoteFile) {
+ super(endpoint, pattern);
setRemoteFile(remoteFile);
}
Modified: activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpExchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpExchange.java (original)
+++ activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpExchange.java Fri Jan 9 08:43:48 2009
@@ -34,7 +34,7 @@
private HttpServletResponse response;
public HttpExchange(HttpEndpoint endpoint, ExchangePattern pattern) {
- super(endpoint.getCamelContext(), pattern);
+ super(endpoint, pattern);
this.endpoint = endpoint;
}
Modified: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java Fri Jan 9 08:43:48 2009
@@ -44,39 +44,39 @@
}
public Exchange createExchange(ExchangePattern pattern) {
- return new IrcExchange(getCamelContext(), pattern, getBinding());
+ return new IrcExchange(this, pattern, getBinding());
}
public IrcExchange createOnPrivmsgExchange(String target, IRCUser user, String msg) {
- return new IrcExchange(getCamelContext(), getExchangePattern(), getBinding(), new IrcMessage("PRIVMSG", target, user, msg));
+ return new IrcExchange(this, getExchangePattern(), getBinding(), new IrcMessage("PRIVMSG", target, user, msg));
}
public IrcExchange createOnNickExchange(IRCUser user, String newNick) {
- return new IrcExchange(getCamelContext(), getExchangePattern(), getBinding(), new IrcMessage("NICK", user, newNick));
+ return new IrcExchange(this, getExchangePattern(), getBinding(), new IrcMessage("NICK", user, newNick));
}
public IrcExchange createOnQuitExchange(IRCUser user, String msg) {
- return new IrcExchange(getCamelContext(), getExchangePattern(), getBinding(), new IrcMessage("QUIT", user, msg));
+ return new IrcExchange(this, getExchangePattern(), getBinding(), new IrcMessage("QUIT", user, msg));
}
public IrcExchange createOnJoinExchange(String channel, IRCUser user) {
- return new IrcExchange(getCamelContext(), getExchangePattern(), getBinding(), new IrcMessage("JOIN", channel, user));
+ return new IrcExchange(this, getExchangePattern(), getBinding(), new IrcMessage("JOIN", channel, user));
}
public IrcExchange createOnKickExchange(String channel, IRCUser user, String whoWasKickedNick, String msg) {
- return new IrcExchange(getCamelContext(), getExchangePattern(), getBinding(), new IrcMessage("KICK", channel, user, whoWasKickedNick, msg));
+ return new IrcExchange(this, getExchangePattern(), getBinding(), new IrcMessage("KICK", channel, user, whoWasKickedNick, msg));
}
public IrcExchange createOnModeExchange(String channel, IRCUser user, IRCModeParser modeParser) {
- return new IrcExchange(getCamelContext(), getExchangePattern(), getBinding(), new IrcMessage("MODE", channel, user, modeParser.getLine()));
+ return new IrcExchange(this, getExchangePattern(), getBinding(), new IrcMessage("MODE", channel, user, modeParser.getLine()));
}
public IrcExchange createOnPartExchange(String channel, IRCUser user, String msg) {
- return new IrcExchange(getCamelContext(), getExchangePattern(), getBinding(), new IrcMessage("PART", channel, user, msg));
+ return new IrcExchange(this, getExchangePattern(), getBinding(), new IrcMessage("PART", channel, user, msg));
}
public IrcExchange createOnTopicExchange(String channel, IRCUser user, String topic) {
- return new IrcExchange(getCamelContext(), getExchangePattern(), getBinding(), new IrcMessage("TOPIC", channel, user, topic));
+ return new IrcExchange(this, getExchangePattern(), getBinding(), new IrcMessage("TOPIC", channel, user, topic));
}
public IrcProducer createProducer() throws Exception {
Modified: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java (original)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java Fri Jan 9 08:43:48 2009
@@ -23,13 +23,13 @@
public class IrcExchange extends DefaultExchange {
private IrcBinding binding;
- public IrcExchange(CamelContext context, ExchangePattern pattern, IrcBinding binding) {
- super(context, pattern);
+ public IrcExchange(IrcEndpoint endpoint, ExchangePattern pattern, IrcBinding binding) {
+ super(endpoint, pattern);
this.binding = binding;
}
- public IrcExchange(CamelContext context, ExchangePattern pattern, IrcBinding binding, IrcMessage inMessage) {
- this(context, pattern, binding);
+ public IrcExchange(IrcEndpoint endpoint, ExchangePattern pattern, IrcBinding binding, IrcMessage inMessage) {
+ this(endpoint, pattern, binding);
setIn(inMessage);
}
Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java Fri Jan 9 08:43:48 2009
@@ -102,7 +102,7 @@
}
public JmsExchange createExchange(Message message, Destination replyDestination) {
- JmsExchange exchange = new JmsExchange(endpoint.getCamelContext(), endpoint.getExchangePattern(), getBinding(), message);
+ JmsExchange exchange = new JmsExchange(endpoint, endpoint.getExchangePattern(), getBinding(), message);
// lets set to an InOut if we have some kind of reply-to destination
if (replyDestination != null && !disableReplyTo) {
exchange.setProperty("org.apache.camel.jms.replyDestination", replyDestination);
Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java Fri Jan 9 08:43:48 2009
@@ -156,11 +156,11 @@
@Override
public Exchange createExchange(ExchangePattern pattern) {
- return new JmsExchange(getCamelContext(), pattern, getBinding());
+ return new JmsExchange(this, pattern, getBinding());
}
public JmsExchange createExchange(Message message) {
- return new JmsExchange(getCamelContext(), getExchangePattern(), getBinding(), message);
+ return new JmsExchange(this, getExchangePattern(), getBinding(), message);
}
/**
Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java Fri Jan 9 08:43:48 2009
@@ -32,13 +32,19 @@
public class JmsExchange extends DefaultExchange {
private JmsBinding binding;
- public JmsExchange(CamelContext context, ExchangePattern pattern, JmsBinding binding) {
- super(context, pattern);
+ public JmsExchange(JmsEndpoint endpoint, ExchangePattern pattern, JmsBinding binding) {
+ super(endpoint, pattern);
this.binding = binding;
}
public JmsExchange(CamelContext context, ExchangePattern pattern, JmsBinding binding, Message message) {
- this(context, pattern, binding);
+ super(context, pattern);
+ this.binding = binding;
+ setIn(new JmsMessage(message));
+ }
+
+ public JmsExchange(JmsEndpoint endpoint, ExchangePattern pattern, JmsBinding binding, Message message) {
+ this(endpoint, pattern, binding);
setIn(new JmsMessage(message));
}
Modified: activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java Fri Jan 9 08:43:48 2009
@@ -90,11 +90,11 @@
@Override
public Exchange createExchange(ExchangePattern pattern) {
- return new MailExchange(getCamelContext(), pattern, getBinding());
+ return new MailExchange(this, pattern, getBinding());
}
public MailExchange createExchange(Message message) {
- return new MailExchange(getCamelContext(), getExchangePattern(), getBinding(), message);
+ return new MailExchange(this, getExchangePattern(), getBinding(), message);
}
// Properties
Modified: activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailExchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailExchange.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailExchange.java Fri Jan 9 08:43:48 2009
@@ -31,13 +31,13 @@
public class MailExchange extends DefaultExchange {
private MailBinding binding;
- public MailExchange(CamelContext context, ExchangePattern pattern, MailBinding binding) {
- super(context, pattern);
+ public MailExchange(MailEndpoint endpoint, ExchangePattern pattern, MailBinding binding) {
+ super(endpoint, pattern);
this.binding = binding;
}
- public MailExchange(CamelContext context, ExchangePattern pattern, MailBinding binding, Message message) {
- this(context, pattern, binding);
+ public MailExchange(MailEndpoint endpoint, ExchangePattern pattern, MailBinding binding, Message message) {
+ this(endpoint, pattern, binding);
setIn(new MailMessage(message));
}
Modified: activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java Fri Jan 9 08:43:48 2009
@@ -79,13 +79,8 @@
return new MinaConsumer(this, processor);
}
- @Override
- public Exchange createExchange(ExchangePattern pattern) {
- return new DefaultExchange(getCamelContext(), pattern);
- }
-
public Exchange createExchange(IoSession session, Object payload) {
- Exchange exchange = new DefaultExchange(getCamelContext(), getExchangePattern());
+ Exchange exchange = createExchange();
MinaPayloadHelper.setIn(exchange, payload);
return exchange;
}
Modified: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java Fri Jan 9 08:43:48 2009
@@ -124,13 +124,8 @@
}
}
- @Override
- public Exchange createExchange(ExchangePattern pattern) {
- return new DefaultExchange(getCamelContext(), pattern);
- }
-
public Exchange createExchange(JobExecutionContext jobExecutionContext) {
- Exchange exchange = new DefaultExchange(getCamelContext(), getExchangePattern());
+ Exchange exchange = createExchange();
exchange.setIn(new QuartzMessage(exchange, jobExecutionContext));
return exchange;
}
Modified: activemq/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java Fri Jan 9 08:43:48 2009
@@ -58,11 +58,6 @@
return false;
}
- @Override
- public Exchange createExchange(ExchangePattern pattern) {
- return new DefaultExchange(getCamelContext(), pattern);
- }
-
public Consumer createConsumer(Processor processor) throws Exception {
if (remoteInterfaces == null || remoteInterfaces.size() == 0) {
throw new RuntimeCamelException("To create a RMI consumer, the RMI endpoint's remoteInterfaces property must be be configured.");
Modified: activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java Fri Jan 9 08:43:48 2009
@@ -68,7 +68,7 @@
}
public Exchange createExchange(ExchangePattern pattern) {
- return new SpringIntegrationExchange(getCamelContext(), pattern);
+ return new SpringIntegrationExchange(this, pattern);
}
public void setInputChannel(String input) {
Modified: activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationExchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationExchange.java (original)
+++ activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationExchange.java Fri Jan 9 08:43:48 2009
@@ -17,31 +17,40 @@
package org.apache.camel.component.spring.integration;
-import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Message;
+import org.apache.camel.component.spring.integration.adapter.CamelTargetAdapter;
import org.apache.camel.impl.DefaultExchange;
/**
* An {@link Exchange} for working with Spring Integration endpoints which exposes the underlying
- * Spring messages via {@link #getInMessage()} and {@link #getOutMessage()}
+ * Spring messages via {@link #getIn()} and {@link #getOut()}
*
* @version $Revision$
*/
-public class SpringIntegrationExchange extends DefaultExchange {
+public class SpringIntegrationExchange extends DefaultExchange {
- public SpringIntegrationExchange(CamelContext context) {
- super(context);
+ public SpringIntegrationExchange(SpringIntegrationEndpoint endpoint) {
+ super(endpoint);
}
- public SpringIntegrationExchange(CamelContext context, ExchangePattern pattern) {
- super(context, pattern);
+ public SpringIntegrationExchange(SpringIntegrationEndpoint endpoint, ExchangePattern pattern) {
+ super(endpoint, pattern);
+ }
+
+ public SpringIntegrationExchange(CamelTargetAdapter adapter, ExchangePattern pattern) {
+ super(adapter.getCamelContext(), pattern);
+ }
+
+ public SpringIntegrationEndpoint getFromSpringIntegrationEndpoint() {
+ return (SpringIntegrationEndpoint) super.getFromEndpoint();
+
}
@Override
public Exchange newInstance() {
- return new SpringIntegrationExchange(this.getContext());
+ return new SpringIntegrationExchange(getFromSpringIntegrationEndpoint());
}
@Override
Modified: activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapter.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapter.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapter.java (original)
+++ activemq/camel/trunk/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/adapter/CamelTargetAdapter.java Fri Jan 9 08:43:48 2009
@@ -74,7 +74,7 @@
} else {
pattern = ExchangePattern.InOnly;
}
- Exchange inExchange = new SpringIntegrationExchange(getCamelContext(), pattern);
+ Exchange inExchange = new SpringIntegrationExchange(this, pattern);
SpringIntegrationBinding.storeToCamelMessage(message, inExchange.getIn());
Exchange outExchange = getCamelTemplate().send(getCamelEndpointUri(), inExchange);
if (outExchange.getFault() != null) {
Modified: activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java Fri Jan 9 08:43:48 2009
@@ -90,11 +90,11 @@
@Override
public Exchange createExchange(ExchangePattern pattern) {
- return new XmppExchange(getCamelContext(), pattern, getBinding());
+ return new XmppExchange(this, pattern, getBinding());
}
public XmppExchange createExchange(Message message) {
- return new XmppExchange(getCamelContext(), getExchangePattern(), getBinding(), message);
+ return new XmppExchange(this, getExchangePattern(), getBinding(), message);
}
// Properties
Modified: activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppExchange.java?rev=733079&r1=733078&r2=733079&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppExchange.java (original)
+++ activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppExchange.java Fri Jan 9 08:43:48 2009
@@ -31,13 +31,13 @@
public class XmppExchange extends DefaultExchange {
private XmppBinding binding;
- public XmppExchange(CamelContext context, ExchangePattern pattern, XmppBinding binding) {
- super(context, pattern);
+ public XmppExchange(XmppEndpoint endpoint, ExchangePattern pattern, XmppBinding binding) {
+ super(endpoint, pattern);
this.binding = binding;
}
- public XmppExchange(CamelContext context, ExchangePattern pattern, XmppBinding binding, Message message) {
- this(context, pattern, binding);
+ public XmppExchange(XmppEndpoint endpoint, ExchangePattern pattern, XmppBinding binding, Message message) {
+ this(endpoint, pattern, binding);
setIn(new XmppMessage(message));
}