Github user tweise commented on a diff in the pull request:
https://github.com/apache/incubator-apex-core/pull/148#discussion_r47044122
--- Diff: api/src/main/java/com/datatorrent/api/Module.java ---
@@ -21,8 +21,136 @@
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.conf.Configuration;
+import com.datatorrent.api.Context.PortContext;
+import com.datatorrent.api.Operator.InputPort;
+import com.datatorrent.api.Operator.OutputPort;
+import com.datatorrent.api.Operator.Unifier;
+
+/**
+ * A Module is a component which can be added to the DAG similar to the
operator,
+ * using addModule API. The module should implement populateDAG method,
which
+ * will be called by the platform, and DAG populated by the module will be
+ * replaced in place of the module.
+ *
+ */
@InterfaceStability.Evolving
public interface Module
{
void populateDAG(DAG dag, Configuration conf);
+
--- End diff --
Modules are developed independently and therefore not look for the same
key. This needs to be supported at the app configuration level and I believe
the is a JIRA for it. Example:
```
op1.prop.someschema = ${theschema}
op2.prop.anotherschema = ${theschema}
```
Having said that, the conf object can be useful for other purposes, such as
looking up Hadoop values and it is consistent with the StreamingApplication
interface.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---