Updated Branches:
  refs/heads/trunk 821591f50 -> 838135885

FLUME-1886. Add a JMS enum type to SourceType so that users don't need to enter 
FQCN for JMSSource.

(Israel Ekpo via Hari Shreedharan)


Project: http://git-wip-us.apache.org/repos/asf/flume/repo
Commit: http://git-wip-us.apache.org/repos/asf/flume/commit/83813588
Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/83813588
Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/83813588

Branch: refs/heads/trunk
Commit: 838135885e9382a36395eace89aa8cdb04926dbf
Parents: 821591f
Author: Hari Shreedharan <[email protected]>
Authored: Tue May 7 00:29:58 2013 -0700
Committer: Hari Shreedharan <[email protected]>
Committed: Tue May 7 00:29:58 2013 -0700

----------------------------------------------------------------------
 .../flume/conf/source/SourceConfiguration.java     |   12 +++-
 .../org/apache/flume/conf/source/SourceType.java   |   11 +++-
 .../flume/source/TestDefaultSourceFactory.java     |    9 +++
 .../flume/source/jms/TestJMSSourceCreation.java    |   49 +++++++++++++++
 4 files changed, 76 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flume/blob/83813588/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceConfiguration.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceConfiguration.java
 
b/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceConfiguration.java
index 7029615..29dad99 100644
--- 
a/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceConfiguration.java
+++ 
b/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceConfiguration.java
@@ -28,8 +28,8 @@ import org.apache.flume.conf.ComponentConfigurationFactory;
 import org.apache.flume.conf.ConfigurationException;
 import org.apache.flume.conf.FlumeConfiguration;
 import org.apache.flume.conf.FlumeConfigurationError;
-import org.apache.flume.conf.FlumeConfigurationErrorType;
 import org.apache.flume.conf.FlumeConfigurationError.ErrorOrWarning;
+import org.apache.flume.conf.FlumeConfigurationErrorType;
 import org.apache.flume.conf.channel.ChannelSelectorConfiguration;
 import 
org.apache.flume.conf.channel.ChannelSelectorConfiguration.ChannelSelectorConfigurationType;
 import org.apache.flume.conf.channel.ChannelSelectorType;
@@ -178,7 +178,6 @@ public class SourceConfiguration extends 
ComponentConfiguration {
      * @see org.apache.flume.source.MultiportSyslogTCPSource
      *
      */
-
     
MULTIPORT_SYSLOGTCP("org.apache.flume.source.MultiportSyslogTCPSourceConfiguration"),
 
     /**
@@ -200,7 +199,14 @@ public class SourceConfiguration extends 
ComponentConfiguration {
      *
      * @see org.apache.flume.source.ThriftSource
      */
-    THRIFT("org.apache.flume.source.http.ThriftSourceConfiguration");
+    THRIFT("org.apache.flume.source.http.ThriftSourceConfiguration"),
+
+    /**
+     * JMS Source
+     *
+     * @see org.apache.flume.source.jms.JMSSource
+     */
+    JMS("org.apache.flume.source.jms.JMSSourceConfiguration");
 
     private String srcConfigurationName;
 

http://git-wip-us.apache.org/repos/asf/flume/blob/83813588/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceType.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceType.java
 
b/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceType.java
index a1bcd58..4144faa 100644
--- 
a/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceType.java
+++ 
b/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceType.java
@@ -92,11 +92,18 @@ public enum SourceType {
   HTTP("org.apache.flume.source.http.HTTPSource"),
 
   /**
-   * Spool directory source
+   * Thrift Source
    *
    * @see org.apache.flume.source.ThriftSource
    */
-  THRIFT("org.apache.flume.source.ThriftSource");
+  THRIFT("org.apache.flume.source.ThriftSource"),
+
+  /**
+   * JMS Source
+   *
+   * @see org.apache.flume.source.jms.JMSSource
+   */
+  JMS("org.apache.flume.source.jms.JMSSource");
 
   private final String sourceClassName;
 

http://git-wip-us.apache.org/repos/asf/flume/blob/83813588/flume-ng-core/src/test/java/org/apache/flume/source/TestDefaultSourceFactory.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-core/src/test/java/org/apache/flume/source/TestDefaultSourceFactory.java
 
b/flume-ng-core/src/test/java/org/apache/flume/source/TestDefaultSourceFactory.java
index ffbe177..baa8500 100644
--- 
a/flume-ng-core/src/test/java/org/apache/flume/source/TestDefaultSourceFactory.java
+++ 
b/flume-ng-core/src/test/java/org/apache/flume/source/TestDefaultSourceFactory.java
@@ -21,6 +21,7 @@ package org.apache.flume.source;
 
 import org.apache.flume.Source;
 import org.apache.flume.SourceFactory;
+import org.apache.flume.source.http.HTTPSource;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -67,6 +68,14 @@ public class TestDefaultSourceFactory {
     verifySourceCreation("netcat-src", "netcat", NetcatSource.class);
     verifySourceCreation("exec-src", "exec", ExecSource.class);
     verifySourceCreation("avro-src", "avro", AvroSource.class);
+    verifySourceCreation("syslogtcp-src", "syslogtcp", SyslogTcpSource.class);
+    verifySourceCreation("multiport_syslogtcp-src", "multiport_syslogtcp",
+        MultiportSyslogTCPSource.class);
+    verifySourceCreation("syslogudp-src", "syslogudp", SyslogUDPSource.class);
+    verifySourceCreation("spooldir-src", "spooldir",
+        SpoolDirectorySource.class);
+    verifySourceCreation("http-src", "http", HTTPSource.class);
+    verifySourceCreation("thrift-src", "thrift", ThriftSource.class);
     verifySourceCreation("custom-src", MockSource.class.getCanonicalName(),
         MockSource.class);
   }

http://git-wip-us.apache.org/repos/asf/flume/blob/83813588/flume-ng-sources/flume-jms-source/src/test/java/org/apache/flume/source/jms/TestJMSSourceCreation.java
----------------------------------------------------------------------
diff --git 
a/flume-ng-sources/flume-jms-source/src/test/java/org/apache/flume/source/jms/TestJMSSourceCreation.java
 
b/flume-ng-sources/flume-jms-source/src/test/java/org/apache/flume/source/jms/TestJMSSourceCreation.java
new file mode 100644
index 0000000..bba1a97
--- /dev/null
+++ 
b/flume-ng-sources/flume-jms-source/src/test/java/org/apache/flume/source/jms/TestJMSSourceCreation.java
@@ -0,0 +1,49 @@
+/*
+ * 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.flume.source.jms;
+
+import org.apache.flume.FlumeException;
+import org.apache.flume.Source;
+import org.apache.flume.SourceFactory;
+import org.apache.flume.source.DefaultSourceFactory;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class TestJMSSourceCreation {
+
+  private SourceFactory sourceFactory;
+
+  @Before
+  public void setUp() {
+    sourceFactory = new DefaultSourceFactory();
+  }
+
+  private void verifySourceCreation(String name, String type,
+      Class<?> typeClass) throws FlumeException {
+    Source src = sourceFactory.create(name, type);
+    Assert.assertNotNull(src);
+    Assert.assertTrue(typeClass.isInstance(src));
+  }
+
+  @Test
+  public void testJMSSourceCreation() {
+    verifySourceCreation("jms-src", "jms", JMSSource.class);
+  }
+}

Reply via email to