eagle-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From h..@apache.org
Subject [1/2] incubator-eagle git commit: EAGLE-232 Fix alert engine related bugs, and create local Kafka/Zookeeper/Storm tools for quick-start examples and development
Date Tue, 12 Apr 2016 07:15:36 GMT
Repository: incubator-eagle
Updated Branches:
  refs/heads/master 8e338fea1 -> 60325aa2f


http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-devsupport/build.sh
----------------------------------------------------------------------
diff --git a/eagle-devsupport/build.sh b/eagle-devsupport/build.sh
new file mode 100755
index 0000000..4e41f3e
--- /dev/null
+++ b/eagle-devsupport/build.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+# 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.
+
+cd $(dirname $0)/../
+mvn clean install -DskipTests
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-devsupport/clean-all-services.sh
----------------------------------------------------------------------
diff --git a/eagle-devsupport/clean-all-services.sh b/eagle-devsupport/clean-all-services.sh
new file mode 100755
index 0000000..20e2b3f
--- /dev/null
+++ b/eagle-devsupport/clean-all-services.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# 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.
+
+echo "Stopping all service ..."
+$(dirname $0)/stop-all-services.sh
+echo "Cleaning tmp files (including local db, zookeeper data, kafka log, etc.) ..."
+rm -rf /tmp/eagle-*
+echo "Done."
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-devsupport/eclipse-java-templates.xml
----------------------------------------------------------------------
diff --git a/eagle-devsupport/eclipse-java-templates.xml b/eagle-devsupport/eclipse-java-templates.xml
new file mode 100644
index 0000000..8ccc558
--- /dev/null
+++ b/eagle-devsupport/eclipse-java-templates.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="false" context="newtype_context" deleted="false" description="Newly created files" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.newtype" name="newtype">/*
+ * 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_declaration}
+
+${typecomment}
+${type_declaration}</template></templates>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-devsupport/eclipse-scala-templates.xml
----------------------------------------------------------------------
diff --git a/eagle-devsupport/eclipse-scala-templates.xml b/eagle-devsupport/eclipse-scala-templates.xml
new file mode 100644
index 0000000..55ce31a
--- /dev/null
+++ b/eagle-devsupport/eclipse-scala-templates.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New App template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.app" name="wizard_app">/*
+ * 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_name}
+
+object ${type_name} extends App {
+  ${cursor}
+}</template><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New class template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.class" name="wizard_class">/*
+ * 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_name}
+
+class ${type_name} {
+  ${cursor}
+}</template><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New empty file template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.empty" name="wizard_empty">/*
+ * 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.
+ */
+ </template><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New object template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.object" name="wizard_object">/*
+ * 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_name}
+
+object ${type_name} {
+  ${cursor}
+}</template><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New package object template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.packageObject" name="wizard_package_object">/*
+ * 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_name}
+
+package object ${type_name} {
+  ${cursor}
+}</template><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New trait template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.trait" name="wizard_trait">/*
+ * 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_name}
+
+trait ${type_name} {
+  ${cursor}
+}</template></templates>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-devsupport/start-webservice.sh
----------------------------------------------------------------------
diff --git a/eagle-devsupport/start-webservice.sh b/eagle-devsupport/start-webservice.sh
new file mode 100755
index 0000000..fc91f7a
--- /dev/null
+++ b/eagle-devsupport/start-webservice.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+# 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.
+
+export EAGLE_BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/.."
+export EAGLE_BUILD_DIR=${EAGLE_BASE_DIR}/eagle-assembly/target/eagle-*-bin/eagle-*/
+
+ls ${EAGLE_BUILD_DIR} 1>/dev/null 2>/dev/null
+if [ "$?" != "0" ];then
+	echo "$EAGLE_BUILD_DIR not exist, build now"
+	cd $EAGLE_BASE_DIR
+	mvn package -DskipTests
+fi
+
+cd $EAGLE_BUILD_DIR/
+
+bin/eagle-service.sh status
+
+if [ "$?" != "0" ];then
+	echo "Starting eagle service ..."
+	bin/eagle-service.sh start
+	sleep 1
+else
+	echo "Eagle service has already started"
+fi
+
+bin/eagle-topology-init.sh
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-devsupport/start-zk-kafka-webservice.sh
----------------------------------------------------------------------
diff --git a/eagle-devsupport/start-zk-kafka-webservice.sh b/eagle-devsupport/start-zk-kafka-webservice.sh
new file mode 100755
index 0000000..61313c0
--- /dev/null
+++ b/eagle-devsupport/start-zk-kafka-webservice.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+# 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.
+
+export EAGLE_BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/.."
+export EAGLE_BUILD_DIR=${EAGLE_BASE_DIR}/eagle-assembly/target/eagle-*-bin/eagle-*/
+
+ls ${EAGLE_BUILD_DIR} 1>/dev/null 2>/dev/null
+if [ "$?" != "0" ];then
+	echo "$EAGLE_BUILD_DIR not exist, build now"
+	cd $EAGLE_BASE_DIR
+	mvn package -DskipTests
+fi
+
+cd $EAGLE_BUILD_DIR/
+
+bin/eagle-service.sh status
+
+if [ "$?" != "0" ];then
+	echo "Starting eagle service ..."
+	bin/eagle-service.sh start
+	sleep 1
+else
+	echo "Eagle service has already started"
+fi
+
+bin/eagle-topology-init.sh
+
+echo "Starting zookeeper"
+bin/zookeeper-server-start.sh -daemon conf/zookeeper-server.properties
+sleep 1
+bin/zookeeper-server-status.sh
+
+echo "Starting kafka"
+bin/kafka-server-start.sh -daemon conf/kafka-server.properties
+sleep 1
+bin/kafka-server-status.sh
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-devsupport/start-zk-kafka.sh
----------------------------------------------------------------------
diff --git a/eagle-devsupport/start-zk-kafka.sh b/eagle-devsupport/start-zk-kafka.sh
new file mode 100755
index 0000000..17d8515
--- /dev/null
+++ b/eagle-devsupport/start-zk-kafka.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+# 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.
+
+export EAGLE_BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/.."
+export EAGLE_BUILD_DIR=${EAGLE_BASE_DIR}/eagle-assembly/target/eagle-*-bin/eagle-*/
+
+ls ${EAGLE_BUILD_DIR} 1>/dev/null 2>/dev/null
+if [ "$?" != "0" ];then
+	echo "$EAGLE_BUILD_DIR not exist, build now"
+	cd $EAGLE_BASE_DIR
+	mvn package -DskipTests
+fi
+
+cd $EAGLE_BUILD_DIR/
+
+echo "Starting zookeeper"
+bin/zookeeper-server-start.sh -daemon conf/zookeeper-server.properties
+sleep 1
+bin/zookeeper-server-status.sh
+
+echo "Starting kafka"
+bin/kafka-server-start.sh -daemon conf/kafka-server.properties
+sleep 1
+bin/kafka-server-status.sh
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-devsupport/stop-all-services.sh
----------------------------------------------------------------------
diff --git a/eagle-devsupport/stop-all-services.sh b/eagle-devsupport/stop-all-services.sh
new file mode 100755
index 0000000..78b776d
--- /dev/null
+++ b/eagle-devsupport/stop-all-services.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+# 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.
+
+export EAGLE_BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/../
+export EAGLE_BUILD_DIR=${EAGLE_BASE_DIR}/eagle-assembly/target/eagle-*-bin/eagle-*/
+chmod +x $EAGLE_BASE_DIR/eagle-assembly/src/main/bin/*
+
+echo "Stopping eagle service"
+ls ${EAGLE_BUILD_DIR} 1>/dev/null 2>/dev/null
+if [ "$?" != "0" ];then
+	echo "$EAGLE_BUILD_DIR not exist, do nothing"
+else
+	$EAGLE_BUILD_DIR/bin/eagle-service.sh stop
+fi
+echo "Stopping zookeeper"
+$EAGLE_BASE_DIR/eagle-assembly/src/main/bin/kafka-server-stop.sh
+echo "Stopping kafka"
+$EAGLE_BASE_DIR/eagle-assembly/src/main/bin/zookeeper-server-stop.sh
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-examples/eagle-cassandra-example/.gitignore
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-cassandra-example/.gitignore b/eagle-examples/eagle-cassandra-example/.gitignore
new file mode 100644
index 0000000..cdfb689
--- /dev/null
+++ b/eagle-examples/eagle-cassandra-example/.gitignore
@@ -0,0 +1,2 @@
+*.log
+data/eagle
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-examples/eagle-cassandra-example/README.md
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-cassandra-example/README.md b/eagle-examples/eagle-cassandra-example/README.md
new file mode 100644
index 0000000..15bf757
--- /dev/null
+++ b/eagle-examples/eagle-cassandra-example/README.md
@@ -0,0 +1,43 @@
+<!--
+{% comment %}
+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.
+{% endcomment %}
+-->
+
+Cassandra Security Monitoring Example
+=====================================
+
+How to Start 
+------------
+1. Quickly start all services including zookeeper, kafka, webservice and topology with single script
+
+        bin/quick-start.sh
+    
+2. Visit eagle web at [http://localhost:9099/eagle-service](http://localhost:9099/eagle-service/ui/#/common/policyList)
+
+3. Send sample data in another terminal with:
+
+        bin/send-sample-querylog.sh
+
+4. Visit alert page at [http://localhost:9099/eagle-service/ui/#/common/alertList](http://localhost:9099/eagle-service/ui/#/common/alertList)
+
+FAQ
+---
+#### 1. UNKNOWN_TOPIC_OR_PARTITION
+
+> storm.kafka.FailedFetchException: Error fetching data from [Partition{host=localhost:6667, partition=2}] for topic [cassandra_querylog_local]: [UNKNOWN_TOPIC_OR_PARTITION]
+     
+__Solution__: Execute `eagle-devsupport/clean-all.sh` and retry from first step.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-examples/eagle-cassandra-example/bin/env.sh
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-cassandra-example/bin/env.sh b/eagle-examples/eagle-cassandra-example/bin/env.sh
new file mode 100755
index 0000000..cae44c8
--- /dev/null
+++ b/eagle-examples/eagle-cassandra-example/bin/env.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+# 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.
+
+# The java implementation to use. please use jdk 1.7 or later
+# export JAVA_HOME=${JAVA_HOME}
+# export JAVA_HOME=/usr/java/jdk1.7.0_80/
+
+# EAGLE_SERVICE_HOST, default is `hostname -f`
+export EAGLE_SERVICE_HOST=localhost
+
+# EAGLE_SERVICE_PORT, default is 9099
+export EAGLE_SERVICE_PORT=9099
+
+# EAGLE_SERVICE_USER
+export EAGLE_SERVICE_USER=admin
+
+# EAGLE_SERVICE_PASSWORD
+export EAGLE_SERVICE_PASSWD=secret
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-examples/eagle-cassandra-example/bin/init.sh
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-cassandra-example/bin/init.sh b/eagle-examples/eagle-cassandra-example/bin/init.sh
new file mode 100755
index 0000000..ec98c3e
--- /dev/null
+++ b/eagle-examples/eagle-cassandra-example/bin/init.sh
@@ -0,0 +1,278 @@
+#!/bin/bash
+# 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.
+
+source $(dirname $0)/env.sh
+
+curl -silent -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
+ "http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=SiteApplicationService" \
+  -d '
+  [
+     {
+        "tags":{
+           "site":"sandbox",
+           "application":"cassandraQueryLog"
+        },
+        "enabled": true,
+        "config": "{}"
+     }
+  ]
+  '
+
+curl -silent -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
+ "http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=ApplicationDescService" \
+  -d '
+  [
+     {
+        "tags":{
+           "application":"cassandraQueryLog"
+        },
+        "description":"cassandra Query Log Monitoring",
+        "alias":"QueryLogMonitor",
+        "groupName":"Cassandra",
+        "config":"{}",
+        "features":["common","metadata"]
+     }
+  ]
+  '
+## AlertStreamService
+echo ""
+echo "Importing AlertStreamService for HDFS... "
+curl -silent -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
+ "http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=AlertStreamService" \
+ -d '
+ [
+    {
+       "tags":{
+          "application":"cassandraQueryLog",
+          "streamName":"cassandraQueryLogStream"
+       },
+       "description":"cassandra query log data source stream"
+    }
+ ]
+ '
+## AlertExecutorService: what alert streams are consumed by alert executor
+echo ""
+echo "Importing AlertExecutorService for HDFS... "
+curl -silent -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
+ "http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=AlertExecutorService" \
+ -d '
+ [
+    {
+       "tags":{
+          "application":"cassandraQueryLog",
+          "alertExecutorId":"cassandraQueryLogExecutor",
+          "streamName":"cassandraQueryLogStream"
+       },
+       "description":"executor for cassandra query log stream"
+    }
+ ]
+ '
+## AlertStreamSchemaService: schema for event from alert stream
+echo ""
+echo "Importing AlertStreamSchemaService for HDFS... "
+curl -silent -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
+"http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=AlertStreamSchemaService" \
+ -d '
+ [
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "host"
+       },
+       "attrDescription": "the host that current metric comes form",
+       "attrType": "string",
+       "category": "",
+       "attrValueResolver": ""
+    },
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "source"
+       },
+       "attrDescription": "source host",
+       "attrType": "string",
+       "category": "",
+       "attrValueResolver": ""
+    },
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "user"
+       },
+       "attrDescription": "query user",
+       "attrType": "string",
+       "category": "",
+       "attrValueResolver": ""
+    },
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "timestamp"
+       },
+       "attrDescription": "query timestamp",
+       "attrType": "long",
+       "category": "",
+       "attrValueResolver": ""
+    },
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "category"
+       },
+       "attrDescription": "query category",
+       "attrType": "string",
+       "category": "",
+       "attrValueResolver": ""
+    },
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "type"
+       },
+       "attrDescription": "query type",
+       "attrType": "string",
+       "category": "",
+       "attrValueResolver": ""
+    },
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "ks"
+       },
+       "attrDescription": "query keyspace",
+       "attrType": "string",
+       "category": "",
+       "attrValueResolver": ""
+    },
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "cf"
+       },
+       "attrDescription": "query column family",
+       "attrType": "string",
+       "category": "",
+       "attrValueResolver": ""
+    },
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "operation"
+       },
+       "attrDescription": "query operation",
+       "attrType": "string",
+       "category": "",
+       "attrValueResolver": ""
+    },
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "masked_columns"
+       },
+       "attrDescription": "query masked_columns",
+       "attrType": "string",
+       "category": "",
+       "attrValueResolver": ""
+    },
+    {
+       "tags": {
+          "application": "cassandraQueryLog",
+          "streamName": "cassandraQueryLogStream",
+          "attrName": "other_columns"
+       },
+       "attrDescription": "query other_columns",
+       "attrType": "string",
+       "category": "",
+       "attrValueResolver": ""
+    }
+ ]
+ '
+
+echo "Importing policy: capacityUsedPolicy "
+curl -silent -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
+ "http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=AlertDefinitionService" \
+ -d '
+ [
+     {
+		"tags": {
+			"site": "sandbox",
+			"application": "cassandraQueryLog",
+			"policyId": "cf_ customer_details_and_ ks_ dg_keyspace_policy",
+			"alertExecutorId": "cassandraQueryLogExecutor",
+			"policyType": "siddhiCEPEngine"
+		},
+		"description": "Alert[cf_ customer_details_and_ ks_ dg_keyspace_policy]",
+		"policyDef": "{\"expression\":\"from cassandraQueryLogStream[(cf == \\\"customer_details\\\") and (ks == \\\"dg_keyspace\\\")] select * insert into outputStream;\",\"type\":\"siddhiCEPEngine\"}",
+		"dedupeDef": "{\"alertDedupIntervalMin\": 10,\"emailDedupIntervalMin\": 10}",
+		"notificationDef": "[{\"sender\":\"no-reply@eagle.incubator.apache.org\",\"recipients\":\"no-reply@eagle.incubator.apache.org\",\"subject\":\"Alert[cf_ customer_details_and_ ks_ dg_keyspace_policy]\",\"flavor\":\"email\",\"id\":\"email_1\",\"tplFileName\":\"\"}]",
+		"remediationDef": "",
+		"enabled": true,
+		"owner": "admin",
+		"severity": 0,
+		"markdownEnabled": false
+	}
+ ]'
+
+ ## AlertNotificationService : schema for notifcation plugin configuration
+echo ""
+echo "Importing notification plugin configurations ... "
+curl -silent -u ${EAGLE_SERVICE_USER}:${EAGLE_SERVICE_PASSWD} -X POST -H 'Content-Type:application/json' \
+ "http://${EAGLE_SERVICE_HOST}:${EAGLE_SERVICE_PORT}/eagle-service/rest/entities?serviceName=AlertNotificationService" \
+ -d '
+ [
+     {
+       "prefix": "alertNotifications",
+       "tags": {
+         "notificationType": "email"
+       },
+       "className": "org.apache.eagle.notification.plugin.AlertEmailPlugin",
+       "description": "send alert to email",
+       "enabled":true
+     },
+     {
+       "prefix": "alertNotifications",
+       "tags": {
+         "notificationType": "kafka"
+       },
+       "className": "org.apache.eagle.notification.plugin.AlertKafkaPlugin",
+       "description": "send alert to kafka bus",
+       "enabled":true
+     },
+     {
+       "prefix": "alertNotifications",
+       "tags": {
+         "notificationType": "eagleStore"
+       },
+       "className": "org.apache.eagle.notification.plugin.AlertEagleStorePlugin",
+       "description": "send alert to eagle store",
+       "enabled":true
+     }
+ ]
+ '
+
+## Finished
+echo ""
+echo "Done."
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-examples/eagle-cassandra-example/bin/quick-start.sh
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-cassandra-example/bin/quick-start.sh b/eagle-examples/eagle-cassandra-example/bin/quick-start.sh
new file mode 100755
index 0000000..9981ac0
--- /dev/null
+++ b/eagle-examples/eagle-cassandra-example/bin/quick-start.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+# 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.
+
+export EAGLE_CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+export EAGLE_BASE_DIR=$EAGLE_CURRENT_DIR/../../..
+export EAGLE_ASSEMBLY_DIR=${EAGLE_BASE_DIR}/eagle-assembly/target/eagle-*-bin/eagle-*/
+
+ls ${EAGLE_ASSEMBLY_DIR} 1>/dev/null 2>/dev/null
+if [ "$?" != "0" ];then
+	echo "$EAGLE_ASSEMBLY_DIR not exist, build now"
+	cd $EAGLE_BASE_DIR
+	mvn package -DskipTests
+fi
+
+cd $EAGLE_ASSEMBLY_DIR/
+
+bin/eagle-service.sh status
+
+if [ "$?" != "0" ];then
+	echo "Starting eagle service ..."
+	bin/eagle-service.sh start
+	sleep 1
+else
+	echo "Eagle service has already started"
+fi
+
+bin/eagle-topology-init.sh
+
+echo "Starting zookeeper"
+bin/zookeeper-server-start.sh -daemon conf/zookeeper-server.properties
+sleep 1
+
+echo "Starting kafka"
+bin/kafka-server-start.sh -daemon conf/kafka-server.properties
+sleep 1
+
+echo "Creating kafka topic: cassandra_querylog_local"
+bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic cassandra_querylog_local --partitions 3 --replication-factor 1
+
+$EAGLE_CURRENT_DIR/init.sh
+$EAGLE_CURRENT_DIR/send-sample-querylog.sh
+$EAGLE_ASSEMBLY_DIR/bin/kafka-stream-monitor.sh cassandraQueryLogStream cassandraQueryLogExecutor $EAGLE_CURRENT_DIR/../conf/cassandra-security-local.conf
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-examples/eagle-cassandra-example/bin/send-sample-querylog.sh
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-cassandra-example/bin/send-sample-querylog.sh b/eagle-examples/eagle-cassandra-example/bin/send-sample-querylog.sh
new file mode 100755
index 0000000..99d81f6
--- /dev/null
+++ b/eagle-examples/eagle-cassandra-example/bin/send-sample-querylog.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+# 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.
+
+export EAGLE_BASE_DIR=$(dirname $0)/../../../
+export EAGLE_BUILD_DIR=${EAGLE_BASE_DIR}/eagle-assembly/target/eagle-*-bin/eagle-*/
+cd $EAGLE_BUILD_DIR/
+CMD="$(pwd)/bin/kafka-producer.sh --broker-list localhost:6667 --topic cassandra_querylog_local \
+	--data {\"host\":\"/192.168.6.227\",\"source\":\"/192.168.6.227\",\"user\":\"jaspa\",\"timestamp\":1455574202864,\"category\":\"QUERY\",\"type\":\"CQL_SELECT\",\"ks\":\"dg_keyspace\",\"cf\":\"customer_details\",\"operation\":\"CQL_SELECT\",\"masked_columns\":\"bank|ccno|email|ip|name|sal|ssn|tel|url\",\"other_columns\":\"id|npi\"}"
+
+echo "=============="
+echo "Execute: $CMD"
+echo "=============="
+exec $CMD
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-examples/eagle-cassandra-example/conf/cassandra-security-local.conf
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-cassandra-example/conf/cassandra-security-local.conf b/eagle-examples/eagle-cassandra-example/conf/cassandra-security-local.conf
new file mode 100644
index 0000000..bbf6da6
--- /dev/null
+++ b/eagle-examples/eagle-cassandra-example/conf/cassandra-security-local.conf
@@ -0,0 +1,69 @@
+# 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.
+
+{
+	"envContextConfig" : {
+		"env" : "storm",
+		"mode" : "local",
+		"topologyName" : "cassandrawQueryLogMonitorTopology",
+		"stormConfigFile" : "cassandraw-querlog-storm.yaml",
+		"parallelismConfig" : {
+			"cassandraQueryLogStream" : 1,
+			"cassandraQueryLogExecutor*" : 1
+		}
+	},
+	"dataSourceConfig": {
+		"topic" : "cassandra_querylog_local",
+		"zkConnection" : "localhost:2181",
+		"zkConnectionTimeoutMS" : 15000,
+		"consumerGroupId" : "eagle.consumer",
+		"fetchSize" : 1048586,
+		"deserializerClass" : "org.apache.eagle.datastream.storm.JsonMessageDeserializer",
+		"transactionZKServers" : "localhost",
+		"transactionZKPort" : 2181,
+		"transactionZKRoot" : "/consumers",
+		"transactionStateUpdateMS" : 2000
+	},
+	"alertExecutorConfigs" : {
+		"cassandraQueryLogExecutor" : {
+			"parallelism" : 1,
+			"partitioner" : "org.apache.eagle.policy.DefaultPolicyPartitioner"
+			"needValidation" : "true"
+		}
+	},
+	"eagleProps" : {
+		"site" : "sandbox",
+		"application": "cassandraQueryLog",
+		"dataJoinPollIntervalSec" : 30,
+		"mailHost" : "mailHost.com",
+		"mailSmtpPort":"25",
+		"mailDebug" : "true",
+		"balancePartitionEnabled" : true,
+		#"partitionRefreshIntervalInMin" : 60,
+		#"kafkaStatisticRangeInMin" : 60,
+		"eagleService": {
+			"host": "localhost",
+			"port": 9099,
+			"username": "admin",
+			"password": "secret"
+		}
+		"readHdfsUserCommandPatternFrom" : "file"
+	},
+	"dynamicConfigSource" : {
+		"enabled" : true,
+		"initDelayMillis" : 0,
+		"delayMillis" : 30000
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-examples/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-examples/pom.xml b/eagle-examples/pom.xml
index 61bf948..2869319 100644
--- a/eagle-examples/pom.xml
+++ b/eagle-examples/pom.xml
@@ -30,6 +30,4 @@
     <modules>
         <module>eagle-topology-example</module>
     </modules>
-
-
 </project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-external/eagle-kafka/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-external/eagle-kafka/pom.xml b/eagle-external/eagle-kafka/pom.xml
new file mode 100644
index 0000000..1758b13
--- /dev/null
+++ b/eagle-external/eagle-kafka/pom.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ 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.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>eagle-external-parent</artifactId>
+        <groupId>org.apache.eagle</groupId>
+        <version>0.3.0-incubating</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>eagle-kafka</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.kafka</groupId>
+            <artifactId>kafka-clients</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.kafka</groupId>
+            <artifactId>kafka_${scala.version}</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.scalatest</groupId>
+            <artifactId>scalatest_${scala.version}</artifactId>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <build>
+        <sourceDirectory>src/main/scala</sourceDirectory>
+        <plugins>
+            <plugin>
+                <groupId>org.scala-tools</groupId>
+                <artifactId>maven-scala-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>testCompile</goal>
+                        </goals>
+                        <configuration>
+                            <args>
+                                <arg>-make:transitive</arg>
+                                <arg>-dependencyfile</arg>
+                                <arg>${project.build.directory}/.scala_dependencies</arg>
+                            </args>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <useFile>false</useFile>
+                    <disableXmlReport>true</disableXmlReport>
+                    <includes>
+                        <include>**/*Test.*</include>
+                        <include>**/Test*.*</include>
+                        <include>**/*Suite.*</include>
+                    </includes>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-external/eagle-kafka/src/main/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/eagle-external/eagle-kafka/src/main/resources/log4j.properties b/eagle-external/eagle-kafka/src/main/resources/log4j.properties
new file mode 100644
index 0000000..d59ded6
--- /dev/null
+++ b/eagle-external/eagle-kafka/src/main/resources/log4j.properties
@@ -0,0 +1,21 @@
+# 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.
+
+log4j.rootLogger=INFO, stdout
+
+# standard output
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p [%t] %c{2}[%L]: %m%n
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-external/eagle-kafka/src/main/scala/org/apache/eagle/contrib/kafka/ProducerTool.scala
----------------------------------------------------------------------
diff --git a/eagle-external/eagle-kafka/src/main/scala/org/apache/eagle/contrib/kafka/ProducerTool.scala b/eagle-external/eagle-kafka/src/main/scala/org/apache/eagle/contrib/kafka/ProducerTool.scala
new file mode 100644
index 0000000..7b6b7a3
--- /dev/null
+++ b/eagle-external/eagle-kafka/src/main/scala/org/apache/eagle/contrib/kafka/ProducerTool.scala
@@ -0,0 +1,213 @@
+/*
+ * 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.eagle.contrib.kafka
+
+import java.io._
+import java.nio.charset.StandardCharsets
+import java.util.Properties
+
+import joptsimple._
+import kafka.message._
+import kafka.producer.ConsoleProducer.{MessageReader, LineMessageReader}
+import kafka.producer.{KeyedMessage, Producer, ProducerConfig}
+import kafka.serializer._
+import org.apache.commons.io.FileUtils
+
+import scala.collection.JavaConversions._
+
+object ProducerTool {
+  def main(args: Array[String]) {
+    val parser = new OptionParser
+    val topicOpt = parser.accepts("topic", "REQUIRED: The topic id to produce messages to.")
+      .withRequiredArg
+      .describedAs("topic")
+      .ofType(classOf[String])
+    val brokerListOpt = parser.accepts("broker-list", "REQUIRED: The broker list string in the form HOST1:PORT1,HOST2:PORT2.")
+      .withRequiredArg
+      .describedAs("broker-list")
+      .ofType(classOf[String])
+    val syncOpt = parser.accepts("sync", "If set message send requests to the brokers are synchronously, one at a time as they arrive.")
+    val compressOpt = parser.accepts("compress", "If set, messages batches are sent compressed")
+    val batchSizeOpt = parser.accepts("batch-size", "Number of messages to send in a single batch if they are not being sent synchronously.")
+      .withRequiredArg
+      .describedAs("size")
+      .ofType(classOf[java.lang.Integer])
+      .defaultsTo(200)
+    val messageSendMaxRetriesOpt = parser.accepts("message-send-max-retries", "Brokers can fail receiving the message for multiple reasons, and being unavailable transiently is just one of them. This property specifies the number of retires before the producer give up and drop this message.")
+      .withRequiredArg
+      .ofType(classOf[java.lang.Integer])
+      .defaultsTo(3)
+    val retryBackoffMsOpt = parser.accepts("retry-backoff-ms", "Before each retry, the producer refreshes the metadata of relevant topics. Since leader election takes a bit of time, this property specifies the amount of time that the producer waits before refreshing the metadata.")
+      .withRequiredArg
+      .ofType(classOf[java.lang.Long])
+      .defaultsTo(100l)
+    val sendTimeoutOpt = parser.accepts("timeout", "If set and the producer is running in asynchronous mode, this gives the maximum amount of time" +
+      " a message will queue awaiting suffient batch size. The value is given in ms.")
+      .withRequiredArg
+      .describedAs("timeout_ms")
+      .ofType(classOf[java.lang.Long])
+      .defaultsTo(1000l)
+    val queueSizeOpt = parser.accepts("queue-size", "If set and the producer is running in asynchronous mode, this gives the maximum amount of " +
+      " messages will queue awaiting suffient batch size.")
+      .withRequiredArg
+      .describedAs("queue_size")
+      .ofType(classOf[java.lang.Long])
+      .defaultsTo(10000l)
+    val queueEnqueueTimeoutMsOpt = parser.accepts("queue-enqueuetimeout-ms", "Timeout for event enqueue")
+      .withRequiredArg
+      .describedAs("queue enqueuetimeout ms")
+      .ofType(classOf[java.lang.Long])
+      .defaultsTo(Int.MaxValue.toLong)
+    val requestRequiredAcksOpt = parser.accepts("request-required-acks", "The required acks of the producer requests")
+      .withRequiredArg
+      .describedAs("request required acks")
+      .ofType(classOf[java.lang.Integer])
+      .defaultsTo(0)
+    val requestTimeoutMsOpt = parser.accepts("request-timeout-ms", "The ack timeout of the producer requests. Value must be non-negative and non-zero")
+      .withRequiredArg
+      .describedAs("request timeout ms")
+      .ofType(classOf[java.lang.Integer])
+      .defaultsTo(1500)
+    val valueEncoderOpt = parser.accepts("value-serializer", "The class name of the message encoder implementation to use for serializing values.")
+      .withRequiredArg
+      .describedAs("encoder_class")
+      .ofType(classOf[java.lang.String])
+      .defaultsTo(classOf[StringEncoder].getName)
+    val keyEncoderOpt = parser.accepts("key-serializer", "The class name of the message encoder implementation to use for serializing keys.")
+      .withRequiredArg
+      .describedAs("encoder_class")
+      .ofType(classOf[java.lang.String])
+      .defaultsTo(classOf[StringEncoder].getName)
+    val messageReaderOpt = parser.accepts("line-reader", "The class name of the class to use for reading lines from standard in. " +
+      "By default each line is read as a separate message.")
+      .withRequiredArg
+      .describedAs("reader_class")
+      .ofType(classOf[java.lang.String])
+      .defaultsTo(classOf[LineMessageReader].getName)
+    val socketBufferSizeOpt = parser.accepts("socket-buffer-size", "The size of the tcp RECV size.")
+      .withRequiredArg
+      .describedAs("size")
+      .ofType(classOf[java.lang.Integer])
+      .defaultsTo(1024 * 100)
+    val propertyOpt = parser.accepts("property", "A mechanism to pass user-defined properties in the form key=value to the message reader. " +
+      "This allows custom configuration for a user-defined message reader.")
+      .withRequiredArg
+      .describedAs("prop")
+      .ofType(classOf[String])
+
+    val dataOpt = parser.accepts("data", "Input message data content")
+      .withRequiredArg()
+      .describedAs("input message data")
+      .ofType(classOf[String])
+
+    val fileOpt = parser.accepts("file", "Input message file name")
+      .withRequiredArg()
+      .describedAs("input message file")
+      .ofType(classOf[String])
+
+    val options = parser.parse(args: _*)
+    for (arg <- List(topicOpt, brokerListOpt)) {
+      if (!options.has(arg)) {
+        System.err.println("Missing required argument \"" + arg + "\"")
+        parser.printHelpOn(System.err)
+        System.exit(1)
+      }
+    }
+
+    val topic = options.valueOf(topicOpt)
+    val brokerList = options.valueOf(brokerListOpt)
+    val sync = options.has(syncOpt)
+    val compress = options.has(compressOpt)
+    val batchSize = options.valueOf(batchSizeOpt)
+    val sendTimeout = options.valueOf(sendTimeoutOpt)
+    val queueSize = options.valueOf(queueSizeOpt)
+    val queueEnqueueTimeoutMs = options.valueOf(queueEnqueueTimeoutMsOpt)
+    val requestRequiredAcks = options.valueOf(requestRequiredAcksOpt)
+    val requestTimeoutMs = options.valueOf(requestTimeoutMsOpt)
+    val keyEncoderClass = options.valueOf(keyEncoderOpt)
+    val valueEncoderClass = options.valueOf(valueEncoderOpt)
+    val readerClass = options.valueOf(messageReaderOpt)
+    val socketBuffer = options.valueOf(socketBufferSizeOpt)
+    val cmdLineProps = parseLineReaderArgs(options.valuesOf(propertyOpt))
+    val messageData = options.valuesOf(dataOpt)
+    val messageFile = options.valuesOf(fileOpt)
+
+    cmdLineProps.put("topic", topic)
+    val props = new Properties()
+    props.put("metadata.broker.list", brokerList)
+    val codec = if (compress) DefaultCompressionCodec.codec else NoCompressionCodec.codec
+    props.put("compression.codec", codec.toString)
+    props.put("producer.type", if (sync) "sync" else "async")
+    if (options.has(batchSizeOpt))
+      props.put("batch.num.messages", batchSize.toString)
+
+    props.put("message.send.max.retries", options.valueOf(messageSendMaxRetriesOpt).toString)
+    props.put("retry.backoff.ms", options.valueOf(retryBackoffMsOpt).toString)
+    props.put("queue.buffering.max.ms", sendTimeout.toString)
+    props.put("queue.buffering.max.messages", queueSize.toString)
+    props.put("queue.enqueue.timeout.ms", queueEnqueueTimeoutMs.toString)
+    props.put("request.required.acks", requestRequiredAcks.toString)
+    props.put("request.timeout.ms", requestTimeoutMs.toString)
+    props.put("key.serializer.class", keyEncoderClass)
+    props.put("serializer.class", valueEncoderClass)
+    props.put("send.buffer.bytes", socketBuffer.toString)
+
+    val reader = Class.forName(readerClass).newInstance().asInstanceOf[MessageReader[AnyRef, AnyRef]]
+
+    if (messageData.size()>0) {
+      reader.init(new ByteArrayInputStream(messageData.get(0).getBytes(StandardCharsets.UTF_8)), cmdLineProps)
+    } else if (messageFile.size()>0) {
+      reader.init(FileUtils.openInputStream(new File(messageFile.get(0))), cmdLineProps)
+    } else {
+      reader.init(System.in, cmdLineProps)
+    }
+
+    try {
+      val producer = new Producer[AnyRef, AnyRef](new ProducerConfig(props))
+
+      Runtime.getRuntime.addShutdownHook(new Thread() {
+        override def run() {
+          producer.close()
+        }
+      })
+
+      var message: KeyedMessage[AnyRef, AnyRef] = null
+      do {
+        message = reader.readMessage()
+        if (message != null)
+          producer.send(message)
+      } while (message != null)
+    } catch {
+      case e: Exception =>
+        e.printStackTrace()
+        System.exit(1)
+    }
+    System.exit(0)
+  }
+
+  def parseLineReaderArgs(args: Iterable[String]): Properties = {
+    val splits = args.map(_ split "=").filterNot(_ == null).filterNot(_.length == 0)
+    if (!splits.forall(_.length == 2)) {
+      System.err.println("Invalid line reader properties: " + args.mkString(" "))
+      System.exit(1)
+    }
+    val props = new Properties
+    for (a <- splits)
+      props.put(a(0), a(1))
+    props
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-external/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-external/pom.xml b/eagle-external/pom.xml
index 4a16e68..2f9d30c 100644
--- a/eagle-external/pom.xml
+++ b/eagle-external/pom.xml
@@ -32,5 +32,6 @@
 
     <modules>
         <module>eagle-log4jkafka</module>
+        <module>eagle-kafka</module>
     </modules>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-project-preference/eclipse-java-templates.xml
----------------------------------------------------------------------
diff --git a/eagle-project-preference/eclipse-java-templates.xml b/eagle-project-preference/eclipse-java-templates.xml
deleted file mode 100644
index 8ccc558..0000000
--- a/eagle-project-preference/eclipse-java-templates.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="false" context="newtype_context" deleted="false" description="Newly created files" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.newtype" name="newtype">/*
- * 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_declaration}
-
-${typecomment}
-${type_declaration}</template></templates>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-project-preference/eclipse-scala-templates.xml
----------------------------------------------------------------------
diff --git a/eagle-project-preference/eclipse-scala-templates.xml b/eagle-project-preference/eclipse-scala-templates.xml
deleted file mode 100644
index 55ce31a..0000000
--- a/eagle-project-preference/eclipse-scala-templates.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New App template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.app" name="wizard_app">/*
- * 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_name}
-
-object ${type_name} extends App {
-  ${cursor}
-}</template><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New class template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.class" name="wizard_class">/*
- * 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_name}
-
-class ${type_name} {
-  ${cursor}
-}</template><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New empty file template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.empty" name="wizard_empty">/*
- * 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.
- */
- </template><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New object template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.object" name="wizard_object">/*
- * 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_name}
-
-object ${type_name} {
-  ${cursor}
-}</template><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New package object template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.packageObject" name="wizard_package_object">/*
- * 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_name}
-
-package object ${type_name} {
-  ${cursor}
-}</template><template autoinsert="true" context="org.scala-ide.sdt.core.templates" deleted="false" description="New trait template for the new file wizard" enabled="true" id="org.scalaide.core.templates.wizards.trait" name="wizard_trait">/*
- * 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_name}
-
-trait ${type_name} {
-  ${cursor}
-}</template></templates>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-topology-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-topology-assembly/pom.xml b/eagle-topology-assembly/pom.xml
index 81649a3..7fc9875 100644
--- a/eagle-topology-assembly/pom.xml
+++ b/eagle-topology-assembly/pom.xml
@@ -58,6 +58,24 @@
             <groupId>org.apache.eagle</groupId>
             <artifactId>eagle-metric-collection</artifactId>
             <version>${project.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.ow2.asm</groupId>
+                    <artifactId>asm-all</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.ow2.asm</groupId>
+                    <artifactId>asm</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>asm</groupId>
+                    <artifactId>asm</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>asm</groupId>
+                    <artifactId>asm-all</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.eagle</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-webservice/src/main/resources/application-hbase.conf
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/resources/application-hbase.conf b/eagle-webservice/src/main/resources/application-hbase.conf
new file mode 100644
index 0000000..680be0e
--- /dev/null
+++ b/eagle-webservice/src/main/resources/application-hbase.conf
@@ -0,0 +1,25 @@
+# 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.
+
+eagle{
+	service{
+		storage-type="hbase"
+		hbase-zookeeper-quorum="localhost"
+		hbase-zookeeper-property-clientPort=2181
+		zookeeper-znode-parent="/hbase",
+		springActiveProfile="sandbox"
+		audit-enabled=true
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-webservice/src/main/resources/application.conf
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/resources/application.conf b/eagle-webservice/src/main/resources/application.conf
index 61a899f..ca936ed 100644
--- a/eagle-webservice/src/main/resources/application.conf
+++ b/eagle-webservice/src/main/resources/application.conf
@@ -16,13 +16,13 @@
 eagle {
 	service {
 		storage-type="jdbc"
-		storage-adapter="mysql"
+		storage-adapter="derby"
 		storage-username="eagle"
 		storage-password=eagle
 		storage-database=eagle
-		storage-connection-url="jdbc:mysql://localhost:3306/eagle"
+		storage-connection-url="jdbc:derby:/tmp/eagle-db-dev;create=true"
 		storage-connection-props="encoding=UTF-8"
-		storage-driver-class="com.mysql.jdbc.Driver"
+		storage-driver-class="org.apache.derby.jdbc.EmbeddedDriver"
 		storage-connection-max=8
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/eagle-webservice/src/main/resources/application.conf.bak
----------------------------------------------------------------------
diff --git a/eagle-webservice/src/main/resources/application.conf.bak b/eagle-webservice/src/main/resources/application.conf.bak
deleted file mode 100644
index 680be0e..0000000
--- a/eagle-webservice/src/main/resources/application.conf.bak
+++ /dev/null
@@ -1,25 +0,0 @@
-# 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.
-
-eagle{
-	service{
-		storage-type="hbase"
-		hbase-zookeeper-quorum="localhost"
-		hbase-zookeeper-property-clientPort=2181
-		zookeeper-znode-parent="/hbase",
-		springActiveProfile="sandbox"
-		audit-enabled=true
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/60325aa2/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0d81c84..6caa824 100755
--- a/pom.xml
+++ b/pom.xml
@@ -182,6 +182,7 @@
         <commons-httpclient.version>3.1</commons-httpclient.version>
         <commons-beanutils.version>1.8.0</commons-beanutils.version>
         <commons-collections4.version>4.0</commons-collections4.version>
+        <commons-io.version>2.4</commons-io.version>
 
         <!-- Configuration -->
         <archaius.version>0.6.1</archaius.version>
@@ -320,6 +321,11 @@
                 <version>${commons-dbcp.version}</version>
             </dependency>
             <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${commons-io.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>org.scala-lang</groupId>
                 <artifactId>scala-reflect</artifactId>
                 <version>${scala-reflect.version}</version>


Mime
View raw message