Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-2270

Need API to call gfsh and get results dynamically from code

    XMLWordPrintableJSON

    Details

      Description

      GIVEN:
      1) The GfshParser and CommandResult are internal classes.
      2) CommandResult returns headings, line.separator's and UI concerns along with the answer

      WHEN:
      I pass a gfsh command into a public gfsh API from code

      THEN:
      I get back an XML or JSON representation of the core results without the headings, line.separator's and UI concerns

      EXAMPLE (idea node and not actual implementation):
      WHEN:
      String gfshResults = gfshPublicAPI("list regions");
      return gfshResults;

      String gfshPublicAPI(String gfshCommand)

      { ParseResult parseResult = gfshParser.parse(gfshCommand); String results = (String) parseResult.getMethod()+"Json" .invoke(parseResult.getInstance(), parseResult.getArguments()) return results; }

      CommandResult gfshInternalAPI(String gfshCommand)

      { ParseResult parseResult = gfshParser.parse(gfshCommand); CommandResult results = (CommandResult) parseResult.getMethod() .invoke(parseResult.getInstance(), parseResult.getArguments()) return results; }

      Another option is to include a new property --output=json into gfsh commands that return the core results without the UI concerns, per Anthony Baker's comment on Fri, 04 Nov, 20:31 at: https://mail-archives.apache.org/mod_mbox/incubator-geode-dev/201611.mbox/browser

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              wwilliams Wes Williams
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: