Updated Branches: refs/heads/flume-1.4 c118f6b49 -> a4a4eb8b4
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/a4a4eb8b Tree: http://git-wip-us.apache.org/repos/asf/flume/tree/a4a4eb8b Diff: http://git-wip-us.apache.org/repos/asf/flume/diff/a4a4eb8b Branch: refs/heads/flume-1.4 Commit: a4a4eb8b4d6ce0ed83a87a95d66d4e6799f833ab Parents: c118f6b Author: Hari Shreedharan <[email protected]> Authored: Tue May 7 00:29:58 2013 -0700 Committer: Hari Shreedharan <[email protected]> Committed: Tue May 7 00:31:48 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/a4a4eb8b/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/a4a4eb8b/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/a4a4eb8b/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/a4a4eb8b/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); + } +}
