Repository: incubator-eagle Updated Branches: refs/heads/master 269cdcf87 -> b4bbecdc4
[Fix] MultiScheme not a sub interface of scheme Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/b4bbecdc Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/b4bbecdc Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/b4bbecdc Branch: refs/heads/master Commit: b4bbecdc4bc60c82dc3106b678e4abc5cc404650 Parents: 269cdcf Author: Ralph, Su <suliang...@gmail.com> Authored: Wed Sep 21 15:36:30 2016 -0700 Committer: Ralph, Su <suliang...@gmail.com> Committed: Wed Sep 21 15:37:04 2016 -0700 ---------------------------------------------------------------------- .../org/apache/eagle/alert/engine/spout/CorrelationSpout.java | 7 +++++-- .../org/apache/eagle/alert/engine/spout/SchemeBuilder.java | 6 ++---- 2 files changed, 7 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/b4bbecdc/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/spout/CorrelationSpout.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/spout/CorrelationSpout.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/spout/CorrelationSpout.java index 25c0607..6f7d9af 100644 --- a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/spout/CorrelationSpout.java +++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/spout/CorrelationSpout.java @@ -345,11 +345,14 @@ public class CorrelationSpout extends BaseRichSpout implements SpoutSpecListener } private MultiScheme createMultiScheme(Map conf, String topic, String schemeClsName) throws Exception { - Scheme scheme = SchemeBuilder.buildFromClsName(schemeClsName, topic, conf); + Object scheme = SchemeBuilder.buildFromClsName(schemeClsName, topic, conf); if (scheme instanceof MultiScheme) { return (MultiScheme) scheme; + } else if (scheme instanceof Scheme){ + return new SchemeAsMultiScheme((Scheme)scheme); } else { - return new SchemeAsMultiScheme(scheme); + LOG.error("create spout scheme failed."); + throw new IllegalArgumentException("create spout scheme failed."); } } http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/b4bbecdc/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/spout/SchemeBuilder.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/spout/SchemeBuilder.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/spout/SchemeBuilder.java index f1945be..440db0a 100644 --- a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/spout/SchemeBuilder.java +++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/spout/SchemeBuilder.java @@ -19,8 +19,6 @@ package org.apache.eagle.alert.engine.spout; -import backtype.storm.spout.Scheme; - import java.util.Map; @@ -32,8 +30,8 @@ import java.util.Map; public class SchemeBuilder { @SuppressWarnings("rawtypes") - public static Scheme buildFromClsName(String clsName, String topic, Map conf) throws Exception { + public static Object buildFromClsName(String clsName, String topic, Map conf) throws Exception { Object o = Class.forName(clsName).getConstructor(String.class, Map.class).newInstance(topic, conf); - return (Scheme) o; + return o; } }