Author: davsclaus
Date: Thu Sep 30 09:48:52 2010
New Revision: 1002979

URL: http://svn.apache.org/viewvc?rev=1002979&view=rev
Log:
CAMEL-1350: Applied 2.1 patch. Polished pom.xml. Fixed CS.

Added:
    
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/AuthenticationExample.java
   (with props)
Modified:
    camel/trunk/components/camel-quickfix/pom.xml
    
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConsumer.java
    
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
    
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
    
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEventListener.java
    
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjConsumerTest.java
    camel/trunk/parent/pom.xml

Modified: camel/trunk/components/camel-quickfix/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/pom.xml?rev=1002979&r1=1002978&r2=1002979&view=diff
==============================================================================
--- camel/trunk/components/camel-quickfix/pom.xml (original)
+++ camel/trunk/components/camel-quickfix/pom.xml Thu Sep 30 09:48:52 2010
@@ -1,17 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Licensed to the Apache Software Foundation (ASF) under one or more 
contributor 
-       license agreements. See the NOTICE file distributed with this work for 
additional 
-       information regarding copyright ownership. The ASF licenses this file 
to 
-       You under the Apache License, Version 2.0 (the "License"); you may not 
use 
-       this file except in compliance with the License. You may obtain a copy 
of 
-       the License at http://www.apache.org/licenses/LICENSE-2.0 Unless 
required 
-       by applicable law or agreed to in writing, software distributed under 
the 
-       License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS 
-       OF ANY KIND, either express or implied. See the License for the 
specific 
-       language governing permissions and limitations under the License. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
+
        <modelVersion>4.0.0</modelVersion>
+
        <parent>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-parent</artifactId>
@@ -50,7 +57,7 @@
                <dependency>
                        <groupId>org.quickfixj</groupId>
                        <artifactId>quickfixj-all</artifactId>
-                       <version>1.5.0</version>
+                       <version>${quickfix-version}</version>
                </dependency>
                <dependency>
                        <groupId>org.apache.mina</groupId>

Modified: 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConsumer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConsumer.java?rev=1002979&r1=1002978&r2=1002979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConsumer.java
 (original)
+++ 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConsumer.java
 Thu Sep 30 09:48:52 2010
@@ -19,21 +19,16 @@ package org.apache.camel.component.quick
 import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
-import org.apache.camel.component.quickfixj.converter.QuickfixjConverters;
 import org.apache.camel.impl.DefaultConsumer;
 
-import quickfix.Message;
-import quickfix.SessionID;
-
 public class QuickfixjConsumer extends DefaultConsumer {
 
     public QuickfixjConsumer(Endpoint endpoint, Processor processor) {
         super(endpoint, processor);
     }
 
-    public void onEvent(QuickfixjEventCategory eventCategory, SessionID 
sessionID, Message message) {
+    public void onExchange(Exchange exchange) throws Exception {
         if (isStarted()) {
-            Exchange exchange = QuickfixjConverters.toExchange(getEndpoint(), 
sessionID, message, eventCategory);
             try {
                 getProcessor().process(exchange);
             } catch (Exception e) {

Modified: 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java?rev=1002979&r1=1002978&r2=1002979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
 (original)
+++ 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
 Thu Sep 30 09:48:52 2010
@@ -21,9 +21,11 @@ import java.util.concurrent.CopyOnWriteA
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Consumer;
+import org.apache.camel.Exchange;
 import org.apache.camel.MultipleConsumersSupport;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
+import org.apache.camel.component.quickfixj.converter.QuickfixjConverters;
 import org.apache.camel.impl.DefaultEndpoint;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -57,7 +59,7 @@ public class QuickfixjEndpoint extends D
     public Consumer createConsumer(Processor processor) throws Exception {
         LOG.info("Creating QuickFIX/J consumer: " + (sessionID != null ? 
sessionID : "No Session"));
         QuickfixjConsumer consumer = new QuickfixjConsumer(this, processor);
-        // TODO It's not clear how the consumer lifecycle is managed
+        // TODO The lifecycle mgmt requirements aren't clear to me
         consumer.start();
         consumers.add(consumer);
         return consumer;
@@ -73,10 +75,14 @@ public class QuickfixjEndpoint extends D
         return true;
     }
 
-    public void onEvent(QuickfixjEventCategory eventCategory, SessionID 
sessionID, Message message) {
+    public void onEvent(QuickfixjEventCategory eventCategory, SessionID 
sessionID, Message message) throws Exception {
         if (this.sessionID == null || this.sessionID.equals(sessionID)) {
             for (QuickfixjConsumer consumer : consumers) {
-                consumer.onEvent(eventCategory, sessionID, message);
+                Exchange exchange = QuickfixjConverters.toExchange(this, 
sessionID, message, eventCategory);
+                consumer.onExchange(exchange);
+                if (exchange.getException() != null) {
+                    throw exchange.getException();
+                }
             }
         }
     }

Modified: 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java?rev=1002979&r1=1002978&r2=1002979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
 (original)
+++ 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEngine.java
 Thu Sep 30 09:48:52 2010
@@ -336,44 +336,92 @@ public class QuickfixjEngine {
 
     private class Dispatcher implements Application {
         public void fromAdmin(Message message, SessionID sessionID) throws 
FieldNotFound, IncorrectDataFormat, IncorrectTagValue, RejectLogon {
-            dispatch(QuickfixjEventCategory.AdminMessageReceived, sessionID, 
message);
+            try {
+                dispatch(QuickfixjEventCategory.AdminMessageReceived, 
sessionID, message);
+            } catch (RuntimeException e) {
+                throw e;
+            } catch (Exception e) {
+                rethrowIfType(e, FieldNotFound.class);
+                rethrowIfType(e, IncorrectDataFormat.class);
+                rethrowIfType(e, IncorrectTagValue.class);
+                rethrowIfType(e, RejectLogon.class);               
+                throw new DispatcherException(e);
+            }
         }
-
+        
         public void fromApp(Message message, SessionID sessionID) throws 
FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
-            dispatch(QuickfixjEventCategory.AppMessageReceived, sessionID, 
message);
+            try {
+                dispatch(QuickfixjEventCategory.AppMessageReceived, sessionID, 
message);
+            } catch (RuntimeException e) {
+                throw e;
+            } catch (Exception e) {
+                rethrowIfType(e, FieldNotFound.class);
+                rethrowIfType(e, IncorrectDataFormat.class);
+                rethrowIfType(e, IncorrectTagValue.class);
+                rethrowIfType(e, UnsupportedMessageType.class);
+                throw new DispatcherException(e);
+            }
         }
 
         public void onCreate(SessionID sessionID) {
-            dispatch(QuickfixjEventCategory.SessionCreated, sessionID, null);
+            try {
+                dispatch(QuickfixjEventCategory.SessionCreated, sessionID, 
null);
+            } catch (Exception e) {
+                throw new DispatcherException(e);
+            }
         }
 
         public void onLogon(SessionID sessionID) {
-            dispatch(QuickfixjEventCategory.SessionLogon, sessionID, null);
+            try {
+                dispatch(QuickfixjEventCategory.SessionLogon, sessionID, null);
+            } catch (Exception e) {
+                throw new DispatcherException(e);
+            }
         }
 
         public void onLogout(SessionID sessionID) {
-            dispatch(QuickfixjEventCategory.SessionLogoff, sessionID, null);
+            try {
+                dispatch(QuickfixjEventCategory.SessionLogoff, sessionID, 
null);
+            } catch (Exception e) {
+                throw new DispatcherException(e);
+            }
         }
 
         public void toAdmin(Message message, SessionID sessionID) {
-            dispatch(QuickfixjEventCategory.AdminMessageSent, sessionID, 
message);
+            try {
+                dispatch(QuickfixjEventCategory.AdminMessageSent, sessionID, 
message);
+            } catch (Exception e) {
+                throw new DispatcherException(e);
+            }
         }
 
         public void toApp(Message message, SessionID sessionID) throws 
DoNotSend {
-            dispatch(QuickfixjEventCategory.AppMessageSent, sessionID, 
message);
+            try {
+                dispatch(QuickfixjEventCategory.AppMessageSent, sessionID, 
message);
+            } catch (Exception e) {
+                throw new DispatcherException(e);
+            }
         }
         
-        private void dispatch(QuickfixjEventCategory quickfixjEventCategory, 
SessionID sessionID, Message message) {
-            // TODO Find a way to propagate exception to the QFJ engine 
(RejectLogon, DoNotSend, etc.)
+        @SuppressWarnings("unchecked")
+        private <T extends Exception> void rethrowIfType(Exception e, Class<T> 
exceptionClass) throws T {
+            throw (T) e;
+        }
+
+        private void dispatch(QuickfixjEventCategory quickfixjEventCategory, 
SessionID sessionID, Message message) throws Exception {
             if (LOG.isDebugEnabled()) {
                 LOG.debug("FIX event dispatched: " + quickfixjEventCategory + 
" " + (message != null ? message : ""));
             }
             for (QuickfixjEventListener listener : eventListeners) {
-                try {
-                    listener.onEvent(quickfixjEventCategory, sessionID, 
message);
-                } catch (Exception e) {
-                    LOG.error("Error during event dispatching", e);
-                }
+                // Exceptions propagate back to the FIX engine so sequence 
numbers can be adjusted
+                listener.onEvent(quickfixjEventCategory, sessionID, message);
+            }
+        }
+        
+        @SuppressWarnings("serial")
+        private class DispatcherException extends RuntimeException {
+            public DispatcherException(Throwable cause) {
+                super(cause);
             }
         }
     }

Modified: 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEventListener.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEventListener.java?rev=1002979&r1=1002978&r2=1002979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEventListener.java
 (original)
+++ 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEventListener.java
 Thu Sep 30 09:48:52 2010
@@ -25,6 +25,6 @@ import quickfix.SessionID;
  */
 public interface QuickfixjEventListener {
     
-    void onEvent(QuickfixjEventCategory eventCategory, SessionID sessionID, 
Message message);
+    void onEvent(QuickfixjEventCategory eventCategory, SessionID sessionID, 
Message message) throws Exception;
     
 }

Modified: 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjConsumerTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjConsumerTest.java?rev=1002979&r1=1002978&r2=1002979&view=diff
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjConsumerTest.java
 (original)
+++ 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjConsumerTest.java
 Thu Sep 30 09:48:52 2010
@@ -24,14 +24,11 @@ import org.apache.camel.impl.ServiceSupp
 import org.hamcrest.CoreMatchers;
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.Matchers;
 import org.mockito.Mockito;
 
-import quickfix.FixVersions;
-import quickfix.Message;
-import quickfix.SessionID;
-
 public class QuickfixjConsumerTest {
     private Exchange mockExchange;
     private Processor mockProcessor;
@@ -56,9 +53,7 @@ public class QuickfixjConsumerTest {
         Assert.assertThat("Consumer should not be automatically started", 
             ((ServiceSupport)consumer).isStarted(), CoreMatchers.is(false));
         
-        // Simulate a message from the FIX engine
-        SessionID sessionID = new SessionID(FixVersions.BEGINSTRING_FIX44, 
"SENDER", "TARGET");       
-        consumer.onEvent(QuickfixjEventCategory.AppMessageReceived, sessionID, 
new Message());
+        consumer.onExchange(mockExchange);
         
         // No expected interaction with processor since component is not 
started
         Mockito.verifyZeroInteractions(mockProcessor);
@@ -66,8 +61,7 @@ public class QuickfixjConsumerTest {
         consumer.start();
         Assert.assertThat(((ServiceSupport)consumer).isStarted(), 
CoreMatchers.is(true));
         
-        // Simulate a message from the FIX engine
-        consumer.onEvent(QuickfixjEventCategory.AppMessageReceived, sessionID, 
new Message());
+        consumer.onExchange(mockExchange);
         
         // Second message should be processed
         Mockito.verify(mockProcessor).process(Matchers.isA(Exchange.class));
@@ -83,9 +77,26 @@ public class QuickfixjConsumerTest {
         Mockito.doThrow(exception).when(mockProcessor).process(mockExchange);
         
         // Simulate a message from the FIX engine
-        SessionID sessionID = new SessionID(FixVersions.BEGINSTRING_FIX44, 
"SENDER", "TARGET");       
-        consumer.onEvent(QuickfixjEventCategory.AppMessageReceived, sessionID, 
new Message());
+        consumer.onExchange(mockExchange);
         
         Mockito.verify(mockExchange).setException(exception);
     }
+    
+    @Test
+    @Ignore("Modified behavior")
+    public void propagateException() throws Exception {
+        QuickfixjConsumer consumer = new QuickfixjConsumer(mockEndpoint, 
mockProcessor);
+        consumer.start();
+        
+        Throwable exception = new Exception("Throwable for test");
+        Mockito.doThrow(exception).when(mockProcessor).process(mockExchange);
+        
+        try {
+            consumer.onExchange(mockExchange);
+            Assert.fail("Exception was not thrown");
+        } catch (Exception e) {
+            Assert.assertThat(e.getMessage(), CoreMatchers.is("Throwable for 
test"));
+        }
+    }
+    
 }

Added: 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/AuthenticationExample.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/AuthenticationExample.java?rev=1002979&view=auto
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/AuthenticationExample.java
 (added)
+++ 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/AuthenticationExample.java
 Thu Sep 30 09:48:52 2010
@@ -0,0 +1,124 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.quickfixj.examples;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.InvalidPayloadException;
+import org.apache.camel.builder.PredicateBuilder;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.quickfixj.QuickfixjComponent;
+import org.apache.camel.component.quickfixj.QuickfixjEndpoint;
+import org.apache.camel.component.quickfixj.QuickfixjEventCategory;
+import 
org.apache.camel.component.quickfixj.examples.util.CountDownLatchDecrementer;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.util.ExchangeHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import quickfix.FieldNotFound;
+import quickfix.Message;
+import quickfix.RejectLogon;
+import quickfix.field.MsgType;
+import quickfix.field.RawData;
+import quickfix.field.RawDataLength;
+
+/**
+ * This example demonstrates several features of the QuickFIX/J component. It 
uses
+ * QFJ session events to synchronize application behavior (e.g., Session 
logon).
+ * 
+ */
+public class AuthenticationExample {
+    private static final Logger LOG = 
LoggerFactory.getLogger(QuickfixjComponent.class);
+
+    public static void main(String[] args) throws Exception {
+        new AuthenticationExample().run();
+    }
+    
+    public void run() throws Exception {        
+        DefaultCamelContext context = new DefaultCamelContext();
+        
+        final CountDownLatch logoutLatch = new CountDownLatch(1);
+        
+        RouteBuilder routes = new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                // Modify the outgoing logon message to add a password
+                // The modified message will be sent from the FIX engine when 
the message exchange completes
+                
from("quickfix:examples/inprocess.cfg?sessionID=FIX.4.2:TRADER->MARKET").
+                    filter(PredicateBuilder.and(
+                            
header(QuickfixjEndpoint.EVENT_CATEGORY_KEY).isEqualTo(QuickfixjEventCategory.AdminMessageSent),
+                            
header(QuickfixjEndpoint.MESSAGE_TYPE_KEY).isEqualTo(MsgType.LOGON))).
+                    bean(new CredentialInjector("PASSWORD"));
+
+                // Release latch when the trader received a logout message
+                
from("quickfix:examples/inprocess.cfg?sessionID=FIX.4.2:TRADER->MARKET").
+                    
filter(header(QuickfixjEndpoint.EVENT_CATEGORY_KEY).isEqualTo(QuickfixjEventCategory.SessionLogoff)).
+                    bean(new CountDownLatchDecrementer("logout", logoutLatch));
+
+                // Reject all logons on market side
+                // Demonstrates how to validate logons
+                
from("quickfix:examples/inprocess.cfg?sessionID=FIX.4.2:MARKET->TRADER").
+                    filter(PredicateBuilder.and(
+                            
header(QuickfixjEndpoint.EVENT_CATEGORY_KEY).isEqualTo(QuickfixjEventCategory.AdminMessageReceived),
+                            
header(QuickfixjEndpoint.MESSAGE_TYPE_KEY).isEqualTo(MsgType.LOGON))).
+                    bean(new LogonAuthenticator());
+            }
+        };
+        
+        context.addRoutes(routes);
+        
+        LOG.info("Starting Camel context");
+        context.start();
+        
+        if (!logoutLatch.await(5L, TimeUnit.SECONDS)) {
+            throw new IllegalStateException("Logout was not received");
+        }
+                
+        context.stop();
+        
+        LOG.info("Example complete");
+    }
+    
+    public static class LogonAuthenticator {
+        public void authenticate(Exchange exchange) throws RejectLogon, 
InvalidPayloadException, FieldNotFound {
+            LOG.info("Acceptor is rejecting logon for " + 
exchange.getIn().getHeader(QuickfixjEndpoint.SESSION_ID_KEY));
+            Message message = ExchangeHelper.getMandatoryInBody(exchange, 
Message.class);
+            if (message.isSetField(RawData.FIELD)) {
+                LOG.info("Invalid password: " + 
message.getString(RawData.FIELD));
+            }
+            throw new RejectLogon("Rejecting logon for test purposes");
+        }
+    }
+
+    public static class CredentialInjector {
+        private final String password;
+        
+        public CredentialInjector(String password) {
+            this.password = password;
+        }
+
+        public void inject(Exchange exchange) throws InvalidPayloadException {
+            LOG.info("Injecting password into outgoing logon message");
+            Message message = ExchangeHelper.getMandatoryInBody(exchange, 
Message.class);
+            message.setString(RawData.FIELD, password);
+            message.setInt(RawDataLength.FIELD, password.length());
+        }
+    }
+}

Propchange: 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/AuthenticationExample.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/AuthenticationExample.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: camel/trunk/parent/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/parent/pom.xml?rev=1002979&r1=1002978&r2=1002979&view=diff
==============================================================================
--- camel/trunk/parent/pom.xml (original)
+++ camel/trunk/parent/pom.xml Thu Sep 30 09:48:52 2010
@@ -112,6 +112,7 @@
     <protobuf-version>2.3.0</protobuf-version>
     <qpid-version>0.5.0</qpid-version>
     <quartz-version>1.8.3</quartz-version>
+    <quickfix-version>1.5.0</quickfix-version>
     <restlet-version>1.1.10</restlet-version>
     <rome-version>1.0</rome-version>
     <saxon-version>9.1.0.8</saxon-version>


Reply via email to