Class JsonReporterHttpService


  • Constructor Details

  • Method Details

    • doPost

      public com.fasterxml.jackson.databind.node.ObjectNode doPost(Reporter reporter, String name, String type, com.fasterxml.jackson.databind.JsonNode data, JsonRequest request) throws JsonException
      Description copied from class: JsonNamedBeanHttpService
      Respond to an HTTP POST request for the requested name.
      Specified by:
      doPost in class JsonNamedBeanHttpService<Reporter>
      Parameters:
      reporter - the requested object
      name - the name of the requested object
      type - the type of the requested object
      data - data describing the requested object
      request - the JSON request
      Returns:
      a JSON description of the requested object
      Throws:
      JsonException - if an error occurs
    • doGet

      public com.fasterxml.jackson.databind.node.ObjectNode doGet(Reporter reporter, String name, String type, JsonRequest request) throws JsonException
      Description copied from class: JsonNamedBeanHttpService
      Respond to an HTTP GET request for the requested name.

      If name is null, return a list of all objects for the given type, if appropriate.

      This method should throw a 500 Internal Server Error if type is not recognized.

      Specified by:
      doGet in class JsonNamedBeanHttpService<Reporter>
      Parameters:
      reporter - the requested object
      name - the name of the requested object
      type - the type of the requested object
      request - the JSON request
      Returns:
      a JSON description of the requested object
      Throws:
      JsonException - if the named object does not exist or other error occurs
    • doDelete

      protected void doDelete(Reporter reporter, String name, String type, com.fasterxml.jackson.databind.JsonNode data, JsonRequest request) throws JsonException
      Description copied from class: JsonNamedBeanHttpService
      Delete the requested bean.

      This method must be overridden to allow a bean to be deleted. The simplest overriding method body is: deleteBean(bean, name, type, data, locale, id);

      Overrides:
      doDelete in class JsonNamedBeanHttpService<Reporter>
      Parameters:
      reporter - the bean to delete
      name - the named of the bean to delete
      type - the type of the bean to delete
      data - data describing the named bean
      request - the JSON request
      Throws:
      JsonException - if an error occurs
    • doSchema

      public com.fasterxml.jackson.databind.JsonNode doSchema(String type, boolean server, JsonRequest request) throws JsonException
      Description copied from class: JsonHttpService
      Get the JSON Schema for the data property of the requested type of JSON object. It is a invalid for implementations to not return a valid schema that clients can use to validate a request to or response from the JSON services.

      Note that a schema must be contained in a standard object as:

      {"type":"schema", "data":{"schema":<em>schema</em>, "server":boolean}}

      If using JsonHttpService.doSchema(String, boolean, String, String, int), an implementation can be as simple as: return doSchema(type, server, "path/to/client/schema.json", "path/to/server/schema.json", id);

      Specified by:
      doSchema in class JsonHttpService
      Parameters:
      type - the type for which a schema is requested
      server - true if the schema is for a message from the server; false if the schema is for a message from the client
      request - the JSON request
      Returns:
      a JSON Schema valid for the type
      Throws:
      JsonException - if an error occurs preparing schema; if type is is not a type handled by this service, this must be thrown with an error code of 500 and the localized message ERROR_UNKNOWN_TYPE
    • getProvidingManager

      Description copied from class: JsonNamedBeanHttpService
      Get the expected providing manager for the supported JSON type. This should normally be the default manager.
      Specified by:
      getProvidingManager in class JsonNamedBeanHttpService<Reporter>
      Returns:
      the providing manager
    • getType

      protected String getType()
      Description copied from class: JsonNamedBeanHttpService
      Get the JSON type supported by this service.
      Specified by:
      getType in class JsonNamedBeanHttpService<Reporter>
      Returns:
      the JSON type