jack-moseley commented on a change in pull request #2890: [GOBBLIN-1050] Verify 
requester when updating/deleting FlowConfig
URL: https://github.com/apache/incubator-gobblin/pull/2890#discussion_r385403224
 
 

 ##########
 File path: 
gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-server/src/main/java/org/apache/gobblin/service/FlowConfigsResource.java
 ##########
 @@ -124,12 +124,38 @@ public UpdateResponse update(ComplexResourceKey<FlowId, 
EmptyRecord> key, FlowCo
    */
   @Override
   public UpdateResponse delete(ComplexResourceKey<FlowId, EmptyRecord> key) {
+    checkRequester(get(key), this.requesterService.findRequesters(this));
     String flowGroup = key.getKey().getFlowGroup();
     String flowName = key.getKey().getFlowName();
     FlowId flowId = new FlowId().setFlowGroup(flowGroup).setFlowName(flowName);
     return this.flowConfigsResourceHandler.deleteFlowConfig(flowId, 
getHeaders());
   }
 
+  /**
+   * Check that all {@link ServiceRequester}s in this request are contained 
within the original service requester list
+   * when the flow was submitted and throw a {@link FlowConfigLoggedException} 
if they are not.
+   *
+   * @param originalFlowConfig original flow config to find original requester
+   * @param requesterList list of requesters for this request
+   */
+  public static void checkRequester(FlowConfig originalFlowConfig, 
List<ServiceRequester> requesterList) {
 
 Review comment:
   I think I still prefer throwing exception in the method to avoid having to 
copy the throwing exception code to five places. I updated the javadoc to make 
the exceptions thrown more clear.

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to