Repository: apex-core Updated Branches: refs/heads/master e4022674e -> 25e4c4c51
APEXCORE-702 Mark plugin interfaces as Evolving, and add them to plugin subpackage. Project: http://git-wip-us.apache.org/repos/asf/apex-core/repo Commit: http://git-wip-us.apache.org/repos/asf/apex-core/commit/25e4c4c5 Tree: http://git-wip-us.apache.org/repos/asf/apex-core/tree/25e4c4c5 Diff: http://git-wip-us.apache.org/repos/asf/apex-core/diff/25e4c4c5 Branch: refs/heads/master Commit: 25e4c4c51b599e63d746ca207d7557c616162381 Parents: e402267 Author: Tushar R. Gosavi <[email protected]> Authored: Fri Apr 14 22:50:52 2017 +0530 Committer: Tushar R. Gosavi <[email protected]> Committed: Fri Apr 21 09:12:05 2017 +0530 ---------------------------------------------------------------------- .../java/org/apache/apex/api/ApexPlugin.java | 29 ---- .../org/apache/apex/api/ApexPluginContext.java | 29 ---- .../org/apache/apex/api/DAGSetupPlugin.java | 135 ------------------- .../apache/apex/api/plugin/DAGSetupPlugin.java | 134 ++++++++++++++++++ .../java/org/apache/apex/api/plugin/Plugin.java | 32 +++++ .../apache/apex/api/plugin/PluginContext.java | 32 +++++ .../common/util/BaseDAGSetupPlugin.java | 76 ----------- .../apex/common/util/BaseDAGSetupPlugin.java | 78 +++++++++++ .../stram/StreamingAppMasterService.java | 4 +- .../stram/StreamingContainerManager.java | 6 +- .../plan/logical/DAGSetupPluginManager.java | 2 +- .../plan/logical/LogicalPlanConfiguration.java | 2 +- .../apex/engine/api/DAGExecutionPlugin.java | 44 ------ .../engine/api/DAGExecutionPluginContext.java | 89 ------------ .../apache/apex/engine/api/PluginLocator.java | 39 ------ .../engine/api/plugin/DAGExecutionPlugin.java | 43 ++++++ .../api/plugin/DAGExecutionPluginContext.java | 92 +++++++++++++ .../apex/engine/api/plugin/PluginLocator.java | 39 ++++++ .../AbstractDAGExecutionPluginContext.java | 9 +- .../engine/plugin/ApexPluginDispatcher.java | 2 +- .../apex/engine/plugin/ApexPluginManager.java | 8 +- .../plugin/DefaultApexPluginDispatcher.java | 6 +- .../engine/plugin/NoOpApexPluginDispatcher.java | 2 +- .../plugin/loaders/ChainedPluginLocator.java | 2 +- .../loaders/PropertyBasedPluginLocator.java | 2 +- .../ServiceLoaderBasedPluginLocator.java | 2 +- .../plugin/loaders/StaticPluginLocator.java | 2 +- .../plan/logical/PropertyInjectorVisitor.java | 2 +- .../apache/apex/engine/plugin/DebugPlugin.java | 12 +- .../apache/apex/engine/plugin/NoOpPlugin.java | 4 +- .../apache/apex/engine/plugin/PluginTests.java | 8 +- ...rg.apache.apex.engine.api.DAGExecutionPlugin | 19 --- ...he.apex.engine.api.plugin.DAGExecutionPlugin | 19 +++ 33 files changed, 510 insertions(+), 494 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/api/src/main/java/org/apache/apex/api/ApexPlugin.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/apex/api/ApexPlugin.java b/api/src/main/java/org/apache/apex/api/ApexPlugin.java deleted file mode 100644 index b9a8b78..0000000 --- a/api/src/main/java/org/apache/apex/api/ApexPlugin.java +++ /dev/null @@ -1,29 +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.apex.api; - -import com.datatorrent.api.Component; - -/** - * Marker interface for ApexPlugins. - * @param <T> - */ -public interface ApexPlugin<T extends ApexPluginContext> extends Component<T> -{ -} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/api/src/main/java/org/apache/apex/api/ApexPluginContext.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/apex/api/ApexPluginContext.java b/api/src/main/java/org/apache/apex/api/ApexPluginContext.java deleted file mode 100644 index 1b72f63..0000000 --- a/api/src/main/java/org/apache/apex/api/ApexPluginContext.java +++ /dev/null @@ -1,29 +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.apex.api; - -import com.datatorrent.api.Context; - -/** - * Marker interface for Context used by ApexPlugins. Plugin interfaces with - * the Apex through the context. - */ -public interface ApexPluginContext extends Context -{ -} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/api/src/main/java/org/apache/apex/api/DAGSetupPlugin.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/apex/api/DAGSetupPlugin.java b/api/src/main/java/org/apache/apex/api/DAGSetupPlugin.java deleted file mode 100644 index 3fc46bc..0000000 --- a/api/src/main/java/org/apache/apex/api/DAGSetupPlugin.java +++ /dev/null @@ -1,135 +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.apex.api; - -import java.io.Serializable; -import java.util.Collection; - -import org.apache.hadoop.classification.InterfaceStability; -import org.apache.hadoop.conf.Configuration; - -import com.datatorrent.api.Attribute; -import com.datatorrent.api.DAG; - -/** - * DAGSetupPlugin allows user provided code to run at various stages - * during DAG preparation. Currently following stages are supported - * - * <ul> - * <li>Before dag is populated</li> - * <li>After dag is populated</li> - * <li>Before dag is configured</li> - * <li>After dag is configured</li> - * <li>Before dag is validated</li> - * <li>After dag is validated</li> - * </ul> - */ [email protected] -public interface DAGSetupPlugin extends ApexPlugin<DAGSetupPlugin.DAGSetupPluginContext>, Serializable -{ - - /** - * This method is called before platform adds operators and streams in the DAG. i.e this method - * will get called just before {@link com.datatorrent.api.StreamingApplication#populateDAG(DAG, Configuration)} - * - * For Application specified using property and json file format, this method will get called - * before platform adds operators and streams in the DAG as per specification in the file. - */ - void prePopulateDAG(); - - /** - * This method is called after platform adds operators and streams in the DAG. i.e this method - * will get called just after {@link com.datatorrent.api.StreamingApplication#populateDAG(DAG, Configuration)} - * in case application is specified in java. - * - * For Application specified using property and json file format, this method will get called - * after platform has added operators and streams in the DAG as per specification in the file. - */ - void postPopulateDAG(); - - /** - * This is method is called before DAG is configured, i.e operator and application - * properties/attributes are injected from configuration files. - */ - void preConfigureDAG(); - - /** - * This is method is called after DAG is configured, i.e operator and application - * properties/attributes are injected from configuration files. - */ - void postConfigureDAG(); - - /** - * This method is called just before dag is validated before final job submission. - */ - void preValidateDAG(); - - /** - * This method is called after dag is validated. If plugin makes in incompatible changes - * to the DAG at this stage, then application may get launched incorrectly or application - * launch may fail. - */ - void postValidateDAG(); - - class DAGSetupPluginContext implements ApexPluginContext - { - private final DAG dag; - private final Configuration conf; - - public DAGSetupPluginContext(DAG dag, Configuration conf) - { - this.dag = dag; - this.conf = conf; - } - - public DAG getDAG() - { - return dag; - } - - public Configuration getConfiguration() - { - return conf; - } - - @Override - public Attribute.AttributeMap getAttributes() - { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public <T> T getValue(Attribute<T> key) - { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void setCounters(Object counters) - { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void sendMetrics(Collection<String> metricNames) - { - throw new UnsupportedOperationException("Not supported yet."); - } - } -} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/api/src/main/java/org/apache/apex/api/plugin/DAGSetupPlugin.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/apex/api/plugin/DAGSetupPlugin.java b/api/src/main/java/org/apache/apex/api/plugin/DAGSetupPlugin.java new file mode 100644 index 0000000..faa6798 --- /dev/null +++ b/api/src/main/java/org/apache/apex/api/plugin/DAGSetupPlugin.java @@ -0,0 +1,134 @@ +/** + * 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.apex.api.plugin; + +import java.util.Collection; + +import org.apache.hadoop.classification.InterfaceStability; +import org.apache.hadoop.conf.Configuration; + +import com.datatorrent.api.Attribute; +import com.datatorrent.api.DAG; + +/** + * DAGSetupPlugin allows user provided code to run at various stages + * during DAG preparation. Currently following stages are supported + * + * <ul> + * <li>Before dag is populated</li> + * <li>After dag is populated</li> + * <li>Before dag is configured</li> + * <li>After dag is configured</li> + * <li>Before dag is validated</li> + * <li>After dag is validated</li> + * </ul> + */ [email protected] +public interface DAGSetupPlugin extends Plugin<DAGSetupPlugin.DAGSetupPluginContext> +{ + + /** + * This method is called before platform adds operators and streams in the DAG. i.e this method + * will get called just before {@link com.datatorrent.api.StreamingApplication#populateDAG(DAG, Configuration)} + * + * For Application specified using property and json file format, this method will get called + * before platform adds operators and streams in the DAG as per specification in the file. + */ + void prePopulateDAG(); + + /** + * This method is called after platform adds operators and streams in the DAG. i.e this method + * will get called just after {@link com.datatorrent.api.StreamingApplication#populateDAG(DAG, Configuration)} + * in case application is specified in java. + * + * For Application specified using property and json file format, this method will get called + * after platform has added operators and streams in the DAG as per specification in the file. + */ + void postPopulateDAG(); + + /** + * This is method is called before DAG is configured, i.e operator and application + * properties/attributes are injected from configuration files. + */ + void preConfigureDAG(); + + /** + * This is method is called after DAG is configured, i.e operator and application + * properties/attributes are injected from configuration files. + */ + void postConfigureDAG(); + + /** + * This method is called just before dag is validated before final job submission. + */ + void preValidateDAG(); + + /** + * This method is called after dag is validated. If plugin makes in incompatible changes + * to the DAG at this stage, then application may get launched incorrectly or application + * launch may fail. + */ + void postValidateDAG(); + + class DAGSetupPluginContext implements PluginContext + { + private final DAG dag; + private final Configuration conf; + + public DAGSetupPluginContext(DAG dag, Configuration conf) + { + this.dag = dag; + this.conf = conf; + } + + public DAG getDAG() + { + return dag; + } + + public Configuration getConfiguration() + { + return conf; + } + + @Override + public Attribute.AttributeMap getAttributes() + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public <T> T getValue(Attribute<T> key) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void setCounters(Object counters) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void sendMetrics(Collection<String> metricNames) + { + throw new UnsupportedOperationException("Not supported yet."); + } + } +} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/api/src/main/java/org/apache/apex/api/plugin/Plugin.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/apex/api/plugin/Plugin.java b/api/src/main/java/org/apache/apex/api/plugin/Plugin.java new file mode 100644 index 0000000..ffe52ea --- /dev/null +++ b/api/src/main/java/org/apache/apex/api/plugin/Plugin.java @@ -0,0 +1,32 @@ +/** + * 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.apex.api.plugin; + +import org.apache.hadoop.classification.InterfaceStability; + +import com.datatorrent.api.Component; + +/** + * Marker interface for ApexPlugins. + * @param <T> + */ [email protected] +public interface Plugin<T extends PluginContext> extends Component<T> +{ +} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/api/src/main/java/org/apache/apex/api/plugin/PluginContext.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/apex/api/plugin/PluginContext.java b/api/src/main/java/org/apache/apex/api/plugin/PluginContext.java new file mode 100644 index 0000000..2bdaf00 --- /dev/null +++ b/api/src/main/java/org/apache/apex/api/plugin/PluginContext.java @@ -0,0 +1,32 @@ +/** + * 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.apex.api.plugin; + +import org.apache.hadoop.classification.InterfaceStability; + +import com.datatorrent.api.Context; + +/** + * Marker interface for Context used by ApexPlugins. Plugin interfaces with + * the Apex through the context. + */ [email protected] +public interface PluginContext extends Context +{ +} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/common/src/main/java/com/datatorrent/common/util/BaseDAGSetupPlugin.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/com/datatorrent/common/util/BaseDAGSetupPlugin.java b/common/src/main/java/com/datatorrent/common/util/BaseDAGSetupPlugin.java deleted file mode 100644 index 7d26b89..0000000 --- a/common/src/main/java/com/datatorrent/common/util/BaseDAGSetupPlugin.java +++ /dev/null @@ -1,76 +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 com.datatorrent.common.util; - -import org.apache.apex.api.DAGSetupPlugin; - -/** - * Base class for DAGSetupPlugin implementations that provides empty implementations - * for all interface methods. - */ -public class BaseDAGSetupPlugin implements DAGSetupPlugin -{ - @Override - public void setup(DAGSetupPluginContext context) - { - - } - - @Override - public void prePopulateDAG() - { - - } - - @Override - public void teardown() - { - - } - - @Override - public void postPopulateDAG() - { - - } - - @Override - public void preConfigureDAG() - { - - } - - @Override - public void postConfigureDAG() - { - - } - - @Override - public void preValidateDAG() - { - - } - - @Override - public void postValidateDAG() - { - - } -} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/common/src/main/java/org/apache/apex/common/util/BaseDAGSetupPlugin.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/apex/common/util/BaseDAGSetupPlugin.java b/common/src/main/java/org/apache/apex/common/util/BaseDAGSetupPlugin.java new file mode 100644 index 0000000..9bc5d8e --- /dev/null +++ b/common/src/main/java/org/apache/apex/common/util/BaseDAGSetupPlugin.java @@ -0,0 +1,78 @@ +/** + * 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.apex.common.util; + +import org.apache.apex.api.plugin.DAGSetupPlugin; +import org.apache.hadoop.classification.InterfaceStability; + +/** + * Base class for DAGSetupPlugin implementations that provides empty implementations + * for all interface methods. + */ [email protected] +public class BaseDAGSetupPlugin implements DAGSetupPlugin +{ + @Override + public void setup(DAGSetupPluginContext context) + { + + } + + @Override + public void prePopulateDAG() + { + + } + + @Override + public void teardown() + { + + } + + @Override + public void postPopulateDAG() + { + + } + + @Override + public void preConfigureDAG() + { + + } + + @Override + public void postConfigureDAG() + { + + } + + @Override + public void preValidateDAG() + { + + } + + @Override + public void postValidateDAG() + { + + } +} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/com/datatorrent/stram/StreamingAppMasterService.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/com/datatorrent/stram/StreamingAppMasterService.java b/engine/src/main/java/com/datatorrent/stram/StreamingAppMasterService.java index b15c98f..4e4f501 100644 --- a/engine/src/main/java/com/datatorrent/stram/StreamingAppMasterService.java +++ b/engine/src/main/java/com/datatorrent/stram/StreamingAppMasterService.java @@ -42,8 +42,8 @@ import javax.xml.bind.annotation.XmlElement; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.apex.engine.api.DAGExecutionPlugin; -import org.apache.apex.engine.api.PluginLocator; +import org.apache.apex.engine.api.plugin.DAGExecutionPlugin; +import org.apache.apex.engine.api.plugin.PluginLocator; import org.apache.apex.engine.plugin.ApexPluginDispatcher; import org.apache.apex.engine.plugin.DefaultApexPluginDispatcher; import org.apache.apex.engine.plugin.loaders.ChainedPluginLocator; http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/com/datatorrent/stram/StreamingContainerManager.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/com/datatorrent/stram/StreamingContainerManager.java b/engine/src/main/java/com/datatorrent/stram/StreamingContainerManager.java index 18d6787..92fce54 100644 --- a/engine/src/main/java/com/datatorrent/stram/StreamingContainerManager.java +++ b/engine/src/main/java/com/datatorrent/stram/StreamingContainerManager.java @@ -178,9 +178,9 @@ import com.datatorrent.stram.webapp.StreamInfo; import net.engio.mbassy.bus.MBassador; import net.engio.mbassy.bus.config.BusConfiguration; -import static org.apache.apex.engine.api.DAGExecutionPluginContext.COMMIT_EVENT; -import static org.apache.apex.engine.api.DAGExecutionPluginContext.HEARTBEAT; -import static org.apache.apex.engine.api.DAGExecutionPluginContext.STRAM_EVENT; +import static org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.COMMIT_EVENT; +import static org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.HEARTBEAT; +import static org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.STRAM_EVENT; /** * Tracks topology provisioning/allocation to containers<p> http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/com/datatorrent/stram/plan/logical/DAGSetupPluginManager.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/com/datatorrent/stram/plan/logical/DAGSetupPluginManager.java b/engine/src/main/java/com/datatorrent/stram/plan/logical/DAGSetupPluginManager.java index 2f1a904..c7c2767 100644 --- a/engine/src/main/java/com/datatorrent/stram/plan/logical/DAGSetupPluginManager.java +++ b/engine/src/main/java/com/datatorrent/stram/plan/logical/DAGSetupPluginManager.java @@ -23,7 +23,7 @@ import java.util.List; import org.slf4j.Logger; -import org.apache.apex.api.DAGSetupPlugin; +import org.apache.apex.api.plugin.DAGSetupPlugin; import org.apache.apex.engine.plugin.loaders.PropertyBasedPluginLocator; import org.apache.hadoop.conf.Configuration; http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlanConfiguration.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlanConfiguration.java b/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlanConfiguration.java index 5a9030e..a7fad2a 100644 --- a/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlanConfiguration.java +++ b/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlanConfiguration.java @@ -48,7 +48,7 @@ import org.codehaus.jettison.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.apex.api.DAGSetupPlugin.DAGSetupPluginContext; +import org.apache.apex.api.plugin.DAGSetupPlugin.DAGSetupPluginContext; import org.apache.commons.beanutils.BeanMap; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.collections.CollectionUtils; http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/api/DAGExecutionPlugin.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/api/DAGExecutionPlugin.java b/engine/src/main/java/org/apache/apex/engine/api/DAGExecutionPlugin.java deleted file mode 100644 index 5a3b5b9..0000000 --- a/engine/src/main/java/org/apache/apex/engine/api/DAGExecutionPlugin.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 - * - * 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.apex.engine.api; - -import org.apache.hadoop.classification.InterfaceStability; - -import com.datatorrent.api.Component; - -/** - * An Apex plugin is a user code which runs inside Stram. The interaction - * between plugin and Stram is managed by DAGExecutionPluginContext. Plugin can register to handle event in interest - * with callback handler using ${@link DAGExecutionPluginContext#register(DAGExecutionPluginContext.RegistrationType, DAGExecutionPluginContext.Handler)} - * - * Following events are supported - * <ul> - * <li>{@see DAGExecutionPluginContext.HEARTBEAT} The heartbeat from a container is delivered to the plugin after it has been handled by stram</li> - * <li>{@see DAGExecutionPluginContext.STRAM_EVENT} All the Stram event generated in Stram will be delivered to the plugin</li> - * <li>{@see DAGExecutionPluginContext.COMMIT_EVENT} When committedWindowId changes in the platform an event will be delivered to the plugin</li> - * </ul> - * - * A plugin should register a single handler for an event, In case multiple handlers are registered for an event, - * then the last registered handler will be used. Plugin should cleanup additional resources created by it during shutdown - * such as helper threads and open files. - */ [email protected] -public interface DAGExecutionPlugin extends Component<DAGExecutionPluginContext> -{ -} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/api/DAGExecutionPluginContext.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/api/DAGExecutionPluginContext.java b/engine/src/main/java/org/apache/apex/engine/api/DAGExecutionPluginContext.java deleted file mode 100644 index d466b23..0000000 --- a/engine/src/main/java/org/apache/apex/engine/api/DAGExecutionPluginContext.java +++ /dev/null @@ -1,89 +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.apex.engine.api; - -import java.util.List; -import java.util.Map; -import java.util.Queue; - -import org.apache.hadoop.classification.InterfaceStability; -import org.apache.hadoop.conf.Configuration; - -import com.datatorrent.api.Context; -import com.datatorrent.api.DAG; -import com.datatorrent.api.StatsListener.BatchedOperatorStats; -import com.datatorrent.common.util.Pair; -import com.datatorrent.stram.StramAppContext; -import com.datatorrent.stram.api.StramEvent; -import com.datatorrent.stram.api.StreamingContainerUmbilicalProtocol; -import com.datatorrent.stram.webapp.AppInfo; -import com.datatorrent.stram.webapp.LogicalOperatorInfo; - -/** - * An Apex plugin is a user code which runs inside Stram. The interaction - * between plugin and Stram is managed by DAGExecutionPluginContext. Plugin can register to handle event in interest - * with callback handler using ${@link DAGExecutionPluginContext#register(DAGExecutionPluginContext.RegistrationType, DAGExecutionPluginContext.Handler)} - * - * Following events are supported - * <ul> - * <li>{@see DAGExecutionPluginContext.HEARTBEAT} The heartbeat from a container is delivered to the plugin after it has been handled by stram</li> - * <li>{@see DAGExecutionPluginContext.STRAM_EVENT} All the Stram event generated in Stram will be delivered to the plugin</li> - * <li>{@see DAGExecutionPluginContext.COMMIT_EVENT} When committedWindowId changes in the platform an event will be delivered to the plugin</li> - * </ul> - * - * A plugin should register a single handler for an event, In case multiple handlers are registered for an event, - * then the last registered handler will be used. Plugin should cleanup additional resources created by it during shutdown - * such as helper threads and open files. - */ [email protected] -public interface DAGExecutionPluginContext extends Context -{ - class RegistrationType<T> - { - } - - RegistrationType<StreamingContainerUmbilicalProtocol.ContainerHeartbeat> HEARTBEAT = new RegistrationType<>(); - RegistrationType<StramEvent> STRAM_EVENT = new RegistrationType<>(); - RegistrationType<Long> COMMIT_EVENT = new RegistrationType<>(); - - <T> void register(RegistrationType<T> type, Handler<T> handler); - - interface Handler<T> - { - void handle(T data); - } - - StramAppContext getApplicationContext(); - - AppInfo.AppStats getApplicationStats(); - - Configuration getLaunchConfig(); - - DAG getDAG(); - - String getOperatorName(int id); - - BatchedOperatorStats getPhysicalOperatorStats(int id); - - List<LogicalOperatorInfo> getLogicalOperatorInfoList(); - - Queue<Pair<Long, Map<String, Object>>> getWindowMetrics(String operatorName); - - long windowIdToMillis(long windowId); -} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/api/PluginLocator.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/api/PluginLocator.java b/engine/src/main/java/org/apache/apex/engine/api/PluginLocator.java deleted file mode 100644 index e0f70be..0000000 --- a/engine/src/main/java/org/apache/apex/engine/api/PluginLocator.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 - * - * 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.apex.engine.api; - -import java.util.Collection; - -import org.apache.hadoop.classification.InterfaceStability; -import org.apache.hadoop.conf.Configuration; - -/** - * Interface to discover plugins during Apex Master initialization. This should return collection of - * objects implementing an interface of type T. - */ [email protected] -public interface PluginLocator<T> -{ - /** - * Discover list of apex plugins. - * - * @return list of apex plugins. - */ - Collection<T> discoverPlugins(Configuration conf); -} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/api/plugin/DAGExecutionPlugin.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/api/plugin/DAGExecutionPlugin.java b/engine/src/main/java/org/apache/apex/engine/api/plugin/DAGExecutionPlugin.java new file mode 100644 index 0000000..060b240 --- /dev/null +++ b/engine/src/main/java/org/apache/apex/engine/api/plugin/DAGExecutionPlugin.java @@ -0,0 +1,43 @@ +/** + * 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.apex.engine.api.plugin; + +import org.apache.apex.api.plugin.Plugin; +import org.apache.hadoop.classification.InterfaceStability; + +/** + * An Apex plugin is a user code which runs inside Stram. The interaction + * between plugin and Stram is managed by DAGExecutionPluginContext. Plugin can register to handle event in interest + * with callback handler using ${@link DAGExecutionPluginContext#register(DAGExecutionPluginContext.RegistrationType, DAGExecutionPluginContext.Handler)} + * + * Following events are supported + * <ul> + * <li>{@see DAGExecutionPluginContext.HEARTBEAT} The heartbeat from a container is delivered to the plugin after it has been handled by stram</li> + * <li>{@see DAGExecutionPluginContext.STRAM_EVENT} All the Stram event generated in Stram will be delivered to the plugin</li> + * <li>{@see DAGExecutionPluginContext.COMMIT_EVENT} When committedWindowId changes in the platform an event will be delivered to the plugin</li> + * </ul> + * + * A plugin should register a single handler for an event, In case multiple handlers are registered for an event, + * then the last registered handler will be used. Plugin should cleanup additional resources created by it during shutdown + * such as helper threads and open files. + */ [email protected] +public interface DAGExecutionPlugin extends Plugin<DAGExecutionPluginContext> +{ +} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/api/plugin/DAGExecutionPluginContext.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/api/plugin/DAGExecutionPluginContext.java b/engine/src/main/java/org/apache/apex/engine/api/plugin/DAGExecutionPluginContext.java new file mode 100644 index 0000000..73da7e6 --- /dev/null +++ b/engine/src/main/java/org/apache/apex/engine/api/plugin/DAGExecutionPluginContext.java @@ -0,0 +1,92 @@ +/** + * 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.apex.engine.api.plugin; + +import java.util.List; +import java.util.Map; +import java.util.Queue; + +import org.apache.apex.api.plugin.PluginContext; +import org.apache.hadoop.classification.InterfaceStability; +import org.apache.hadoop.conf.Configuration; + +import com.datatorrent.api.DAG; +import com.datatorrent.api.StatsListener.BatchedOperatorStats; +import com.datatorrent.common.util.Pair; +import com.datatorrent.stram.StramAppContext; +import com.datatorrent.stram.api.StramEvent; +import com.datatorrent.stram.api.StreamingContainerUmbilicalProtocol; +import com.datatorrent.stram.util.VersionInfo; +import com.datatorrent.stram.webapp.AppInfo; +import com.datatorrent.stram.webapp.LogicalOperatorInfo; + +/** + * An Apex plugin is a user code which runs inside Stram. The interaction + * between plugin and Stram is managed by DAGExecutionPluginContext. Plugin can register to handle event in interest + * with callback handler using ${@link DAGExecutionPluginContext#register(DAGExecutionPluginContext.RegistrationType, DAGExecutionPluginContext.Handler)} + * + * Following events are supported + * <ul> + * <li>{@see DAGExecutionPluginContext.HEARTBEAT} The heartbeat from a container is delivered to the plugin after it has been handled by stram</li> + * <li>{@see DAGExecutionPluginContext.STRAM_EVENT} All the Stram event generated in Stram will be delivered to the plugin</li> + * <li>{@see DAGExecutionPluginContext.COMMIT_EVENT} When committedWindowId changes in the platform an event will be delivered to the plugin</li> + * </ul> + * + * A plugin should register a single handler for an event, In case multiple handlers are registered for an event, + * then the last registered handler will be used. Plugin should cleanup additional resources created by it during shutdown + * such as helper threads and open files. + */ [email protected] +public interface DAGExecutionPluginContext extends PluginContext +{ + class RegistrationType<T> + { + } + + RegistrationType<StreamingContainerUmbilicalProtocol.ContainerHeartbeat> HEARTBEAT = new RegistrationType<>(); + RegistrationType<StramEvent> STRAM_EVENT = new RegistrationType<>(); + RegistrationType<Long> COMMIT_EVENT = new RegistrationType<>(); + + <T> void register(RegistrationType<T> type, Handler<T> handler); + + interface Handler<T> + { + void handle(T data); + } + + VersionInfo getEngineVersion(); + + StramAppContext getApplicationContext(); + + AppInfo.AppStats getApplicationStats(); + + Configuration getLaunchConfig(); + + DAG getDAG(); + + String getOperatorName(int id); + + BatchedOperatorStats getPhysicalOperatorStats(int id); + + List<LogicalOperatorInfo> getLogicalOperatorInfoList(); + + Queue<Pair<Long, Map<String, Object>>> getWindowMetrics(String operatorName); + + long windowIdToMillis(long windowId); +} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/api/plugin/PluginLocator.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/api/plugin/PluginLocator.java b/engine/src/main/java/org/apache/apex/engine/api/plugin/PluginLocator.java new file mode 100644 index 0000000..b93d64c --- /dev/null +++ b/engine/src/main/java/org/apache/apex/engine/api/plugin/PluginLocator.java @@ -0,0 +1,39 @@ +/** + * 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.apex.engine.api.plugin; + +import java.util.Collection; + +import org.apache.hadoop.classification.InterfaceStability; +import org.apache.hadoop.conf.Configuration; + +/** + * Interface to discover plugins during Apex Master initialization. This should return collection of + * objects implementing an interface of type T. + */ [email protected] +public interface PluginLocator<T> +{ + /** + * Discover list of apex plugins. + * + * @return list of apex plugins. + */ + Collection<T> discoverPlugins(Configuration conf); +} http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/plugin/AbstractDAGExecutionPluginContext.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/plugin/AbstractDAGExecutionPluginContext.java b/engine/src/main/java/org/apache/apex/engine/plugin/AbstractDAGExecutionPluginContext.java index a92b57b..19ef91a 100644 --- a/engine/src/main/java/org/apache/apex/engine/plugin/AbstractDAGExecutionPluginContext.java +++ b/engine/src/main/java/org/apache/apex/engine/plugin/AbstractDAGExecutionPluginContext.java @@ -23,7 +23,7 @@ import java.util.List; import java.util.Map; import java.util.Queue; -import org.apache.apex.engine.api.DAGExecutionPluginContext; +import org.apache.apex.engine.api.plugin.DAGExecutionPluginContext; import org.apache.hadoop.conf.Configuration; import com.datatorrent.api.Attribute; @@ -33,6 +33,7 @@ import com.datatorrent.common.util.Pair; import com.datatorrent.stram.StramAppContext; import com.datatorrent.stram.StreamingContainerManager; import com.datatorrent.stram.plan.physical.PTOperator; +import com.datatorrent.stram.util.VersionInfo; import com.datatorrent.stram.webapp.AppInfo; import com.datatorrent.stram.webapp.LogicalOperatorInfo; @@ -80,6 +81,12 @@ public abstract class AbstractDAGExecutionPluginContext implements DAGExecutionP } @Override + public VersionInfo getEngineVersion() + { + return VersionInfo.APEX_VERSION; + } + + @Override public Configuration getLaunchConfig() { return launchConf; http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/plugin/ApexPluginDispatcher.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/plugin/ApexPluginDispatcher.java b/engine/src/main/java/org/apache/apex/engine/plugin/ApexPluginDispatcher.java index 62dd255..c6ef54d 100644 --- a/engine/src/main/java/org/apache/apex/engine/plugin/ApexPluginDispatcher.java +++ b/engine/src/main/java/org/apache/apex/engine/plugin/ApexPluginDispatcher.java @@ -18,7 +18,7 @@ */ package org.apache.apex.engine.plugin; -import org.apache.apex.engine.api.DAGExecutionPluginContext.RegistrationType; +import org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.RegistrationType; import org.apache.hadoop.service.Service; public interface ApexPluginDispatcher extends Service http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/plugin/ApexPluginManager.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/plugin/ApexPluginManager.java b/engine/src/main/java/org/apache/apex/engine/plugin/ApexPluginManager.java index 190cb6b..9f070a1 100644 --- a/engine/src/main/java/org/apache/apex/engine/plugin/ApexPluginManager.java +++ b/engine/src/main/java/org/apache/apex/engine/plugin/ApexPluginManager.java @@ -28,10 +28,10 @@ import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.apex.engine.api.DAGExecutionPlugin; -import org.apache.apex.engine.api.DAGExecutionPluginContext.Handler; -import org.apache.apex.engine.api.DAGExecutionPluginContext.RegistrationType; -import org.apache.apex.engine.api.PluginLocator; +import org.apache.apex.engine.api.plugin.DAGExecutionPlugin; +import org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.Handler; +import org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.RegistrationType; +import org.apache.apex.engine.api.plugin.PluginLocator; import org.apache.commons.digester.plugins.PluginContext; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/plugin/DefaultApexPluginDispatcher.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/plugin/DefaultApexPluginDispatcher.java b/engine/src/main/java/org/apache/apex/engine/plugin/DefaultApexPluginDispatcher.java index 0c30943..0eee85e 100644 --- a/engine/src/main/java/org/apache/apex/engine/plugin/DefaultApexPluginDispatcher.java +++ b/engine/src/main/java/org/apache/apex/engine/plugin/DefaultApexPluginDispatcher.java @@ -28,9 +28,9 @@ import java.util.concurrent.TimeUnit; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.apex.engine.api.DAGExecutionPluginContext.Handler; -import org.apache.apex.engine.api.DAGExecutionPluginContext.RegistrationType; -import org.apache.apex.engine.api.PluginLocator; +import org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.Handler; +import org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.RegistrationType; +import org.apache.apex.engine.api.plugin.PluginLocator; import org.apache.hadoop.conf.Configuration; import com.datatorrent.common.util.NameableThreadFactory; http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/plugin/NoOpApexPluginDispatcher.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/plugin/NoOpApexPluginDispatcher.java b/engine/src/main/java/org/apache/apex/engine/plugin/NoOpApexPluginDispatcher.java index 11eb5d1..f3f3382 100644 --- a/engine/src/main/java/org/apache/apex/engine/plugin/NoOpApexPluginDispatcher.java +++ b/engine/src/main/java/org/apache/apex/engine/plugin/NoOpApexPluginDispatcher.java @@ -18,7 +18,7 @@ */ package org.apache.apex.engine.plugin; -import org.apache.apex.engine.api.DAGExecutionPluginContext.RegistrationType; +import org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.RegistrationType; import org.apache.hadoop.service.AbstractService; public class NoOpApexPluginDispatcher extends AbstractService implements ApexPluginDispatcher http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/plugin/loaders/ChainedPluginLocator.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/plugin/loaders/ChainedPluginLocator.java b/engine/src/main/java/org/apache/apex/engine/plugin/loaders/ChainedPluginLocator.java index 42d4dc4..df3b50a 100644 --- a/engine/src/main/java/org/apache/apex/engine/plugin/loaders/ChainedPluginLocator.java +++ b/engine/src/main/java/org/apache/apex/engine/plugin/loaders/ChainedPluginLocator.java @@ -25,7 +25,7 @@ import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.apex.engine.api.PluginLocator; +import org.apache.apex.engine.api.plugin.PluginLocator; import org.apache.hadoop.conf.Configuration; public class ChainedPluginLocator<T> implements PluginLocator<T> http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/plugin/loaders/PropertyBasedPluginLocator.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/plugin/loaders/PropertyBasedPluginLocator.java b/engine/src/main/java/org/apache/apex/engine/plugin/loaders/PropertyBasedPluginLocator.java index b9fc2a5..b131109 100644 --- a/engine/src/main/java/org/apache/apex/engine/plugin/loaders/PropertyBasedPluginLocator.java +++ b/engine/src/main/java/org/apache/apex/engine/plugin/loaders/PropertyBasedPluginLocator.java @@ -25,7 +25,7 @@ import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.apex.engine.api.PluginLocator; +import org.apache.apex.engine.api.plugin.PluginLocator; import org.apache.hadoop.conf.Configuration; import com.datatorrent.stram.StramUtils; http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/plugin/loaders/ServiceLoaderBasedPluginLocator.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/plugin/loaders/ServiceLoaderBasedPluginLocator.java b/engine/src/main/java/org/apache/apex/engine/plugin/loaders/ServiceLoaderBasedPluginLocator.java index 3295329..be7dfc4 100644 --- a/engine/src/main/java/org/apache/apex/engine/plugin/loaders/ServiceLoaderBasedPluginLocator.java +++ b/engine/src/main/java/org/apache/apex/engine/plugin/loaders/ServiceLoaderBasedPluginLocator.java @@ -23,7 +23,7 @@ import java.util.Collection; import java.util.List; import java.util.ServiceLoader; -import org.apache.apex.engine.api.PluginLocator; +import org.apache.apex.engine.api.plugin.PluginLocator; import org.apache.hadoop.conf.Configuration; public class ServiceLoaderBasedPluginLocator<T> implements PluginLocator<T> http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/main/java/org/apache/apex/engine/plugin/loaders/StaticPluginLocator.java ---------------------------------------------------------------------- diff --git a/engine/src/main/java/org/apache/apex/engine/plugin/loaders/StaticPluginLocator.java b/engine/src/main/java/org/apache/apex/engine/plugin/loaders/StaticPluginLocator.java index f6b0dfc..4767196 100644 --- a/engine/src/main/java/org/apache/apex/engine/plugin/loaders/StaticPluginLocator.java +++ b/engine/src/main/java/org/apache/apex/engine/plugin/loaders/StaticPluginLocator.java @@ -24,7 +24,7 @@ import java.util.Collection; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.apex.engine.api.PluginLocator; +import org.apache.apex.engine.api.plugin.PluginLocator; import org.apache.hadoop.conf.Configuration; public class StaticPluginLocator<T> implements PluginLocator<T> http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/test/java/com/datatorrent/stram/plan/logical/PropertyInjectorVisitor.java ---------------------------------------------------------------------- diff --git a/engine/src/test/java/com/datatorrent/stram/plan/logical/PropertyInjectorVisitor.java b/engine/src/test/java/com/datatorrent/stram/plan/logical/PropertyInjectorVisitor.java index d2bd927..4c8b4e5 100644 --- a/engine/src/test/java/com/datatorrent/stram/plan/logical/PropertyInjectorVisitor.java +++ b/engine/src/test/java/com/datatorrent/stram/plan/logical/PropertyInjectorVisitor.java @@ -27,7 +27,7 @@ import javax.validation.ValidationException; import org.slf4j.Logger; -import org.apache.apex.api.DAGSetupPlugin; +import org.apache.apex.api.plugin.DAGSetupPlugin; import com.datatorrent.api.DAG; import com.datatorrent.api.Operator; http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/test/java/org/apache/apex/engine/plugin/DebugPlugin.java ---------------------------------------------------------------------- diff --git a/engine/src/test/java/org/apache/apex/engine/plugin/DebugPlugin.java b/engine/src/test/java/org/apache/apex/engine/plugin/DebugPlugin.java index 6ad8073..4a64b10 100644 --- a/engine/src/test/java/org/apache/apex/engine/plugin/DebugPlugin.java +++ b/engine/src/test/java/org/apache/apex/engine/plugin/DebugPlugin.java @@ -22,16 +22,16 @@ import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import org.apache.apex.engine.api.DAGExecutionPlugin; -import org.apache.apex.engine.api.DAGExecutionPluginContext; -import org.apache.apex.engine.api.DAGExecutionPluginContext.Handler; +import org.apache.apex.engine.api.plugin.DAGExecutionPlugin; +import org.apache.apex.engine.api.plugin.DAGExecutionPluginContext; +import org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.Handler; import com.datatorrent.stram.api.StramEvent; import com.datatorrent.stram.api.StreamingContainerUmbilicalProtocol; -import static org.apache.apex.engine.api.DAGExecutionPluginContext.COMMIT_EVENT; -import static org.apache.apex.engine.api.DAGExecutionPluginContext.HEARTBEAT; -import static org.apache.apex.engine.api.DAGExecutionPluginContext.STRAM_EVENT; +import static org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.COMMIT_EVENT; +import static org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.HEARTBEAT; +import static org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.STRAM_EVENT; public class DebugPlugin implements DAGExecutionPlugin { http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/test/java/org/apache/apex/engine/plugin/NoOpPlugin.java ---------------------------------------------------------------------- diff --git a/engine/src/test/java/org/apache/apex/engine/plugin/NoOpPlugin.java b/engine/src/test/java/org/apache/apex/engine/plugin/NoOpPlugin.java index 4aad641..786e0d6 100644 --- a/engine/src/test/java/org/apache/apex/engine/plugin/NoOpPlugin.java +++ b/engine/src/test/java/org/apache/apex/engine/plugin/NoOpPlugin.java @@ -21,8 +21,8 @@ package org.apache.apex.engine.plugin; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.apex.engine.api.DAGExecutionPlugin; -import org.apache.apex.engine.api.DAGExecutionPluginContext; +import org.apache.apex.engine.api.plugin.DAGExecutionPlugin; +import org.apache.apex.engine.api.plugin.DAGExecutionPluginContext; public class NoOpPlugin implements DAGExecutionPlugin { http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/test/java/org/apache/apex/engine/plugin/PluginTests.java ---------------------------------------------------------------------- diff --git a/engine/src/test/java/org/apache/apex/engine/plugin/PluginTests.java b/engine/src/test/java/org/apache/apex/engine/plugin/PluginTests.java index 4848983..fda607f 100644 --- a/engine/src/test/java/org/apache/apex/engine/plugin/PluginTests.java +++ b/engine/src/test/java/org/apache/apex/engine/plugin/PluginTests.java @@ -24,7 +24,7 @@ import java.util.concurrent.TimeUnit; import org.junit.Assert; import org.junit.Test; -import org.apache.apex.engine.api.DAGExecutionPlugin; +import org.apache.apex.engine.api.plugin.DAGExecutionPlugin; import org.apache.apex.engine.plugin.loaders.ChainedPluginLocator; import org.apache.apex.engine.plugin.loaders.ServiceLoaderBasedPluginLocator; import org.apache.apex.engine.plugin.loaders.StaticPluginLocator; @@ -35,9 +35,9 @@ import com.datatorrent.stram.api.StramEvent; import com.datatorrent.stram.api.StreamingContainerUmbilicalProtocol; import com.datatorrent.stram.support.StramTestSupport; -import static org.apache.apex.engine.api.DAGExecutionPluginContext.COMMIT_EVENT; -import static org.apache.apex.engine.api.DAGExecutionPluginContext.HEARTBEAT; -import static org.apache.apex.engine.api.DAGExecutionPluginContext.STRAM_EVENT; +import static org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.COMMIT_EVENT; +import static org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.HEARTBEAT; +import static org.apache.apex.engine.api.plugin.DAGExecutionPluginContext.STRAM_EVENT; public class PluginTests { http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/test/resources/META-INF/services/org.apache.apex.engine.api.DAGExecutionPlugin ---------------------------------------------------------------------- diff --git a/engine/src/test/resources/META-INF/services/org.apache.apex.engine.api.DAGExecutionPlugin b/engine/src/test/resources/META-INF/services/org.apache.apex.engine.api.DAGExecutionPlugin deleted file mode 100644 index cd70a45..0000000 --- a/engine/src/test/resources/META-INF/services/org.apache.apex.engine.api.DAGExecutionPlugin +++ /dev/null @@ -1,19 +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. -# -org.apache.apex.engine.plugin.DebugPlugin http://git-wip-us.apache.org/repos/asf/apex-core/blob/25e4c4c5/engine/src/test/resources/META-INF/services/org.apache.apex.engine.api.plugin.DAGExecutionPlugin ---------------------------------------------------------------------- diff --git a/engine/src/test/resources/META-INF/services/org.apache.apex.engine.api.plugin.DAGExecutionPlugin b/engine/src/test/resources/META-INF/services/org.apache.apex.engine.api.plugin.DAGExecutionPlugin new file mode 100644 index 0000000..cd70a45 --- /dev/null +++ b/engine/src/test/resources/META-INF/services/org.apache.apex.engine.api.plugin.DAGExecutionPlugin @@ -0,0 +1,19 @@ +## +# 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. +# +org.apache.apex.engine.plugin.DebugPlugin
