Author: davsclaus
Date: Sat Nov 26 15:44:32 2011
New Revision: 1206461

URL: http://svn.apache.org/viewvc?rev=1206461&view=rev
Log:
CAMEL-4716: camel-quickfix no longer depend on Spring JARs.

Added:
    
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConfiguration.java
    
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjConfigurationTest.java
      - copied, changed from r1206432, 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSettingsFactoryTest.java
Removed:
    
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjSettingsFactory.java
    
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSettingsFactoryTest.java
Modified:
    camel/trunk/components/camel-quickfix/pom.xml
    
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
    
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSpringTest.java
    
camel/trunk/components/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml
    camel/trunk/platforms/karaf/features/src/main/resources/features.xml

Modified: camel/trunk/components/camel-quickfix/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/pom.xml?rev=1206461&r1=1206460&r2=1206461&view=diff
==============================================================================
--- camel/trunk/components/camel-quickfix/pom.xml (original)
+++ camel/trunk/components/camel-quickfix/pom.xml Sat Nov 26 15:44:32 2011
@@ -51,10 +51,6 @@
       <artifactId>camel-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-spring</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.quickfixj</groupId>
       <artifactId>quickfixj-all</artifactId>
       <version>${quickfix-version}</version>

Modified: 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java?rev=1206461&r1=1206460&r2=1206461&view=diff
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
 (original)
+++ 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
 Sat Nov 26 15:44:32 2011
@@ -16,23 +16,17 @@
  */
 package org.apache.camel.component.quickfixj;
 
-import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import javax.management.JMException;
-
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.DefaultComponent;
 import org.apache.camel.util.UnsafeUriCharactersEncoder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
-import quickfix.ConfigError;
-import quickfix.FieldConvertError;
 import quickfix.LogFactory;
 import quickfix.MessageFactory;
 import quickfix.MessageStoreFactory;
@@ -49,7 +43,7 @@ public class QuickfixjComponent extends 
     private LogFactory logFactory;
     private MessageFactory messageFactory;
     private boolean forcedShutdown;
-    private Map<String, SessionSettings> engineSettings = new HashMap<String, 
SessionSettings>();
+    private Map<String, QuickfixjConfiguration> configurations = new 
HashMap<String, QuickfixjConfiguration>();
 
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
@@ -61,9 +55,9 @@ public class QuickfixjComponent extends 
             if (endpoint == null) {
                 engine = engines.get(remaining);
                 if (engine == null) {
-                    LOG.info("Creating QuickFIX/J engine using settings: " + 
remaining);
-                    SessionSettings settings = engineSettings.get(remaining);
-                    if (settings != null) {
+                    QuickfixjConfiguration configuration = 
configurations.get(remaining);
+                    if (configuration != null) {
+                        SessionSettings settings = 
configuration.createSessionSettings();
                         engine = new QuickfixjEngine(uri, settings, 
forcedShutdown, messageStoreFactory, logFactory, messageFactory);
                     } else {
                         engine = new QuickfixjEngine(uri, remaining, 
forcedShutdown, messageStoreFactory, logFactory, messageFactory);
@@ -86,7 +80,6 @@ public class QuickfixjComponent extends 
     @Override
     protected void doStart() throws Exception {
         super.doStart();
-        LOG.info("QuickFIX/J component started");
         synchronized (engineInstancesLock) {
             for (QuickfixjEngine engine : engines.values()) {
                 startQuickfixjEngine(engine);
@@ -95,7 +88,7 @@ public class QuickfixjComponent extends 
     }
 
     private void startQuickfixjEngine(QuickfixjEngine engine) throws Exception 
{
-        LOG.info("Starting QuickFIX/J engine: uri=" + engine.getUri());
+        LOG.info("Starting QuickFIX/J engine: uri=", engine.getUri());
         engine.start();
     }
 
@@ -107,7 +100,6 @@ public class QuickfixjComponent extends 
                 engine.stop();
             }
         }
-        LOG.info("QuickFIX/J component stopped");
     }
 
     // Test Support
@@ -131,13 +123,12 @@ public class QuickfixjComponent extends 
         this.forcedShutdown = forcedShutdown;
     }
 
-    public void setEngineSettings(Map<String, SessionSettings> engineSettings)
-        throws ConfigError, FieldConvertError, IOException, JMException, 
URISyntaxException {
-        for (Map.Entry<String, SessionSettings> s : engineSettings.entrySet()) 
{
-            // QuickfixjEngine engine = new QuickfixjEngine(s.getKey(), 
s.getValue(),
-            // forcedShutdown, messageStoreFactory, logFactory, 
messageFactory);
-            this.engineSettings.put(getPath(s.getKey()), s.getValue());
-        }
+    public Map<String, QuickfixjConfiguration> getConfigurations() {
+        return configurations;
+    }
+
+    public void setConfigurations(Map<String, QuickfixjConfiguration> 
configurations) {
+        this.configurations = configurations;
     }
 
     private static String getPath(String uri) throws URISyntaxException {

Added: 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConfiguration.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConfiguration.java?rev=1206461&view=auto
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConfiguration.java
 (added)
+++ 
camel/trunk/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjConfiguration.java
 Sat Nov 26 15:44:32 2011
@@ -0,0 +1,74 @@
+/**
+ * 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;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import quickfix.ConfigError;
+import quickfix.Dictionary;
+import quickfix.SessionID;
+import quickfix.SessionSettings;
+
+/**
+ *
+ */
+public class QuickfixjConfiguration {
+
+    private Map<Object, Object> defaultSettings;
+    private Map<SessionID, Map<Object, Object>> sessionSettings;
+
+    public QuickfixjConfiguration() {
+    }
+
+    public Map<Object, Object> getDefaultSettings() {
+        return defaultSettings;
+    }
+
+    public void setDefaultSettings(Map<Object, Object> defaultSettings) {
+        this.defaultSettings = defaultSettings;
+    }
+
+    public Map<SessionID, Map<Object, Object>> getSessionSettings() {
+        return sessionSettings;
+    }
+
+    public void setSessionSettings(Map<SessionID, Map<Object, Object>> 
sessionSettings) {
+        this.sessionSettings = sessionSettings;
+    }
+
+    public void addSessionSetting(SessionID sessionID, Map<Object, Object> 
settings) {
+        if (sessionSettings == null) {
+            sessionSettings = new HashMap<SessionID, Map<Object, Object>>();
+        }
+        sessionSettings.put(sessionID, settings);
+    }
+
+    public SessionSettings createSessionSettings() throws ConfigError {
+        SessionSettings settings = new SessionSettings();
+        if (defaultSettings != null && !defaultSettings.isEmpty()) {
+            settings.set(new Dictionary("defaults", defaultSettings));
+        }
+
+        if (sessionSettings != null && !sessionSettings.isEmpty()) {
+            for (Map.Entry<SessionID, Map<Object, Object>> sessionSetting : 
sessionSettings.entrySet()) {
+                settings.set(sessionSetting.getKey(), new 
Dictionary("session", sessionSetting.getValue()));
+            }
+        }
+        return settings;
+    }
+}

Copied: 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjConfigurationTest.java
 (from r1206432, 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSettingsFactoryTest.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjConfigurationTest.java?p2=camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjConfigurationTest.java&p1=camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSettingsFactoryTest.java&r1=1206432&r2=1206461&rev=1206461&view=diff
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSettingsFactoryTest.java
 (original)
+++ 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjConfigurationTest.java
 Sat Nov 26 15:44:32 2011
@@ -26,11 +26,11 @@ import org.junit.Test;
 import quickfix.SessionID;
 import quickfix.SessionSettings;
 
-public class QuickfixjSettingsFactoryTest {
+public class QuickfixjConfigurationTest {
 
     @Test
-    public void createSessionSettings() throws Exception {
-        QuickfixjSettingsFactory factory = new QuickfixjSettingsFactory();
+    public void testConfiguration() throws Exception {
+        QuickfixjConfiguration factory = new QuickfixjConfiguration();
 
         Map<Object, Object> defaultSettings = new HashMap<Object, Object>();
         defaultSettings.put("value1", 1);
@@ -49,7 +49,7 @@ public class QuickfixjSettingsFactoryTes
 
         factory.setSessionSettings(sessionSettings);
 
-        SessionSettings settings = factory.getObject();
+        SessionSettings settings = factory.createSessionSettings();
         Properties sessionProperties = 
settings.getSessionProperties(sessionID, true);
 
         Assert.assertThat(sessionProperties.get("value1").toString(), 
CoreMatchers.is("10"));

Modified: 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSpringTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSpringTest.java?rev=1206461&r1=1206460&r2=1206461&view=diff
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSpringTest.java
 (original)
+++ 
camel/trunk/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/QuickfixjSpringTest.java
 Sat Nov 26 15:44:32 2011
@@ -45,8 +45,11 @@ public class QuickfixjSpringTest extends
     @Test
     public void configureInSpring() throws Exception {
         SessionID sessionID = new SessionID("FIX.4.2:INITIATOR->ACCEPTOR");
-        SessionSettings springSessionSettings = 
context.getRegistry().lookup("quickfixjSettings", SessionSettings.class);
+        QuickfixjConfiguration configuration = 
context.getRegistry().lookup("quickfixjConfiguration", 
QuickfixjConfiguration.class);
+
+        SessionSettings springSessionSettings = 
configuration.createSessionSettings();
         Properties sessionProperties = 
springSessionSettings.getSessionProperties(sessionID, true);
+
         Assert.assertThat(sessionProperties.get("ConnectionType").toString(), 
CoreMatchers.is("initiator"));
         
Assert.assertThat(sessionProperties.get("SocketConnectProtocol").toString(), 
CoreMatchers.is("VM_PIPE"));
 

Modified: 
camel/trunk/components/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml?rev=1206461&r1=1206460&r2=1206461&view=diff
==============================================================================
--- 
camel/trunk/components/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml
 (original)
+++ 
camel/trunk/components/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml
 Sat Nov 26 15:44:32 2011
@@ -38,9 +38,9 @@
 
     <!-- quickfix component -->
     <bean id="quickfix" 
class="org.apache.camel.component.quickfixj.QuickfixjComponent">
-        <property name="engineSettings">
+        <property name="configurations">
             <util:map>
-                <entry key="quickfix:example" value-ref="quickfixjSettings"/>
+                <entry key="example" value-ref="quickfixjConfiguration"/>
             </util:map>
         </property>
         <property name="messageFactory">
@@ -49,8 +49,7 @@
     </bean>
 
     <!-- quickfix settings -->
-    <bean id="quickfixjSettings"
-          
class="org.apache.camel.component.quickfixj.QuickfixjSettingsFactory">
+    <bean id="quickfixjConfiguration" 
class="org.apache.camel.component.quickfixj.QuickfixjConfiguration">
         <property name="defaultSettings">
             <util:map>
                 <entry key="SocketConnectProtocol" value="VM_PIPE"/>

Modified: camel/trunk/platforms/karaf/features/src/main/resources/features.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/features/src/main/resources/features.xml?rev=1206461&r1=1206460&r2=1206461&view=diff
==============================================================================
--- camel/trunk/platforms/karaf/features/src/main/resources/features.xml 
(original)
+++ camel/trunk/platforms/karaf/features/src/main/resources/features.xml Sat 
Nov 26 15:44:32 2011
@@ -507,7 +507,7 @@
     <bundle>mvn:org.apache.camel/camel-quartz/${pom.version}</bundle>
   </feature>
   <feature name='camel-quickfix' version='${pom.version}' resolver='(obr)' 
start-level='50'>
-    <feature version='${pom.version}'>camel-spring</feature>
+    <feature version='${pom.version}'>camel-core</feature>
     
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quickfix/${quickfix-bundle-version}</bundle>
     <bundle>mvn:org.apache.camel/camel-quickfix/${pom.version}</bundle>
   </feature>


Reply via email to