Wenqin Wang created GOBBLIN-1323:
------------------------------------

             Summary: make columnListInQuery in RestApiExtractor overridable in 
child class for Dynamics Extractor
                 Key: GOBBLIN-1323
                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1323
             Project: Apache Gobblin
          Issue Type: Bug
          Components: gobblin-core
            Reporter: Wenqin Wang
            Assignee: Abhishek Tiwari


Recently we've discovered that in our Dynamics ingestion pipeline, we would not 
remove invalid fields in our query before pulling data for dynamics entities, 
and therefore gobblin ingestion would fail due to field not found error. This 
feature is implemented for Salesforce in RestApiExtrator.java, and the logic is 
specifically tailored for Salesforce. Therefore i'm proposing some changes and 
hope to get Gobblin dev's guidance and reviews.

For Dynamics, to enable this feature, here is the solution that I think works 
the best:
since the query looks different from Salesforce query, we need to change the 
way we extract fields from client-specified-query. I will make a protected 
method in RestApiExtractor.java to wrap this Utils.getColumnListFromQuery, and 
override it in DynamicsExtractor.java (the child class) to write specific logic 
for dynamics use case. After that, we can override the buildDataQuery method in 
DynamicsExtractor.java ourselves to replace user-specified-query with validated 
fields. This way it would not affect other extractors.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to