diff --git a/flume-core/src/main/java/com/cloudera/flume/conf/FlumeConfiguration.java b/flume-core/src/main/java/com/cloudera/flume/conf/FlumeConfiguration.java index 39ae4fcd..c880d6f3 100644 --- a/flume-core/src/main/java/com/cloudera/flume/conf/FlumeConfiguration.java +++ b/flume-core/src/main/java/com/cloudera/flume/conf/FlumeConfiguration.java @@ -949,7 +949,7 @@ public long getEventMaxSizeBytes() { } public String getPluginClasses() { - return get(PLUGIN_CLASSES, ""); + return get(PLUGIN_CLASSES, "").replaceAll("\\s+", ""); } public String getHiveHost() { diff --git a/flume-core/src/test/java/com/cloudera/flume/conf/TestFlumeConfiguration.java b/flume-core/src/test/java/com/cloudera/flume/conf/TestFlumeConfiguration.java index b29440a1..63e81202 100644 --- a/flume-core/src/test/java/com/cloudera/flume/conf/TestFlumeConfiguration.java +++ b/flume-core/src/test/java/com/cloudera/flume/conf/TestFlumeConfiguration.java @@ -31,6 +31,38 @@ public TestableConfiguration() { super(true); } } + + @Test + public void testPluginClassesWithWhiteSpaceAtBeginning() { + FlumeConfiguration cfg = new TestableConfiguration(); + cfg.set(FlumeConfiguration.PLUGIN_CLASSES, " \n a.b.c,d.e.f"); + + assertEquals("White spaces at the beginning must be stripped", "a.b.c,d.e.f", cfg.getPluginClasses()); + } + + @Test + public void testPluginClassesWithWhiteSpaceAtEnd() { + FlumeConfiguration cfg = new TestableConfiguration(); + cfg.set(FlumeConfiguration.PLUGIN_CLASSES, "a.b.c,d.e.f \n "); + + assertEquals("White spaces at the end must be stripped", "a.b.c,d.e.f", cfg.getPluginClasses()); + } + + @Test + public void testPluginClassesWithWhiteSpaceInTheMiddle() { + FlumeConfiguration cfg = new TestableConfiguration(); + cfg.set(FlumeConfiguration.PLUGIN_CLASSES, "a.b.c,\nd.e.f, g.h.i"); + + assertEquals("White spaces in the middle must be stripped", "a.b.c,d.e.f,g.h.i", cfg.getPluginClasses()); + } + + @Test + public void testPluginClassesWithWhiteSpace() { + FlumeConfiguration cfg = new TestableConfiguration(); + cfg.set(FlumeConfiguration.PLUGIN_CLASSES, " \n a.b.c,\nd.e.f, g.h.i \n "); + + assertEquals("White spaces must be stripped", "a.b.c,d.e.f,g.h.i", cfg.getPluginClasses()); + } @Test public void testParseGossipServers() {