Interface EndpointResponseMerger

All Known Implementing Classes:
AbstractNodeStatusEndpoint, AbstractSingleDTOEndpoint, AbstractSingleEntityEndpoint, AccessPolicyEndpointMerger, AnalyzeFlowRequestEndpointMerger, BulletinBoardEndpointMerger, ComponentStateEndpointMerger, ConnectionEndpointMerger, ConnectionsEndpointMerger, ConnectionStatusEndpointMerger, ControllerBulletinsEndpointMerger, ControllerConfigurationEndpointMerger, ControllerEndpointMerger, ControllerServiceEndpointMerger, ControllerServiceReferenceEndpointMerger, ControllerServicesEndpointMerger, ControllerServiceTypesEndpointMerger, ControllerStatusEndpointMerger, CountersEndpointMerger, CurrentUserEndpointMerger, DropAllFlowFilesRequestEndpointMerger, DropRequestEndpointMerger, FlowAnalysisEndpointMerger, FlowAnalysisRuleEndpointMerger, FlowAnalysisRulesEndpointMerger, FlowAnalysisRuleTypesEndpointMerger, FlowConfigurationEndpointMerger, FlowMerger, FlowRegistryClientEndpointMerger, FlowRegistryClientsEndpointMerger, FlowRepositoryClientTypesEndpointMerger, FlowSnippetEndpointMerger, FunnelEndpointMerger, FunnelsEndpointMerger, GroupStatusEndpointMerger, InputPortsEndpointMerger, LabelEndpointMerger, LabelsEndpointMerger, ListFlowFilesEndpointMerger, OutputPortsEndpointMerger, ParameterContextEndpointMerger, ParameterContextsEndpointMerger, ParameterContextUpdateEndpointMerger, ParameterContextValidationMerger, ParameterProviderEndpointMerger, ParameterProviderFetchRequestsEndpointMerger, ParameterProvidersEndpointMerger, ParameterProviderTypesEndpointMerger, PortEndpointMerger, PortStatusEndpointMerger, PrioritizerTypesEndpointMerger, ProcessGroupEndpointMerger, ProcessGroupsEndpointMerger, ProcessorDiagnosticsEndpointMerger, ProcessorEndpointMerger, ProcessorRunStatusDetailsEndpointMerger, ProcessorsEndpointMerger, ProcessorStatusEndpointMerger, ProcessorTypesEndpointMerger, ProvenanceEventEndpointMerger, ProvenanceQueryEndpointMerger, RemoteProcessGroupEndpointMerger, RemoteProcessGroupsEndpointMerger, RemoteProcessGroupStatusEndpointMerger, ReplayLastEventEndpointMerger, ReportingTaskEndpointMerger, ReportingTasksEndpointMerger, ReportingTaskTypesEndpointMerger, RuleViolationEndpointMerger, RuntimeManifestEndpointMerger, SearchUsersEndpointMerger, StatusHistoryEndpointMerger, SystemDiagnosticsEndpointMerger, UserEndpointMerger, UserGroupEndpointMerger, UserGroupsEndpointMerger, UsersEndpointMerger, VerifyConfigEndpointMerger, VersionControlInformationEndpointMerger

public interface EndpointResponseMerger

Maps a set of NodeResponses to a single NodeResponse for a specific REST Endpoint.

Implementations of this interface MUST be Thread-Safe.

  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    canHandle(URI uri, String method)
    Indicates whether or not this EndpointResponseMapper can handle mapping responses for the given URI and HTTP Method
    merge(URI uri, String method, Set<NodeResponse> successfulResponses, Set<NodeResponse> problematicResponses, NodeResponse clientResponse)
    Maps the given Node Responses to a single NodeResponse that is appropriate to return to the client/user
  • Method Details

    • canHandle

      boolean canHandle(URI uri, String method)
      Indicates whether or not this EndpointResponseMapper can handle mapping responses for the given URI and HTTP Method
      Parameters:
      uri - the URI of the endpoint
      method - the HTTP Method used to interact with the endpoint
      Returns:
      true if the EndpointResponseMapper can handle mapping responses for the endpoint described by the given URI and HTTP Method
    • merge

      NodeResponse merge(URI uri, String method, Set<NodeResponse> successfulResponses, Set<NodeResponse> problematicResponses, NodeResponse clientResponse)
      Maps the given Node Responses to a single NodeResponse that is appropriate to return to the client/user
      Parameters:
      uri - the URI of the REST Endpoint
      method - the HTTP Method used to interact with the REST Endpoint
      successfulResponses - the responses from nodes that were successful in handling the request
      problematicResponses - the responses from nodes that were not successful in handling the request
      clientResponse - the response that was chosen to be returned to the client
      Returns:
      a NodeResponse that is appropriate to return to the client/user