http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-alert-parent/eagle-alert/pom.xml ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-alert-parent/eagle-alert/pom.xml b/eagle-core/eagle-alert-parent/eagle-alert/pom.xml deleted file mode 100644 index e1156ef..0000000 --- a/eagle-core/eagle-alert-parent/eagle-alert/pom.xml +++ /dev/null @@ -1,377 +0,0 @@ -<?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"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.eagle</groupId> - <artifactId>eagle-alert-parent</artifactId> - <version>0.5.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>eagle-alert</artifactId> - <name>Eagle::Core::Alert::Core</name> - <packaging>pom</packaging> - - <modules> - <module>alert-common</module> - <module>alert-engine</module> - <module>alert-metadata-parent</module> - <module>alert-coordinator</module> - <module>alert-assembly</module> - <module>alert-devtools</module> - <module>alert-service</module> - </modules> - - <properties> - <embed.mongo.version>1.50.5</embed.mongo.version> - </properties> - - <dependencyManagement> - <dependencies> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-core</artifactId> - <version>${fasterxml-jackson.version}</version> - </dependency> - <dependency> - <groupId>javax.mail</groupId> - <artifactId>mail</artifactId> - <version>${javax.mail.version}</version> - </dependency> - <dependency> - <groupId>org.apache.velocity</groupId> - <artifactId>velocity</artifactId> - <version>${velocity.version}</version> - </dependency> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-all</artifactId> - <version>${mockito.version}</version> - </dependency> - <dependency> - <groupId>org.apache.curator</groupId> - <artifactId>curator-framework</artifactId> - <version>${curator.version}</version> - </dependency> - <dependency> - <groupId>org.apache.curator</groupId> - <artifactId>curator-test</artifactId> - <version>${curator.test.version}</version> - </dependency> - <dependency> - <groupId>org.apache.curator</groupId> - <artifactId>curator-recipes</artifactId> - <version>${curator.version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-annotations</artifactId> - <version>${fasterxml-jackson.version}</version> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-lang3</artifactId> - <version>${commons-lang3.version}</version> - </dependency> - <dependency> - <groupId>commons-collections</groupId> - <artifactId>commons-collections</artifactId> - <version>${commons-collections.version}</version> - </dependency> - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - <version>${commons-lang.version}</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-databind</artifactId> - <version>${fasterxml-jackson.version}</version> - </dependency> - <dependency> - <groupId>org.apache.storm</groupId> - <artifactId>storm-kafka</artifactId> - <version>${storm-kafka.version}</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <version>${slf4j-log4j12.version}</version> - </dependency> - <dependency> - <groupId>org.apache.storm</groupId> - <artifactId>storm-core</artifactId> - <version>${storm.version}</version> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>log4j-over-slf4j</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-slf4j-impl</artifactId> - </exclusion> - <exclusion> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.kafka</groupId> - <artifactId>${kafka.artifact.id}</artifactId> - <version>${kafka.version}</version> - <exclusions> - <exclusion> - <groupId>org.sfl4j</groupId> - <artifactId>slf4j-log4j</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>com.typesafe</groupId> - <artifactId>config</artifactId> - <version>${typesafe.config.version}</version> - </dependency> - <dependency> - <groupId>com.netflix.archaius</groupId> - <artifactId>archaius-core</artifactId> - <version>${archaius.version}</version> - </dependency> - <dependency> - <groupId>io.dropwizard.metrics</groupId> - <artifactId>metrics-core</artifactId> - <version>${metrics.version}</version> - </dependency> - <dependency> - <groupId>io.dropwizard.metrics</groupId> - <artifactId>metrics-jvm</artifactId> - <version>${metrics.version}</version> - </dependency> - <dependency> - <groupId>org.wso2.siddhi</groupId> - <artifactId>siddhi-core</artifactId> - <version>${siddhi.version}</version> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-simple</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.wso2.siddhi</groupId> - <artifactId>siddhi-query-api</artifactId> - <version>${siddhi.version}</version> - </dependency> - <dependency> - <groupId>org.wso2.siddhi</groupId> - <artifactId>siddhi-query-compiler</artifactId> - <version>${siddhi.version}</version> - </dependency> - <dependency> - <groupId>org.wso2.siddhi</groupId> - <artifactId>siddhi-extension-regex</artifactId> - <version>${siddhi.version}</version> - </dependency> - <dependency> - <groupId>org.wso2.siddhi</groupId> - <artifactId>siddhi-extension-string</artifactId> - <version>${siddhi.version}</version> - </dependency> - <dependency> - <groupId>org.apache.kafka</groupId> - <artifactId>kafka-clients</artifactId> - <version>${kafka-clients.version}</version> - <!--<scope>test</scope> --> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>com.101tec</groupId> - <artifactId>zkclient</artifactId> - <version>${zkclient.version}</version> - </dependency> - - <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-client</artifactId> - <version>${jersey.version}</version> - </dependency> - <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-server</artifactId> - <version>${jersey.version}</version> - </dependency> - <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-json</artifactId> - <version>${jersey.version}</version> - </dependency> - <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-servlet</artifactId> - <version>${jersey.version}</version> - </dependency> - <dependency> - <groupId>com.sun.jersey.contribs</groupId> - <artifactId>jersey-multipart</artifactId> - <version>${jersey.version}</version> - </dependency> - - <dependency> - <groupId>org.apache.tomcat.embed</groupId> - <artifactId>tomcat-embed-core</artifactId> - <version>${tomcat-embed.version}</version> - </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>${guava.version}</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>${slf4j.version}</version> - </dependency> - <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-jaxrs</artifactId> - <version>${swagger.version}</version> - </dependency> - <dependency> - <groupId>org.mapdb</groupId> - <artifactId>mapdb</artifactId> - <version>${mapdb.version}</version> - </dependency> - <dependency> - <groupId>joda-time</groupId> - <artifactId>joda-time</artifactId> - <version>${joda.version}</version> - </dependency> - <dependency> - <groupId>org.elasticsearch</groupId> - <artifactId>metrics-elasticsearch-reporter</artifactId> - <version>${metrics-elasticsearch-reporter.version}</version> - </dependency> - <dependency> - <groupId>commons-cli</groupId> - <artifactId>commons-cli</artifactId> - <version>${common.cli.version}</version> - </dependency> - <dependency> - <groupId>org.mongodb</groupId> - <artifactId>mongo-java-driver</artifactId> - <version>${mongodb.version}</version> - </dependency> - <dependency> - <groupId>de.flapdoodle.embed</groupId> - <artifactId>de.flapdoodle.embed.mongo</artifactId> - <version>${embed.mongo.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.ullink.slack</groupId> - <artifactId>simpleslackapi</artifactId> - <version>${ullink.slack.version}</version> - </dependency> - </dependencies> - </dependencyManagement> - - <build> - <plugins> - <plugin> - <groupId>org.apache.rat</groupId> - <artifactId>apache-rat-plugin</artifactId> - <executions> - <execution> - <id>header-check</id> - <phase>verify</phase> - <goals> - <goal>check</goal> - </goals> - <configuration> - <useDefaultExcludes>true</useDefaultExcludes> - <excludes> - <exclude>**/*.out</exclude> - <exclude>**/*.log</exclude> - <exclude>**/*.json</exclude> - <exclude>**/*.classpath</exclude> - <exclude>**/*.project</exclude> - <exclude>**/*.prefs</exclude> - <exclude>**/*.iml</exclude> - <exclude>**/*.orig</exclude> - <exclude>**/MANIFEST.MF</exclude> - <exclude>**/dependency-reduced-pom.xml</exclude> - <exclude>**/target/**</exclude>` - </excludes> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.rat</groupId> - <artifactId>apache-rat-plugin</artifactId> - <version>${maven-apache-rat.version}</version> - <configuration> - <useDefaultExcludes>true</useDefaultExcludes> - </configuration> - </plugin> - <plugin> - <artifactId>maven-compiler-plugin</artifactId> - <version>${maven-compiler.version}</version> - <configuration> - <source>${java.version}</source> - <target>${java.version}</target> - <encoding>UTF-8</encoding> - <maxmem>2048m</maxmem> - <fork>true</fork> - </configuration> - </plugin> - <plugin> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-maven-plugin</artifactId> - <version>${jetty.version}</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - <version>2.1.2</version> - <executions> - <execution> - <id>attach-sources</id> - <phase>verify</phase> - <goals> - <goal>jar-no-fork</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </pluginManagement> - </build> -</project>
http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-alert-parent/pom.xml ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-alert-parent/pom.xml b/eagle-core/eagle-alert-parent/pom.xml deleted file mode 100644 index 0c84b3d..0000000 --- a/eagle-core/eagle-alert-parent/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?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"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.eagle</groupId> - <artifactId>eagle-core</artifactId> - <version>0.5.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>eagle-alert-parent</artifactId> - <name>Eagle::Core::Alert</name> - <packaging>pom</packaging> - - <modules> - <module>eagle-alert</module> - <module>eagle-alert-service</module> - <module>eagle-alert-app</module> - </modules> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - <configuration> - <failOnViolation>true</failOnViolation> - <failsOnError>true</failsOnError> - </configuration> - </plugin> - </plugins> - </build> -</project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/pom.xml ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/pom.xml b/eagle-core/eagle-app/eagle-app-base/pom.xml deleted file mode 100644 index b614c6b..0000000 --- a/eagle-core/eagle-app/eagle-app-base/pom.xml +++ /dev/null @@ -1,138 +0,0 @@ -<?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-app-parent</artifactId> - <groupId>org.apache.eagle</groupId> - <version>0.5.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <modelVersion>4.0.0</modelVersion> - <artifactId>eagle-app-base</artifactId> - <name>Eagle::Core::App::Base</name> - <packaging>jar</packaging> - - <dependencies> - <dependency> - <groupId>com.google.inject</groupId> - <artifactId>guice</artifactId> - <version>${guice.version}</version> - </dependency> - <dependency> - <groupId>com.typesafe</groupId> - <artifactId>config</artifactId> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-annotations</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - </dependency> - <dependency> - <groupId>com.google.inject.extensions</groupId> - <artifactId>guice-servlet</artifactId> - </dependency> - <dependency> - <groupId>javax.ws.rs</groupId> - <artifactId>jsr311-api</artifactId> - <version>1.1.1</version> - </dependency> - <dependency> - <groupId>org.apache.thrift</groupId> - <artifactId>libthrift</artifactId> - <version>${thrift.version}</version> - </dependency> - <dependency> - <groupId>org.apache.eagle</groupId> - <artifactId>alert-metadata</artifactId> - <version>${project.version}</version> - <exclusions> - <exclusion> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.eagle</groupId> - <artifactId>alert-engine</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-server</artifactId> - <version>${jersey.version}</version> - </dependency> - <dependency> - <groupId>org.apache.eagle</groupId> - <artifactId>eagle-metadata-base</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.eagle</groupId> - <artifactId>eagle-common</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>io.dropwizard</groupId> - <artifactId>dropwizard-core</artifactId> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>log4j-over-slf4j</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.eagle</groupId> - <artifactId>eagle-client-base</artifactId> - <version>${project.version}</version> - <exclusions> - <exclusion> - <artifactId>xercesImpl</artifactId> - <groupId>xerces</groupId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4</artifactId> - <version>${powermock.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-api-mockito</artifactId> - <version>${powermock.version}</version> - <scope>test</scope> - </dependency> - </dependencies> -</project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/Application.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/Application.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/Application.java deleted file mode 100644 index d76e468..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/Application.java +++ /dev/null @@ -1,57 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app; - -import org.apache.eagle.app.environment.Environment; -import com.typesafe.config.Config; - -import java.io.Serializable; - -/** - * Application Execution Interface. - * <h1>Design Principle</h1> - * <ul> - * <li>Easy to develop and extend </li> - * <li>Easy to test and run locally</li> - * <li>Easy to manage lifecycle through framework</li> - * </ul> - * - * @param <P> - * @param <E> - */ -public interface Application< - E extends Environment, // Application Environment - P // Application Process - > extends Serializable { - /** - * Execute with application configuration. - * - * @param config application configuration - * @param environment execution environment - * @return execution process - */ - P execute(Config config, E environment); - - /** - * Execution Environment type. - * - * @return application environment type - */ - Class<? extends E> getEnvironmentType(); - - boolean isExecutable(); -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationCLI.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationCLI.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationCLI.java deleted file mode 100644 index d9b0e44..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationCLI.java +++ /dev/null @@ -1,35 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app; - -/** - * Usage: java org.apache.eagle.app.ApplicationCLI [APPLICATION_CLASS] [APPLICATION_OPTIONS: -D Key=Value]. - */ -public class ApplicationCLI { - public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException { - if (args.length < 1) { - System.err.println("Usage: java " + ApplicationCLI.class.getName() + " [APPLICATION_CLASS] [APPLICATION_OPTIONS: -D Key=Value]"); - System.exit(1); - } else { - String appClassName = args[0]; - Class<? extends ApplicationTool> appClass = (Class<? extends ApplicationTool>) Class.forName(appClassName); - String[] appArgs = new String[args.length - 1]; - System.arraycopy(args, 1, appArgs, 0, args.length - 1); - appClass.newInstance().run(appArgs); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationLifecycle.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationLifecycle.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationLifecycle.java deleted file mode 100644 index e482615..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationLifecycle.java +++ /dev/null @@ -1,50 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app; - -/** - * Application Lifecycle Listener/Callback. - */ -public interface ApplicationLifecycle { - /** - * After Application Installed. (Callback) - */ - default void afterInstall() { - // Do nothing by default - } - - /** - * After Application Uninstalled. (Callback) - */ - default void afterUninstall() { - // Do nothing by default - } - - /** - * Before Application Start. (Prepare) - */ - default void beforeStart() { - // Do nothing by default - } - - /** - * After Application Stopped. (Callback) - */ - default void afterStop() { - // Do nothing by default - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationTool.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationTool.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationTool.java deleted file mode 100644 index bb3bcfe..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ApplicationTool.java +++ /dev/null @@ -1,44 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app; - -import org.apache.eagle.common.config.ConfigOptionParser; -import com.typesafe.config.Config; -import com.typesafe.config.ConfigFactory; -import org.apache.commons.cli.ParseException; - -public interface ApplicationTool { - /** - * Run application through CLI. - * - * @param args application arguments - */ - default void run(String[] args) { - try { - run(new ConfigOptionParser().load(args)); - } catch (ParseException e) { - e.printStackTrace(); - System.exit(1); - } - } - - void run(Config config); - - default void run() { - run(ConfigFactory.load()); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ExecutableApplication.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ExecutableApplication.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ExecutableApplication.java deleted file mode 100644 index 6463d47..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/ExecutableApplication.java +++ /dev/null @@ -1,33 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app; - -import org.apache.eagle.app.environment.Environment; -import org.apache.eagle.app.environment.ExecutionRuntimeManager; -import com.typesafe.config.Config; - -public abstract class ExecutableApplication<E extends Environment, P> implements Application<E, P>, ApplicationTool { - @Override - public void run(Config config) { - ExecutionRuntimeManager.getInstance().getRuntime(getEnvironmentType(), config).start(this, config); - } - - @Override - public boolean isExecutable() { - return true; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StaticApplication.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StaticApplication.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StaticApplication.java deleted file mode 100644 index 2aecb7e..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StaticApplication.java +++ /dev/null @@ -1,56 +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 - * <p> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p> - * 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.app; - -import com.typesafe.config.Config; -import org.apache.eagle.app.environment.impl.StaticApplicationExecutor; -import org.apache.eagle.app.environment.impl.StaticEnvironment; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Static Application without executable process. - */ -public class StaticApplication implements Application<StaticEnvironment, StaticApplicationExecutor> { - private static final Logger LOGGER = LoggerFactory.getLogger(StaticApplication.class); - private final String name; - - public StaticApplication(String name) { - this.name = name; - } - - @Override - public StaticApplicationExecutor execute(Config config, StaticEnvironment environment) { - LOGGER.warn("Executing Static application"); - return new StaticApplicationExecutor(this); - } - - @Override - public Class<? extends StaticEnvironment> getEnvironmentType() { - return StaticEnvironment.class; - } - - @Override - public boolean isExecutable() { - return false; - } - - @Override - public String toString() { - return String.format("StaticApplication(%s)",this.name); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StaticApplicationProvider.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StaticApplicationProvider.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StaticApplicationProvider.java deleted file mode 100644 index e8a5d0d..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StaticApplicationProvider.java +++ /dev/null @@ -1,34 +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 - * <p> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p> - * 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.app; - -import org.apache.eagle.app.spi.AbstractApplicationProvider; - -/** - * Static Web Application Provider. - */ -public abstract class StaticApplicationProvider extends AbstractApplicationProvider<StaticApplication> { - @Override - public StaticApplication getApplication() { - return new StaticApplication(this.getApplicationDesc().getType()); - } - - @Override - public final Class<StaticApplication> getApplicationClass() { - return StaticApplication.class; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StormApplication.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StormApplication.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StormApplication.java deleted file mode 100644 index 05fc512..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/StormApplication.java +++ /dev/null @@ -1,27 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app; - -import org.apache.eagle.app.environment.impl.StormEnvironment; -import backtype.storm.generated.StormTopology; - -public abstract class StormApplication extends ExecutableApplication<StormEnvironment, StormTopology> { - @Override - public Class<? extends StormEnvironment> getEnvironmentType() { - return StormEnvironment.class; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderConfig.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderConfig.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderConfig.java deleted file mode 100644 index 16438a0..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderConfig.java +++ /dev/null @@ -1,59 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app.config; - -import org.apache.eagle.app.spi.ApplicationProvider; - -public class ApplicationProviderConfig { - private String jarPath; - private String className; - - public ApplicationProviderConfig() { - } - - public ApplicationProviderConfig(String jarPath, Class<? extends ApplicationProvider> className) { - this.jarPath = jarPath; - this.className = className.getCanonicalName(); - } - - public ApplicationProviderConfig(String jarPath, String className) { - this.jarPath = jarPath; - this.className = className; - } - - @Override - public String toString() { - return String.format("ApplicationProviderConfig[jarPath=%s,className=%s]", this.getJarPath(), this.getClassName()); - } - - public String getJarPath() { - return jarPath; - } - - public void setJarPath(String jarPath) { - this.jarPath = jarPath; - } - - public String getClassName() { - return className; - } - - public void setClassName(String className) { - this.className = className; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderDescConfig.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderDescConfig.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderDescConfig.java deleted file mode 100644 index c05b6d6..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProviderDescConfig.java +++ /dev/null @@ -1,165 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app.config; - -import org.apache.eagle.alert.engine.coordinator.StreamDefinition; -import org.apache.eagle.common.Version; -import org.apache.eagle.metadata.model.ApplicationDependency; -import org.apache.eagle.metadata.model.ApplicationDocs; -import org.apache.eagle.metadata.model.Configuration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.*; -import java.io.InputStream; -import java.util.List; - -/** - * Application Metadata Descriptor Unmarshalling POJO. - * - * @see org.apache.eagle.app.spi.ApplicationProvider - */ -@XmlRootElement(name = "application") -@XmlAccessorType(XmlAccessType.FIELD) -public class ApplicationProviderDescConfig { - - @XmlElement(required = true) - private String type; - - @XmlElement(required = true) - private String name; - - @XmlElement(required = true) - private String version = Version.version; - - private String description; - private String viewPath; - private Configuration configuration; - private ApplicationDocs docs; - - @XmlElementWrapper(name = "streams") - @XmlElement(name = "stream") - private List<StreamDefinition> streams; - - @XmlElementWrapper(name = "dependencies") - @XmlElement(name = "dependency") - private List<ApplicationDependency> dependencies; - - public String getDescription() { - return description; - } - - public String getVersion() { - return version; - } - - public String getType() { - return type; - } - - public Configuration getConfiguration() { - return configuration; - } - - public String getName() { - return name; - } - - public String getViewPath() { - return viewPath; - } - - public void setType(String type) { - this.type = type; - } - - public void setName(String name) { - this.name = name; - } - - public void setVersion(String version) { - this.version = version; - } - - public void setDescription(String description) { - this.description = description; - } - - public void setViewPath(String viewPath) { - this.viewPath = viewPath; - } - - @Override - public String toString() { - return String.format("ApplicationDesc [type=%s, name=%s, version=%s, viewPath=%s, configuration= %s properties, description=%s", - getType(), getName(), getVersion(), getViewPath(), - getConfiguration() == null ? 0 : getConfiguration().size(), getDescription()); - } - - public void setConfiguration(Configuration configuration) { - this.configuration = configuration; - } - - - public List<StreamDefinition> getStreams() { - return streams; - } - - public void setStreams(List<StreamDefinition> streams) { - this.streams = streams; - } - - private static final Logger LOG = LoggerFactory.getLogger(ApplicationProviderDescConfig.class); - - public static ApplicationProviderDescConfig loadFromXML(Class<?> classLoader, String configXmlFile) { - try { - JAXBContext jc = JAXBContext.newInstance(ApplicationProviderDescConfig.class); - Unmarshaller unmarshaller = jc.createUnmarshaller(); - // InputStream is = ApplicationProviderDescConfig.class.getResourceAsStream(configXmlFile); - InputStream is = classLoader.getResourceAsStream(configXmlFile); - if (is == null) { - is = ApplicationProviderDescConfig.class.getResourceAsStream("/" + configXmlFile); - } - if (is == null) { - LOG.error("Application descriptor configuration {} is not found", configXmlFile); - throw new IllegalStateException("Application descriptor " + configXmlFile + " is not found"); - } - return (ApplicationProviderDescConfig) unmarshaller.unmarshal(is); - } catch (Exception ex) { - LOG.error("Failed to load application descriptor: {}", configXmlFile, ex); - throw new IllegalStateException("Failed to load application descriptor: " + configXmlFile, ex); - } - } - - public ApplicationDocs getDocs() { - return docs; - } - - public void setDocs(ApplicationDocs docs) { - this.docs = docs; - } - - public List<ApplicationDependency> getDependencies() { - return dependencies; - } - - public void setDependencies(List<ApplicationDependency> dependencies) { - this.dependencies = dependencies; - } -} http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProvidersConfig.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProvidersConfig.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProvidersConfig.java deleted file mode 100644 index 903a15f..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/config/ApplicationProvidersConfig.java +++ /dev/null @@ -1,39 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app.config; - -import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "providers") -@XmlAccessorType(XmlAccessType.FIELD) -public class ApplicationProvidersConfig { - - @XmlElement(name = "provider") - private List<ApplicationProviderConfig> providers; - - public List<ApplicationProviderConfig> getProviders() { - return providers; - } - - public void setProviders(List<ApplicationProviderConfig> providers) { - this.providers = providers; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/AbstractEnvironment.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/AbstractEnvironment.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/AbstractEnvironment.java deleted file mode 100644 index ec2ffe1..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/AbstractEnvironment.java +++ /dev/null @@ -1,74 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app.environment; - -import com.typesafe.config.Config; -import org.apache.commons.lang3.builder.HashCodeBuilder; -import org.apache.eagle.app.messaging.KafkaStreamProvider; -import org.apache.eagle.app.messaging.StreamProvider; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public abstract class AbstractEnvironment implements Environment { - - private final Config config; - private final StreamProvider streamProvider; - private static final String APPLICATIONS_MESSAGING_TYPE_PROPS_KEY = "application.stream.provider"; - private static final String DEFAULT_APPLICATIONS_MESSAGING_TYPE = KafkaStreamProvider.class.getName(); - private static final Logger LOGGER = LoggerFactory.getLogger(AbstractEnvironment.class); - - public AbstractEnvironment(Config config) { - this.config = config; - this.streamProvider = loadStreamProvider(); - } - - private StreamProvider loadStreamProvider() { - String sinkProviderClassName = config.hasPath(APPLICATIONS_MESSAGING_TYPE_PROPS_KEY) - ? config.getString(APPLICATIONS_MESSAGING_TYPE_PROPS_KEY) : DEFAULT_APPLICATIONS_MESSAGING_TYPE; - try { - Class<?> sinkProviderClass = Class.forName(sinkProviderClassName); - if (!StreamProvider.class.isAssignableFrom(sinkProviderClass)) { - throw new IllegalStateException(sinkProviderClassName + "is not assignable from " + StreamProvider.class.getCanonicalName()); - } - StreamProvider instance = (StreamProvider) sinkProviderClass.newInstance(); - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Loaded {}", instance); - } - return instance; - } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { - LOGGER.error(e.getMessage(), e); - throw new IllegalStateException(e.getMessage(), e.getCause()); - } - } - - @Override - public int hashCode() { - return new HashCodeBuilder() - .append(this.getClass()) - .append(this.config()).build(); - } - - public StreamProvider stream() { - return streamProvider; - } - - - @Override - public Config config() { - return config; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/Environment.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/Environment.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/Environment.java deleted file mode 100644 index db87693..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/Environment.java +++ /dev/null @@ -1,37 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app.environment; - -import org.apache.eagle.app.messaging.StreamProvider; -import com.typesafe.config.Config; - -import java.io.Serializable; - -/** - * Execution Environment Context. - */ -public interface Environment extends Serializable { - - Config config(); - - /** - * TODO Only useful for Storm/Spark Exeuctable Application instead of static web application. - * - * @return StreamProvider. - */ - StreamProvider stream(); -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntime.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntime.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntime.java deleted file mode 100644 index 4bba81b..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntime.java +++ /dev/null @@ -1,61 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app.environment; - -import org.apache.eagle.app.Application; -import com.typesafe.config.Config; -import org.apache.eagle.metadata.model.ApplicationEntity; - -/** - * Execution Runtime Adapter. - */ -public interface ExecutionRuntime<E extends Environment, P> { - - /** - * Prepare runtime. - * - * @param environment environment context - */ - void prepare(E environment); - - E environment(); - - /** - * Start application process. - * - * @param executor - * @param config - */ - void start(Application<E, P> executor, Config config); - - /** - * Stop application process. - * - * @param executor - * @param config - */ - void stop(Application<E, P> executor, Config config); - - /** - * Check application process status. - * - * @param executor - * @param config - * @return status - */ - ApplicationEntity.Status status(Application<E, P> executor, Config config); -} http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntimeManager.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntimeManager.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntimeManager.java deleted file mode 100644 index f75a798..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntimeManager.java +++ /dev/null @@ -1,93 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app.environment; - -import org.apache.eagle.app.environment.impl.*; -import com.google.common.base.Preconditions; -import com.typesafe.config.Config; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.lang.reflect.InvocationTargetException; -import java.util.HashMap; -import java.util.Map; - -/** - * Manage execution runtime corresponding to Environment. - * - * @see Environment - * @see ExecutionRuntime - */ -public class ExecutionRuntimeManager { - private static final ExecutionRuntimeManager INSTANCE = new ExecutionRuntimeManager(); - private static final Logger LOGGER = LoggerFactory.getLogger(ExecutionRuntimeManager.class); - - static { - getInstance().register(StormEnvironment.class, new StormExecutionRuntime.Provider()); - getInstance().register(SparkEnvironment.class, new SparkExecutionRuntime.Provider()); - getInstance().register(StaticEnvironment.class, new StaticExecutionRuntime.Provider()); - } - - private final Map<Class<? extends Environment>, ExecutionRuntimeProvider> executionRuntimeProviders; - private final Map<Environment, ExecutionRuntime> executionRuntimeCache; - - private ExecutionRuntimeManager() { - executionRuntimeProviders = new HashMap<>(); - executionRuntimeCache = new HashMap<>(); - } - - public static ExecutionRuntimeManager getInstance() { - return INSTANCE; - } - - public <E extends Environment, P> ExecutionRuntime getRuntime(E environment) { - Preconditions.checkNotNull(environment, "Failed to create execution runtime as environment is null"); - if (executionRuntimeCache.containsKey(environment)) { - return executionRuntimeCache.get(environment); - } - - if (executionRuntimeProviders.containsKey(environment.getClass())) { - ExecutionRuntime<E, P> runtime = ((ExecutionRuntimeProvider<E, P>) executionRuntimeProviders.get(environment.getClass())).get(); - runtime.prepare(environment); - executionRuntimeCache.put(environment, runtime); - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Created new execution runtime {} for environment: {}", runtime, environment); - } - return runtime; - } else { - LOGGER.error("No matched execution runtime found for environment: " + environment); - throw new IllegalStateException("No matched execution runtime found for environment: " + environment); - } - } - - public <E extends Environment> ExecutionRuntime getRuntime(Class<E> environmentClass, Config config) { - try { - E environment = environmentClass.getConstructor(Config.class).newInstance(config); - return getRuntime(environment); - } catch (InstantiationException | InvocationTargetException | NoSuchMethodException | IllegalAccessException e) { - LOGGER.error("Failed to create environment instance of type: " + environmentClass, e); - throw new RuntimeException("Failed to create environment instance of type: " + environmentClass, e); - } - } - - public void register(Class<? extends Environment> appSuperClass, ExecutionRuntimeProvider executionRuntimeProvider) { - if (executionRuntimeProviders.containsKey(appSuperClass)) { - throw new IllegalStateException("Duplicated application type registered: " + appSuperClass.getCanonicalName()); - } - executionRuntimeProviders.put(appSuperClass, executionRuntimeProvider); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntimeProvider.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntimeProvider.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntimeProvider.java deleted file mode 100644 index 44be0f0..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/ExecutionRuntimeProvider.java +++ /dev/null @@ -1,21 +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 - * <p/> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p/> - * 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.app.environment; - -public interface ExecutionRuntimeProvider<E extends Environment, P> { - ExecutionRuntime<E, P> get(); -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/AggregateFunction.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/AggregateFunction.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/AggregateFunction.java deleted file mode 100644 index 836300c..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/AggregateFunction.java +++ /dev/null @@ -1,67 +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 - * <p> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p> - * 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.app.environment.builder; - -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.TimeUnit; - -public abstract class AggregateFunction implements TransformFunction { - private String aggFieldName; - private String resultFieldName; - private List<String> groupByFieldNames; - private long windowLengthMs; - - public List<String> getGroupByFieldNames() { - return groupByFieldNames; - } - - public void setGroupByFieldNames(List<String> groupByFieldNames) { - this.groupByFieldNames = groupByFieldNames; - } - - public String getResultFieldName() { - return resultFieldName; - } - - public void setResultFieldName(String resultFieldName) { - this.resultFieldName = resultFieldName; - } - - public String getAggFieldName() { - return aggFieldName; - } - - public void setAggFieldName(String aggFieldName) { - this.aggFieldName = aggFieldName; - } - - public AggregateFunction asField(String resultFieldName) { - this.setResultFieldName(resultFieldName); - return this; - } - - public AggregateFunction groupBy(String... groupByFieldNames) { - this.setGroupByFieldNames(Arrays.asList(groupByFieldNames)); - return this; - } - - public AggregateFunction windowBy(long windowLength, TimeUnit timeUnit) { - this.windowLengthMs = timeUnit.toMillis(windowLength); - return this; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/ApplicationBuilder.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/ApplicationBuilder.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/ApplicationBuilder.java deleted file mode 100644 index 05686f8..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/ApplicationBuilder.java +++ /dev/null @@ -1,130 +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 - * <p> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p> - * 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.app.environment.builder; - - -import backtype.storm.generated.StormTopology; -import backtype.storm.topology.TopologyBuilder; -import backtype.storm.tuple.Fields; -import com.google.common.base.Preconditions; -import com.typesafe.config.Config; -import org.apache.eagle.app.environment.impl.StormEnvironment; -import org.apache.eagle.app.messaging.MetricSchemaGenerator; -import org.apache.eagle.app.messaging.MetricStreamPersist; -import org.apache.eagle.app.messaging.StormStreamSource; - -import java.util.concurrent.atomic.AtomicInteger; - -/** - * Storm Application Builder DSL. - */ -public class ApplicationBuilder { - private final StormEnvironment environment; - private final Config appConfig; - private final TopologyBuilder topologyBuilder; - private final AtomicInteger identifier; - - public ApplicationBuilder(Config appConfig, StormEnvironment environment) { - this.appConfig = appConfig; - this.environment = environment; - this.identifier = new AtomicInteger(0); - this.topologyBuilder = new TopologyBuilder(); - } - - public class BuilderContext { - public StormTopology toTopology() { - return topologyBuilder.createTopology(); - } - - public SourcedStream fromStream(String streamId) { - return ApplicationBuilder.this.fromStream(streamId); - } - } - - public abstract class InitializedStream extends BuilderContext { - private String id; - - InitializedStream(String id) { - Preconditions.checkNotNull(id); - this.id = id; - } - - String getId() { - return this.id; - } - - /** - * Persist source data stream as metric. - */ - public BuilderContext saveAsMetric(MetricDescriptor metricDescriptor) { - String metricDataID = generateId("MetricDataSink"); - String metricSchemaID = generateId("MetricSchemaGenerator"); - topologyBuilder.setBolt(metricDataID, new MetricStreamPersist(metricDescriptor, appConfig)).shuffleGrouping(getId()); - topologyBuilder.setBolt(metricSchemaID, new MetricSchemaGenerator(metricDescriptor,appConfig)).fieldsGrouping(metricDataID,new Fields(MetricStreamPersist.METRIC_NAME_FIELD)); - return this; - } - - public TransformedStream transformBy(TransformFunction function) { - String componentId = generateId(function.getName()); - topologyBuilder.setBolt(componentId, new TransformFunctionBolt(function)).shuffleGrouping(getId()); - return new TransformedStream(componentId); - } - } - - public class SourcedStream extends InitializedStream { - private final Config appConfig; - private final StormStreamSource streamSource; - - private SourcedStream(SourcedStream withSourcedStream) { - this(withSourcedStream.getId(), withSourcedStream.appConfig, withSourcedStream.streamSource); - } - - private SourcedStream(String componentId, Config appConfig, StormStreamSource streamSource) { - super(componentId); - this.appConfig = appConfig; - this.streamSource = streamSource; - topologyBuilder.setSpout(componentId, streamSource); - } - } - - public class TransformedStream extends InitializedStream { - public TransformedStream(String id) { - super(id); - } - } - - public TopologyBuilder getTopologyBuilder() { - return this.topologyBuilder; - } - - public StormTopology createTopology() { - return topologyBuilder.createTopology(); - } - - - public SourcedStream fromStream(String streamId) { - return new SourcedStream(generateId("SourcedStream-" + streamId), this.appConfig, environment.getStreamSource(streamId, this.appConfig)); - } - - public SourcedStream fromStream(SourcedStream sourcedStream) { - return new SourcedStream(sourcedStream); - } - - private String generateId(String prefix) { - return String.format("%s_%s", prefix, this.identifier.getAndIncrement()); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/CEPFunction.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/CEPFunction.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/CEPFunction.java deleted file mode 100644 index 1c85b58..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/CEPFunction.java +++ /dev/null @@ -1,149 +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 - * <p> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p> - * 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.app.environment.builder; - -import org.apache.eagle.alert.engine.coordinator.StreamColumn; -import org.apache.eagle.alert.engine.coordinator.StreamDefinition; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.wso2.siddhi.core.ExecutionPlanRuntime; -import org.wso2.siddhi.core.SiddhiManager; -import org.wso2.siddhi.core.event.Event; -import org.wso2.siddhi.core.stream.input.InputHandler; -import org.wso2.siddhi.core.stream.output.StreamCallback; - -import java.util.HashMap; -import java.util.Map; - -import static org.apache.eagle.alert.engine.evaluator.impl.SiddhiDefinitionAdapter.convertFromSiddiDefinition; - -public class CEPFunction implements TransformFunction { - - private static final Logger LOG = LoggerFactory.getLogger(CEPFunction.class); - - private ExecutionPlanRuntime runtime; - private SiddhiManager siddhiManager; - private final CEPDefinition cepDefinition; - private Collector collector; - - public CEPFunction(CEPDefinition cepDefinition) { - this.cepDefinition = cepDefinition; - } - - public CEPFunction(String siddhiQuery, String inputStreamId, String outputStreamId) { - this.cepDefinition = new CEPDefinition(siddhiQuery,inputStreamId, outputStreamId); - } - - @Override - public String getName() { - return "CEPFunction"; - } - - @Override - public void open(Collector collector) { - this.collector = collector; - this.siddhiManager = new SiddhiManager(); - this.runtime = siddhiManager.createExecutionPlanRuntime(cepDefinition.getSiddhiQuery()); - if (runtime.getStreamDefinitionMap().containsKey(cepDefinition.outputStreamId)) { - runtime.addCallback(cepDefinition.outputStreamId, new StreamCallback() { - @Override - public void receive(Event[] events) { - for (Event e : events) { - StreamDefinition schema = convertFromSiddiDefinition(runtime.getStreamDefinitionMap().get(cepDefinition.outputStreamId)); - Map<String, Object> event = new HashMap<>(); - for (StreamColumn column : schema.getColumns()) { - Object obj = e.getData()[schema.getColumnIndex(column.getName())]; - if (obj == null) { - event.put(column.getName(), null); - continue; - } - event.put(column.getName(), obj); - } - collector.collect(event.toString(), event); - } - } - }); - } else { - throw new IllegalStateException("Undefined output stream " + cepDefinition.outputStreamId); - } - runtime.start(); - } - - @Override - public void transform(Map event) { - String streamId = cepDefinition.getInputStreamId(); - InputHandler inputHandler = runtime.getInputHandler(streamId); - - if (inputHandler != null) { - try { - inputHandler.send(event.values().toArray()); - } catch (InterruptedException e) { - LOG.error(e.getMessage(), e); - } - if (LOG.isDebugEnabled()) { - LOG.debug("sent event to siddhi stream {} ", streamId); - } - } else { - LOG.warn("No input handler found for stream {}", streamId); - } - } - - @Override - public void close() { - LOG.info("Closing handler for query {}", this.cepDefinition.getSiddhiQuery()); - this.runtime.shutdown(); - LOG.info("Shutdown siddhi runtime {}", this.runtime.getName()); - this.siddhiManager.shutdown(); - LOG.info("Shutdown siddhi manager {}", this.siddhiManager); - } - - public static class CEPDefinition { - private String inputStreamId; - private String outputStreamId; - private String siddhiQuery; - - public CEPDefinition(String siddhiQuery, String inputStreamId, String outputStreamId) { - this.siddhiQuery = siddhiQuery; - this.inputStreamId = inputStreamId; - this.outputStreamId = outputStreamId; - } - - public String getSiddhiQuery() { - return siddhiQuery; - } - - public void setSiddhiQuery(String siddhiQuery) { - this.siddhiQuery = siddhiQuery; - } - - public String getOutputStreamId() { - return outputStreamId; - } - - public void setOutputStreamId(String outputStreamId) { - this.outputStreamId = outputStreamId; - } - - public String getInputStreamId() { - return inputStreamId; - } - - public void setInputStreamId(String inputStreamId) { - this.inputStreamId = inputStreamId; - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/Collector.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/Collector.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/Collector.java deleted file mode 100644 index f86d101..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/Collector.java +++ /dev/null @@ -1,23 +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 - * <p> - * http://www.apache.org/licenses/LICENSE-2.0 - * <p> - * 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.app.environment.builder; - -import java.util.Map; - -public interface Collector { - void collect(Object key, Map event); -} http://git-wip-us.apache.org/repos/asf/eagle/blob/6fd95d5c/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/CountMetricFilter.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/CountMetricFilter.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/CountMetricFilter.java deleted file mode 100644 index bed047b..0000000 --- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/builder/CountMetricFilter.java +++ /dev/null @@ -1,26 +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. - */ - -package org.apache.eagle.app.environment.builder; - -import java.io.Serializable; -import java.util.function.Function; - -@FunctionalInterface -interface CountMetricFilter extends Function<String, Boolean>, Serializable { -} \ No newline at end of file
