Make storm.Config don't extend heron.api.Config (#1842)

* make storm.Config don't extend heron.api.Config
diff --git a/heron/examples/src/java/com/twitter/heron/examples/AckingTopology.java b/heron/examples/src/java/com/twitter/heron/examples/AckingTopology.java
index 68b7393..7b312fc 100644
--- a/heron/examples/src/java/com/twitter/heron/examples/AckingTopology.java
+++ b/heron/examples/src/java/com/twitter/heron/examples/AckingTopology.java
@@ -57,11 +57,11 @@
     conf.setMaxSpoutPending(1000 * 1000 * 1000);
 
     // To enable acking, we need to setEnableAcking true
-    conf.setEnableAcking(true);
+    conf.setNumAckers(1);
     conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, "-XX:+HeapDumpOnOutOfMemoryError");
 
     // Set the number of workers or stream managers
-    conf.setNumStmgrs(1);
+    conf.setNumWorkers(1);
     StormSubmitter.submitTopology(args[0], conf, builder.createTopology());
   }
 
diff --git a/heron/examples/src/java/com/twitter/heron/examples/ComponentJVMOptionsTopology.java b/heron/examples/src/java/com/twitter/heron/examples/ComponentJVMOptionsTopology.java
index a429842..176e03d 100644
--- a/heron/examples/src/java/com/twitter/heron/examples/ComponentJVMOptionsTopology.java
+++ b/heron/examples/src/java/com/twitter/heron/examples/ComponentJVMOptionsTopology.java
@@ -48,19 +48,19 @@
     Config conf = new Config();
     conf.setDebug(true);
     conf.setMaxSpoutPending(10);
-    conf.setComponentRam("word", ByteAmount.fromMegabytes(500));
-    conf.setComponentRam("exclaim1", ByteAmount.fromGigabytes(1));
+    com.twitter.heron.api.Config.setComponentRam(conf, "word", ByteAmount.fromMegabytes(500));
+    com.twitter.heron.api.Config.setComponentRam(conf, "exclaim1", ByteAmount.fromGigabytes(1));
 
     // TOPOLOGY_WORKER_CHILDOPTS will be a global one
     conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, "-XX:+HeapDumpOnOutOfMemoryError");
 
     // For each component, both the global and if any the component one will be appended.
     // And the component one will take precedence
-    conf.setComponentJvmOptions("word", "-XX:NewSize=300m");
-    conf.setComponentJvmOptions("exclaim1", "-XX:NewSize=800m");
+    com.twitter.heron.api.Config.setComponentJvmOptions(conf, "word", "-XX:NewSize=300m");
+    com.twitter.heron.api.Config.setComponentJvmOptions(conf, "exclaim1", "-XX:NewSize=800m");
 
     if (args != null && args.length > 0) {
-      conf.setNumStmgrs(1);
+      conf.setNumWorkers(1);
       StormSubmitter.submitTopology(args[0], conf, builder.createTopology());
     } else {
       LocalCluster cluster = new LocalCluster();
diff --git a/heron/examples/src/java/com/twitter/heron/examples/CustomGroupingTopology.java b/heron/examples/src/java/com/twitter/heron/examples/CustomGroupingTopology.java
index 0c95430..1ac7610 100644
--- a/heron/examples/src/java/com/twitter/heron/examples/CustomGroupingTopology.java
+++ b/heron/examples/src/java/com/twitter/heron/examples/CustomGroupingTopology.java
@@ -47,7 +47,7 @@
 
     Config conf = new Config();
 
-    conf.setNumStmgrs(1);
+    conf.setNumWorkers(1);
     StormSubmitter.submitTopology(args[0], conf, builder.createTopology());
   }
 
diff --git a/heron/examples/src/java/com/twitter/heron/examples/ExclamationTopology.java b/heron/examples/src/java/com/twitter/heron/examples/ExclamationTopology.java
index 47d768c..4772552 100644
--- a/heron/examples/src/java/com/twitter/heron/examples/ExclamationTopology.java
+++ b/heron/examples/src/java/com/twitter/heron/examples/ExclamationTopology.java
@@ -51,14 +51,15 @@
     Config conf = new Config();
     conf.setDebug(true);
     conf.setMaxSpoutPending(10);
+    conf.setMessageTimeoutSecs(600);
     conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, "-XX:+HeapDumpOnOutOfMemoryError");
-    conf.setComponentRam("word", ByteAmount.fromGigabytes(3));
-    conf.setComponentRam("exclaim1", ByteAmount.fromGigabytes(3));
-    conf.setContainerDiskRequested(ByteAmount.fromGigabytes(5));
-    conf.setContainerCpuRequested(5);
+    com.twitter.heron.api.Config.setComponentRam(conf, "word", ByteAmount.fromGigabytes(3));
+    com.twitter.heron.api.Config.setComponentRam(conf, "exclaim1", ByteAmount.fromGigabytes(3));
+    com.twitter.heron.api.Config.setContainerDiskRequested(conf, ByteAmount.fromGigabytes(5));
+    com.twitter.heron.api.Config.setContainerCpuRequested(conf, 5);
 
     if (args != null && args.length > 0) {
-      conf.setNumStmgrs(parallelism);
+      conf.setNumWorkers(parallelism);
       StormSubmitter.submitTopology(args[0], conf, builder.createTopology());
     } else {
       System.out.println("Topology name not provided as an argument, running in simulator mode.");
diff --git a/heron/examples/src/java/com/twitter/heron/examples/MultiSpoutExclamationTopology.java b/heron/examples/src/java/com/twitter/heron/examples/MultiSpoutExclamationTopology.java
index 0665dcd..9a145ba 100644
--- a/heron/examples/src/java/com/twitter/heron/examples/MultiSpoutExclamationTopology.java
+++ b/heron/examples/src/java/com/twitter/heron/examples/MultiSpoutExclamationTopology.java
@@ -55,13 +55,13 @@
     conf.setDebug(true);
     conf.setMaxSpoutPending(10);
     conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, "-XX:+HeapDumpOnOutOfMemoryError");
-    conf.setComponentRam("word0", ByteAmount.fromMegabytes(500));
-    conf.setComponentRam("word1", ByteAmount.fromMegabytes(500));
-    conf.setComponentRam("word2", ByteAmount.fromMegabytes(500));
-    conf.setComponentRam("exclaim1", ByteAmount.fromGigabytes(1));
+    com.twitter.heron.api.Config.setComponentRam(conf, "word0", ByteAmount.fromMegabytes(500));
+    com.twitter.heron.api.Config.setComponentRam(conf, "word1", ByteAmount.fromMegabytes(500));
+    com.twitter.heron.api.Config.setComponentRam(conf, "word2", ByteAmount.fromMegabytes(500));
+    com.twitter.heron.api.Config.setComponentRam(conf, "exclaim1", ByteAmount.fromGigabytes(1));
 
     if (args != null && args.length > 0) {
-      conf.setNumStmgrs(1);
+      conf.setNumWorkers(1);
       StormSubmitter.submitTopology(args[0], conf, builder.createTopology());
     } else {
       LocalCluster cluster = new LocalCluster();
diff --git a/heron/examples/src/java/com/twitter/heron/examples/MultiStageAckingTopology.java b/heron/examples/src/java/com/twitter/heron/examples/MultiStageAckingTopology.java
index 5517fe9c..edcc0af 100644
--- a/heron/examples/src/java/com/twitter/heron/examples/MultiStageAckingTopology.java
+++ b/heron/examples/src/java/com/twitter/heron/examples/MultiStageAckingTopology.java
@@ -59,10 +59,10 @@
     conf.setMaxSpoutPending(1000 * 1000 * 1000);
 
     // To enable acking, we need to setEnableAcking true
-    conf.setEnableAcking(true);
+    conf.setNumAckers(1);
 
     conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, "-XX:+HeapDumpOnOutOfMemoryError");
-    conf.setNumStmgrs(1);
+    conf.setNumWorkers(1);
     StormSubmitter.submitTopology(args[0], conf, builder.createTopology());
   }
 
diff --git a/heron/examples/src/java/com/twitter/heron/examples/SentenceWordCountTopology.java b/heron/examples/src/java/com/twitter/heron/examples/SentenceWordCountTopology.java
index 6f75579..01ed483 100644
--- a/heron/examples/src/java/com/twitter/heron/examples/SentenceWordCountTopology.java
+++ b/heron/examples/src/java/com/twitter/heron/examples/SentenceWordCountTopology.java
@@ -173,11 +173,11 @@
     builder.setBolt("count", new WordCount(), 2).fieldsGrouping("split", new Fields("word"));
 
     Config conf = new Config();
-    conf.setComponentRam("split", ByteAmount.fromGigabytes(2));
-    conf.setComponentRam("count", ByteAmount.fromGigabytes(3));
+    com.twitter.heron.api.Config.setComponentRam(conf, "split", ByteAmount.fromGigabytes(2));
+    com.twitter.heron.api.Config.setComponentRam(conf, "count", ByteAmount.fromGigabytes(3));
     conf.setNumWorkers(1);
-    conf.setContainerDiskRequested(ByteAmount.fromGigabytes(5));
-    conf.setContainerCpuRequested(8);
+    com.twitter.heron.api.Config.setContainerDiskRequested(conf, ByteAmount.fromGigabytes(5));
+    com.twitter.heron.api.Config.setContainerCpuRequested(conf, 8);
 
     StormSubmitter.submitTopology(name, conf, builder.createTopology());
   }
diff --git a/heron/examples/src/java/com/twitter/heron/examples/TaskHookTopology.java b/heron/examples/src/java/com/twitter/heron/examples/TaskHookTopology.java
index 8af8d42..a43dcdd 100644
--- a/heron/examples/src/java/com/twitter/heron/examples/TaskHookTopology.java
+++ b/heron/examples/src/java/com/twitter/heron/examples/TaskHookTopology.java
@@ -62,15 +62,15 @@
     // Put an arbitrary large number here if you don't want to slow the topology down
     conf.setMaxSpoutPending(1000 * 1000 * 1000);
     // To enable acking, we need to setEnableAcking true
-    conf.setEnableAcking(true);
+    conf.setNumAckers(1);
     conf.put(Config.TOPOLOGY_WORKER_CHILDOPTS, "-XX:+HeapDumpOnOutOfMemoryError");
 
     // Set the task hook
     List<String> taskHooks = new LinkedList<>();
     taskHooks.add("com.twitter.heron.examples.TaskHookTopology$TestTaskHook");
-    conf.setAutoTaskHooks(taskHooks);
+    com.twitter.heron.api.Config.setAutoTaskHooks(conf, taskHooks);
 
-    conf.setNumStmgrs(1);
+    conf.setNumWorkers(1);
     StormSubmitter.submitTopology(args[0], conf, builder.createTopology());
   }
 
diff --git a/heron/examples/src/java/com/twitter/heron/examples/WordCountTopology.java b/heron/examples/src/java/com/twitter/heron/examples/WordCountTopology.java
index 270f425..01a0a3c 100644
--- a/heron/examples/src/java/com/twitter/heron/examples/WordCountTopology.java
+++ b/heron/examples/src/java/com/twitter/heron/examples/WordCountTopology.java
@@ -175,14 +175,14 @@
     builder.setBolt("consumer", new ConsumerBolt(), parallelism)
         .fieldsGrouping("word", new Fields("word"));
     Config conf = new Config();
-    conf.setNumStmgrs(parallelism);
+    conf.setNumWorkers(parallelism);
 
     /*
     Set config here
     */
-    conf.setComponentRam("word", ByteAmount.fromGigabytes(2));
-    conf.setComponentRam("consumer", ByteAmount.fromGigabytes(3));
-    conf.setContainerCpuRequested(6);
+    com.twitter.heron.api.Config.setComponentRam(conf, "word", ByteAmount.fromGigabytes(2));
+    com.twitter.heron.api.Config.setComponentRam(conf, "consumer", ByteAmount.fromGigabytes(3));
+    com.twitter.heron.api.Config.setContainerCpuRequested(conf, 6);
 
     StormSubmitter.submitTopology(args[0], conf, builder.createTopology());
   }
diff --git a/heron/storm/src/java/backtype/storm/Config.java b/heron/storm/src/java/backtype/storm/Config.java
index 27cdf3d..73ab743 100644
--- a/heron/storm/src/java/backtype/storm/Config.java
+++ b/heron/storm/src/java/backtype/storm/Config.java
@@ -44,7 +44,7 @@
  * Spouts.
  */
 @SuppressWarnings({"rawtypes", "unchecked"})
-public class Config extends com.twitter.heron.api.Config {
+public class Config extends HashMap<String, Object> {
   private static final long serialVersionUID = 2282398261811468412L;
 
   /**
diff --git a/heron/storm/src/java/org/apache/storm/Config.java b/heron/storm/src/java/org/apache/storm/Config.java
index 61bce1d..e226a1c 100644
--- a/heron/storm/src/java/org/apache/storm/Config.java
+++ b/heron/storm/src/java/org/apache/storm/Config.java
@@ -44,7 +44,7 @@
  * Spouts. .</p>
  */
 @SuppressWarnings({"rawtypes", "unchecked"})
-public class Config extends com.twitter.heron.api.Config {
+public class Config extends HashMap<String, Object> {
   private static final long serialVersionUID = 4781760255471579334L;
 
   /**