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

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

            Dates

              Created:
              Updated:
              Resolved: