azkaban-aplcache

Address comments in PR#1525. (#1531)

10/12/2017 8:48:17 PM

Details

diff --git a/azkaban-common/src/main/java/azkaban/project/AzkabanFlow.java b/azkaban-common/src/main/java/azkaban/project/AzkabanFlow.java
index e2ad0c3..2dbbd5b 100644
--- a/azkaban-common/src/main/java/azkaban/project/AzkabanFlow.java
+++ b/azkaban-common/src/main/java/azkaban/project/AzkabanFlow.java
@@ -26,6 +26,10 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * Flow level definition of the DAG.
+ * Contains a list of AzkabanNodes and related flow properties.
+ */
 public class AzkabanFlow extends AzkabanNode {
 
   private final Map<String, AzkabanNode> nodes;
diff --git a/azkaban-common/src/main/java/azkaban/project/AzkabanJob.java b/azkaban-common/src/main/java/azkaban/project/AzkabanJob.java
index 03f78e2..64d109b 100644
--- a/azkaban-common/src/main/java/azkaban/project/AzkabanJob.java
+++ b/azkaban-common/src/main/java/azkaban/project/AzkabanJob.java
@@ -22,6 +22,10 @@ import com.google.common.collect.ImmutableList;
 import java.util.Collections;
 import java.util.List;
 
+/**
+ * The smallest individual unit of execution in Azkaban.
+ * Contains information about job type and related properties.
+ */
 public class AzkabanJob extends AzkabanNode {
 
   private final String type;
diff --git a/azkaban-common/src/main/java/azkaban/project/AzkabanNode.java b/azkaban-common/src/main/java/azkaban/project/AzkabanNode.java
index d25afb1..3e566dd 100644
--- a/azkaban-common/src/main/java/azkaban/project/AzkabanNode.java
+++ b/azkaban-common/src/main/java/azkaban/project/AzkabanNode.java
@@ -22,6 +22,9 @@ import static java.util.Objects.requireNonNull;
 import azkaban.utils.Props;
 import java.util.List;
 
+/**
+ * A unit of execution that could be either a job or a flow.
+ */
 public abstract class AzkabanNode {
 
   protected final String name;
diff --git a/azkaban-common/src/main/java/azkaban/project/DirectoryFlowLoader.java b/azkaban-common/src/main/java/azkaban/project/DirectoryFlowLoader.java
index a9388fa..e92dda9 100644
--- a/azkaban-common/src/main/java/azkaban/project/DirectoryFlowLoader.java
+++ b/azkaban-common/src/main/java/azkaban/project/DirectoryFlowLoader.java
@@ -42,6 +42,9 @@ import java.util.Set;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * Loads job and properties files to flows from project directory.
+ */
 public class DirectoryFlowLoader implements FlowLoader {
 
   private static final DirFilter DIR_FILTER = new DirFilter();
diff --git a/azkaban-common/src/main/java/azkaban/project/FlowLoader.java b/azkaban-common/src/main/java/azkaban/project/FlowLoader.java
index 18b9303..ce796da 100644
--- a/azkaban-common/src/main/java/azkaban/project/FlowLoader.java
+++ b/azkaban-common/src/main/java/azkaban/project/FlowLoader.java
@@ -19,6 +19,9 @@ package azkaban.project;
 import azkaban.project.validator.ValidationReport;
 import java.io.File;
 
+/**
+ * Interface to load project flows.
+ */
 public interface FlowLoader {
 
   /**
diff --git a/azkaban-common/src/main/java/azkaban/project/FlowLoaderUtils.java b/azkaban-common/src/main/java/azkaban/project/FlowLoaderUtils.java
index 16ca468..207e06f 100644
--- a/azkaban-common/src/main/java/azkaban/project/FlowLoaderUtils.java
+++ b/azkaban-common/src/main/java/azkaban/project/FlowLoaderUtils.java
@@ -26,6 +26,9 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+/**
+ * Utils to help load flows.
+ */
 public class FlowLoaderUtils {
 
   /**
diff --git a/azkaban-common/src/main/java/azkaban/project/NodeBeanLoader.java b/azkaban-common/src/main/java/azkaban/project/NodeBeanLoader.java
index d49dcc9..4f6bfc6 100644
--- a/azkaban-common/src/main/java/azkaban/project/NodeBeanLoader.java
+++ b/azkaban-common/src/main/java/azkaban/project/NodeBeanLoader.java
@@ -30,6 +30,9 @@ import java.util.Set;
 import java.util.stream.Collectors;
 import org.yaml.snakeyaml.Yaml;
 
+/**
+ * Loads NodeBean from YAML files.
+ */
 public class NodeBeanLoader {
 
   private static final String NODE_BEAN_TYPE_FLOW = "flow";
@@ -38,7 +41,10 @@ public class NodeBeanLoader {
     checkArgument(flowFile.exists());
     checkArgument(flowFile.getName().endsWith(Constants.FLOW_FILE_SUFFIX));
 
-    return new Yaml().loadAs(new FileInputStream(flowFile), NodeBean.class);
+    final NodeBean nodeBean = new Yaml().loadAs(new FileInputStream(flowFile), NodeBean.class);
+    nodeBean.setName(getFlowName(flowFile));
+    nodeBean.setType(NODE_BEAN_TYPE_FLOW);
+    return nodeBean;
   }
 
   public boolean validate(final NodeBean nodeBean) {
diff --git a/azkaban-common/src/test/resources/sample_flow.flow b/azkaban-common/src/test/resources/sample_flow.flow
index fa68e7d..689f9fe 100644
--- a/azkaban-common/src/test/resources/sample_flow.flow
+++ b/azkaban-common/src/test/resources/sample_flow.flow
@@ -1,6 +1,4 @@
 ---
-name: sample_flow
-type: flow
 # All flow level properties here
 config:
   flow-level-parameter: value
diff --git a/test/execution-test-data/basicflowyamltest/basic_flow.flow b/test/execution-test-data/basicflowyamltest/basic_flow.flow
index 2b9caba..689f9fe 100644
--- a/test/execution-test-data/basicflowyamltest/basic_flow.flow
+++ b/test/execution-test-data/basicflowyamltest/basic_flow.flow
@@ -1,6 +1,4 @@
 ---
-name: basic_flow
-type: flow
 # All flow level properties here
 config:
   flow-level-parameter: value
diff --git a/test/execution-test-data/embeddedflowyamltest/embedded_flow.flow b/test/execution-test-data/embeddedflowyamltest/embedded_flow.flow
index 7d8e54c..855ff3c 100644
--- a/test/execution-test-data/embeddedflowyamltest/embedded_flow.flow
+++ b/test/execution-test-data/embeddedflowyamltest/embedded_flow.flow
@@ -1,6 +1,4 @@
 ---
-name: embedded_flow
-type: flow
 config:
   flow-level-parameter: value
 
@@ -60,4 +58,4 @@ nodes:
       - name: shell_bash
         type: command
         config:
-          command: bash ./sample_script.sh
\ No newline at end of file
+          command: bash ./sample_script.sh
diff --git a/test/execution-test-data/multipleflowyamltest/basic_flow.flow b/test/execution-test-data/multipleflowyamltest/basic_flow.flow
index 2b9caba..689f9fe 100644
--- a/test/execution-test-data/multipleflowyamltest/basic_flow.flow
+++ b/test/execution-test-data/multipleflowyamltest/basic_flow.flow
@@ -1,6 +1,4 @@
 ---
-name: basic_flow
-type: flow
 # All flow level properties here
 config:
   flow-level-parameter: value
diff --git a/test/execution-test-data/multipleflowyamltest/basic_flow2.flow b/test/execution-test-data/multipleflowyamltest/basic_flow2.flow
index 01246c7..597d1b6 100644
--- a/test/execution-test-data/multipleflowyamltest/basic_flow2.flow
+++ b/test/execution-test-data/multipleflowyamltest/basic_flow2.flow
@@ -1,6 +1,4 @@
 ---
-name: basic_flow2
-type: flow
 # All flow level properties here
 config:
   flow-level-parameter: value