Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-2686

Move writeJson() methods from PhysicalPlanReader to corresponding classes

    XMLWordPrintableJSON

Details

    Description

      From Chris's comment https://reviews.apache.org/r/32795/

      It would have been better to have a writeJson(ObjectMapper) method added to each of OptionList, PhysicalOperator, and ExecutionControls, and for PhysicalPlanReader just to have a getMapper() that is used to get the argument needed for those. In that form, we don't have to add a new method to PhysicalPlanReader for each thing that we want to add to it. We just get its mapper and write whatever it is to it.

      We'd have

      final ObjectMapper mapper = reader.getMapper();
      options.writeJson(mapper);
      executionControls.writeJson(mapper);
      

      So as we add more things to the plan, we don't have to add more methods to it. Each object knows how to write itself, given the mapper. And if we ever need to add them to anything else, that object just needs to expose its mapper in a similar way, rather than having a method per item.

      Attachments

        Activity

          People

            Unassigned Unassigned
            sudheeshkatkam Sudheesh Katkam
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: