You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by ch...@apache.org on 2015/09/24 07:27:48 UTC
[1/2] incubator-apex-core git commit: APEX-103 - Add module and dag
interface in API
Repository: incubator-apex-core
Updated Branches:
refs/heads/feature-module 507fac34b -> 68183f5f8
APEX-103 - Add module and dag interface in API
Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/commit/77c09aa1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/tree/77c09aa1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/diff/77c09aa1
Branch: refs/heads/feature-module
Commit: 77c09aa168065b0f368c4488e90efa4bcd328e5b
Parents: 507fac3
Author: Vlad Rozov <v....@datatorrent.com>
Authored: Wed Sep 23 20:30:51 2015 -0700
Committer: Vlad Rozov <v....@datatorrent.com>
Committed: Wed Sep 23 20:30:51 2015 -0700
----------------------------------------------------------------------
api/src/main/java/com/datatorrent/api/DAG.java | 24 +++++++++++++++++++
.../main/java/com/datatorrent/api/Module.java | 25 ++++++++++++++++++++
.../stram/plan/logical/LogicalPlan.java | 24 +++++++++++++++++++
3 files changed, 73 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/77c09aa1/api/src/main/java/com/datatorrent/api/DAG.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/com/datatorrent/api/DAG.java b/api/src/main/java/com/datatorrent/api/DAG.java
index 9c6c492..35cb2c4 100644
--- a/api/src/main/java/com/datatorrent/api/DAG.java
+++ b/api/src/main/java/com/datatorrent/api/DAG.java
@@ -17,6 +17,8 @@ package com.datatorrent.api;
import java.io.Serializable;
+import org.apache.hadoop.classification.InterfaceStability;
+
import com.datatorrent.api.Context.DAGContext;
/**
@@ -154,6 +156,16 @@ public interface DAG extends DAGContext, Serializable
public OutputPortMeta getMeta(Operator.OutputPort<?> port);
}
+ @InterfaceStability.Evolving
+ interface ModuleMeta extends Serializable, Context
+ {
+ String getName();
+
+ InputPortMeta getMeta(Operator.InputPort<?> port);
+ OutputPortMeta getMeta(Operator.OutputPort<?> port);
+
+ }
+
/**
* Add new instance of operator under given name to the DAG.
* The operator class must have a default constructor.
@@ -176,6 +188,12 @@ public interface DAG extends DAGContext, Serializable
*/
public abstract <T extends Operator> T addOperator(String name, T operator);
+ @InterfaceStability.Evolving
+ <T extends Module> T addModule(String name, Class<T> moduleClass);
+
+ @InterfaceStability.Evolving
+ <T extends Module> T addModule(String name, T module);
+
/**
* <p>addStream.</p>
* @param id Identifier of the stream that will be used to identify stream in DAG
@@ -253,9 +271,15 @@ public interface DAG extends DAGContext, Serializable
*/
public abstract OperatorMeta getOperatorMeta(String operatorId);
+ @InterfaceStability.Evolving
+ ModuleMeta getModuleMeta(String moduleId);
+
/**
* <p>getMeta.</p>
*/
public abstract OperatorMeta getMeta(Operator operator);
+ @InterfaceStability.Evolving
+ ModuleMeta getMeta(Module module);
+
}
http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/77c09aa1/api/src/main/java/com/datatorrent/api/Module.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/com/datatorrent/api/Module.java b/api/src/main/java/com/datatorrent/api/Module.java
new file mode 100644
index 0000000..24a02a3
--- /dev/null
+++ b/api/src/main/java/com/datatorrent/api/Module.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (C) 2015 DataTorrent, Inc.
+ *
+ * Licensed 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.api;
+
+import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.conf.Configuration;
+
+@InterfaceStability.Evolving
+public interface Module
+{
+ void populateDAG(DAG dag, Configuration conf);
+}
http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/77c09aa1/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlan.java
----------------------------------------------------------------------
diff --git a/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlan.java b/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlan.java
index 94d18ba..ad4c8bb 100644
--- a/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlan.java
+++ b/engine/src/main/java/com/datatorrent/stram/plan/logical/LogicalPlan.java
@@ -1075,6 +1075,18 @@ public class LogicalPlan implements Serializable, DAG
return operator;
}
+ @Override
+ public <T extends Module> T addModule(String name, Class<T> moduleClass)
+ {
+ throw new UnsupportedOperationException("Modules are not supported");
+ }
+
+ @Override
+ public <T extends Module> T addModule(String name, T module)
+ {
+ throw new UnsupportedOperationException("Modules are not supported");
+ }
+
public void removeOperator(Operator operator)
{
OperatorMeta om = getMeta(operator);
@@ -1227,6 +1239,12 @@ public class LogicalPlan implements Serializable, DAG
}
@Override
+ public ModuleMeta getModuleMeta(String moduleName)
+ {
+ throw new UnsupportedOperationException("Modules are not supported");
+ }
+
+ @Override
public OperatorMeta getMeta(Operator operator)
{
// TODO: cache mapping
@@ -1238,6 +1256,12 @@ public class LogicalPlan implements Serializable, DAG
throw new IllegalArgumentException("Operator not associated with the DAG: " + operator);
}
+ @Override
+ public ModuleMeta getMeta(Module module)
+ {
+ throw new UnsupportedOperationException("Modules are not supported");
+ }
+
public int getMaxContainerCount()
{
return this.getValue(CONTAINERS_MAX_COUNT);
[2/2] incubator-apex-core git commit: Merge branch 'feature-module'
of github.com:vrozov/incubator-apex-core into vrozov-feature-module
Posted by ch...@apache.org.
Merge branch 'feature-module' of github.com:vrozov/incubator-apex-core into vrozov-feature-module
Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/commit/68183f5f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/tree/68183f5f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/diff/68183f5f
Branch: refs/heads/feature-module
Commit: 68183f5f84f1da48e4ddea3ab44fd14e4f0218d0
Parents: 507fac3 77c09aa
Author: Chetan Narsude <ch...@datatorrent.com>
Authored: Wed Sep 23 22:03:10 2015 -0700
Committer: Chetan Narsude <ch...@datatorrent.com>
Committed: Wed Sep 23 22:03:10 2015 -0700
----------------------------------------------------------------------
api/src/main/java/com/datatorrent/api/DAG.java | 24 +++++++++++++++++++
.../main/java/com/datatorrent/api/Module.java | 25 ++++++++++++++++++++
.../stram/plan/logical/LogicalPlan.java | 24 +++++++++++++++++++
3 files changed, 73 insertions(+)
----------------------------------------------------------------------