You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@helix.apache.org by GitBox <gi...@apache.org> on 2019/07/25 00:03:51 UTC

[GitHub] [helix] i3wangyi commented on a change in pull request #357: [WIP] Add getWorkflows(long timeout) to TaskDriver.

i3wangyi commented on a change in pull request #357: [WIP] Add getWorkflows(long timeout) to TaskDriver.
URL: https://github.com/apache/helix/pull/357#discussion_r306578828
 
 

 ##########
 File path: helix-core/src/main/java/org/apache/helix/task/WorkflowConfig.java
 ##########
 @@ -322,6 +322,22 @@ public static WorkflowConfig fromHelixProperty(HelixProperty property)
     return Builder.fromMap(configs).setWorkflowId(property.getId()).build();
   }
 
+  /**
+   * Build a WorkflowConfig from a HelixProperty.
+   *
+   * @param property a HelixProperty
+   * @return a WorkflowConfig if the property is a valid WorkflowConfig.
+   *         Otherwise return null
+   */
+  public static WorkflowConfig parseWorkflowConfig(HelixProperty property)
+      throws IllegalArgumentException {
+    Map<String, String> configs = property.getRecord().getSimpleFields();
+    if (!configs.containsKey(WorkflowConfigProperty.Dag.name())) {
+      return null;
 
 Review comment:
   I'm in full support of using Optional.empty() instead of null. There're numerous articles on the internet saying NPE is a million-dollar mistake, the creation of Optional is just for solving the problem and the wrapper always reminds the developer the possibility of the object being empty. One can search for numerous supports online while the overhead of the optional object itself is simply negligible 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services